Halide 17.0.2
Halide compiler and libraries
Loading...
Searching...
No Matches
mini_d3d12.h
Go to the documentation of this file.
1#ifndef __mini_d3d12_h__
2#define __mini_d3d12_h__
3
4#ifdef __clang__
5// #define __stdcall __attribute__ ((stdcall))
6#pragma clang diagnostic push
7#pragma clang diagnostic ignored "-Wunknown-pragmas"
8#pragma clang diagnostic ignored "-Wunused-value"
9#define __export
10#ifndef _WIN32
11#define _WIN32 1
12#endif //_WIN32
13#ifdef BITS_64 // <- Halide back-end compilation flag (-DBITS_${j})
14#ifndef _WIN64
15#define _WIN64 1
16#endif //_WIN64
17#else
18#define _STDCALL_SUPPORTED
19#endif
20#endif
21
22#ifndef __midl
23#define __midl
24#endif //__midl
25
26/* sal.h */
27// Clear-out SAL macros (Source-code Annotation Language)
28#ifndef _In_
29#define _In_
30#endif //_In_
31
32#ifndef _In_z_
33#define _In_z_
34#endif //_In_z_
35
36#ifndef _In_opt_
37#define _In_opt_
38#endif //_In_opt_
39
40#ifndef _Out_
41#define _Out_
42#endif //_Out_
43
44#ifndef _Out_opt_
45#define _Out_opt_
46#endif //_Out_opt_
47
48#ifndef _Inout_
49#define _Inout_
50#endif //_Inout_
51
52#ifndef _Inout_opt_
53#define _Inout_opt_
54#endif //_Inout_opt_
55
56#ifndef _COM_Outptr_
57#define _COM_Outptr_
58#endif //_COM_Outptr_
59
60#ifndef _COM_Outptr_opt_
61#define _COM_Outptr_opt_
62#endif //_COM_Outptr_opt_
63
64#ifndef _Check_return_
65#define _Check_return_
66#endif //_Check_return_
67
68#ifndef _Null_terminated_
69#define _Null_terminated_
70#endif //_Null_terminated_
71
72#ifndef _Return_type_success_
73#define _Return_type_success_(expr)
74#endif //_Return_type_success_
75
76#ifndef _Post_equal_to_
77#define _Post_equal_to_(e)
78#endif //_Post_equal_to_
79
80#ifndef _Post_satisfies_
81#define _Post_satisfies_(expr)
82#endif //_Post_satisfies_
83
84#ifndef _In_range_
85#define _In_range_(lb, ub)
86#endif //_In_range_
87
88#ifndef _In_reads_
89#define _In_reads_(size)
90#endif //_In_reads_
91
92#ifndef _In_reads_opt_
93#define _In_reads_opt_(size)
94#endif //_In_reads_opt_
95
96#ifndef _In_reads_bytes_
97#define _In_reads_bytes_(size)
98#endif //_In_reads_bytes_
99
100#ifndef _In_reads_bytes_opt_
101#define _In_reads_bytes_opt_(size)
102#endif //_In_reads_bytes_opt_
103
104#ifndef _Out_writes_
105#define _Out_writes_(size)
106#endif //_Out_writes_
107
108#ifndef _Out_writes_opt_
109#define _Out_writes_opt_(size)
110#endif //_Out_writes_opt_
111
112#ifndef _Out_writes_bytes_
113#define _Out_writes_bytes_(size)
114#endif //_Out_writes_bytes_
115
116#ifndef _Out_writes_bytes_opt_
117#define _Out_writes_bytes_opt_(size)
118#endif //_Out_writes_bytes_opt_
119
120#ifndef _Inout_updates_bytes_
121#define _Inout_updates_bytes_(size)
122#endif //_Inout_updates_bytes_
123
124#ifndef _Field_size_full_
125#define _Field_size_full_(size)
126#endif //_Field_size_full_
127
128#ifndef _Field_size_bytes_full_
129#define _Field_size_bytes_full_(size)
130#endif //_Field_size_bytes_full_
131
132#ifndef _Outptr_opt_result_bytebuffer_
133#define _Outptr_opt_result_bytebuffer_(size)
134#endif //_Outptr_opt_result_bytebuffer_
135
136#ifndef _Must_inspect_result_
137#define _Must_inspect_result_
138#endif //_Must_inspect_result_
139
140#ifndef __specstrings
141#define __specstrings
142#endif //__specstrings
143
144#ifndef _Always_
145#define _Always_(annos)
146#endif //_Always_
147
148/* rpcsal.h */
149#ifndef __RPC_string
150#define __RPC_string
151#endif //__RPC_string
152
153#ifndef __RPC__deref_out
154#define __RPC__deref_out
155#endif //__RPC__deref_out
156
157/* minwindef.h */
158/*
159 * On ARM and x64 processors, __stdcall is accepted and ignored by the compiler;
160 * on ARM and x64 architectures, by convention, arguments are passed in registers
161 * when possible, and subsequent arguments are passed on the stack.
162 */
163#define WINAPI __stdcall
164
165#define VOID void
166typedef char CHAR;
167typedef short SHORT;
168typedef unsigned char BYTE;
169typedef unsigned short WORD;
170#ifdef __clang__
171// must enforce LLP64 for Windows x64 ...
172typedef int32_t LONG; // long is 64bits on clang-x64
173typedef int32_t INT; // and so is int as well...
174typedef uint32_t ULONG;
175typedef uint32_t UINT;
176typedef uint32_t DWORD;
177#else
178typedef long LONG;
179typedef int INT;
180typedef unsigned long ULONG;
181typedef unsigned int UINT;
182typedef unsigned long DWORD;
183#endif
184typedef float FLOAT;
185
186#define CONST const
187#define far
188#define near
189typedef CONST void far *LPCVOID;
190typedef void far *LPVOID;
191
192typedef INT BOOL;
193
194#ifdef __clang__
195typedef unsigned short WCHAR; // clang's wchar_t is 32bits by default...
196#else
197#ifndef _MAC
198typedef wchar_t WCHAR; // Windows wchar_t : 16-bit UNICODE character
199#else
200// some Macintosh compilers don't define wchar_t in a convenient location, or define it as a char
201typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
202#endif
203#endif
207
208#define FAR far
209#define NEAR near
210
211#ifndef FALSE
212#define FALSE 0
213#endif
214
215#ifndef TRUE
216#define TRUE 1
217#endif
218
219/* basestd.h */
220typedef CHAR INT8, *PINT8;
222typedef INT INT32, *PINT32;
223typedef BYTE UINT8, *PUINT8;
226#ifdef __clang__
227typedef int64_t INT64, *PINT64;
228typedef uint64_t UINT64, *PUINT64;
229#else
230typedef __int64 INT64, *PINT64;
231typedef unsigned __int64 UINT64, *PUINT64;
232#endif
233#if !defined(_W64)
234#if !defined(__midl) && (defined(_X86_) || defined(_M_IX86) || defined(_ARM_) || defined(_M_ARM)) && _MSC_VER >= 1300
235#define _W64 __w64
236#else
237#define _W64
238#endif
239#endif
240#if defined(_WIN64)
241typedef INT64 INT_PTR, *PINT_PTR;
242typedef UINT64 UINT_PTR, *PUINT_PTR;
243
244typedef INT64 LONG_PTR, *PLONG_PTR;
245typedef UINT64 ULONG_PTR, *PULONG_PTR;
246
247#define __int3264 INT64
248
249#else
252
255
256#define __int3264 INT32
257
258#endif
261
262#ifndef NO_STRICT
263#ifndef STRICT
264#define STRICT 1
265#endif
266#endif /* NO_STRICT */
267
268/* minwinbase.h */
269typedef struct _SECURITY_ATTRIBUTES {
274
275/* winnt.h */
276#ifdef __clang__
277typedef int64_t LONGLONG;
278#else
279typedef __int64 LONGLONG;
280#endif
281
282typedef _Return_type_success_(return >= 0) LONG HRESULT;
283
284#if defined(_WIN32) || defined(_MPPC_)
285
286// Win32 doesn't support __export
287
288#ifdef _68K_
289#define STDMETHODCALLTYPE __cdecl
290#else
291#define STDMETHODCALLTYPE __stdcall
292#endif
293#define STDMETHODVCALLTYPE __cdecl
294
295#define STDAPICALLTYPE __stdcall
296#define STDAPIVCALLTYPE __cdecl
297
298#else
299
300#define STDMETHODCALLTYPE __export __stdcall
301#define STDMETHODVCALLTYPE __export __cdecl
302
303#define STDAPICALLTYPE __export __stdcall
304#define STDAPIVCALLTYPE __export __cdecl
305
306#endif
307
308#define DUMMYSTRUCTNAME
309
310typedef union _LARGE_INTEGER {
311 struct {
315 struct {
318 } u;
321
322#ifdef __cplusplus
323#define EXTERN_C extern "C"
324#define EXTERN_C_START extern "C" {
325#define EXTERN_C_END }
326#else
327#define EXTERN_C extern
328#define EXTERN_C_START
329#define EXTERN_C_END
330#endif
331
332#if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)) && !defined(MIDL_PASS)
333#define DECLSPEC_IMPORT __declspec(dllimport)
334#else
335#define DECLSPEC_IMPORT
336#endif
337
338#ifdef __cplusplus
339
340// Define operator overloads to enable bit operations on enum values that are
341// used to define flags. Use DEFINE_ENUM_FLAG_OPERATORS(YOUR_TYPE) to enable these
342// operators on YOUR_TYPE.
343
344// Moved here from objbase.w.
345
346// Templates are defined here in order to avoid a dependency on C++ <type_traits> header file,
347// or on compiler-specific contructs.
348extern "C++" {
349
350template<size_t S>
351struct _ENUM_FLAG_INTEGER_FOR_SIZE;
352
353template<>
354struct _ENUM_FLAG_INTEGER_FOR_SIZE<1> {
355 typedef INT8 type;
356};
357
358template<>
359struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> {
360 typedef INT16 type;
361};
362
363template<>
364struct _ENUM_FLAG_INTEGER_FOR_SIZE<4> {
365 typedef INT32 type;
366};
367
368// used as an approximation of std::underlying_type<T>
369template<class T>
370struct _ENUM_FLAG_SIZED_INTEGER {
371 typedef typename _ENUM_FLAG_INTEGER_FOR_SIZE<sizeof(T)>::type type;
372};
373}
374
375#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \
376 extern "C++" { \
377 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
378 inline ENUMTYPE operator|(ENUMTYPE a, ENUMTYPE b) { \
379 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
380 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) | ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
381 } \
382 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
383 inline ENUMTYPE &operator|=(ENUMTYPE &a, ENUMTYPE b) { \
384 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
385 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
386 } \
387 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
388 inline ENUMTYPE operator&(ENUMTYPE a, ENUMTYPE b) { \
389 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
390 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) & ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
391 } \
392 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
393 inline ENUMTYPE &operator&=(ENUMTYPE &a, ENUMTYPE b) { \
394 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
395 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
396 } \
397 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
398 inline ENUMTYPE operator~(ENUMTYPE a) { \
399 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
400 return ENUMTYPE(~((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a)); \
401 } \
402 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
403 inline ENUMTYPE operator^(ENUMTYPE a, ENUMTYPE b) { \
404 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
405 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
406 } \
407 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
408 inline ENUMTYPE &operator^=(ENUMTYPE &a, ENUMTYPE b) { \
409 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
410 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
411 } \
412 }
413#else
414#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) // NOP, C allows these operators.
415#endif
416
417#ifndef DECLSPEC_NOTHROW
418#if (_MSC_VER >= 1200) && !defined(MIDL_PASS)
419#define DECLSPEC_NOTHROW __declspec(nothrow)
420#else
421#define DECLSPEC_NOTHROW
422#endif
423#endif
424
425#ifdef STRICT
426typedef void *HANDLE;
427#if 0 && (_MSC_VER > 1000)
428#define DECLARE_HANDLE(name) \
429 struct name##__; \
430 typedef struct name##__ *name
431#else
432#define DECLARE_HANDLE(name) \
433 struct name##__ { \
434 int unused; \
435 }; \
436 typedef struct name##__ *name
437#endif
438#else
439typedef PVOID HANDLE;
440#define DECLARE_HANDLE(name) typedef HANDLE name
441#endif
443
444/* windef.h */
445typedef struct tagRECT {
451
453
454/* minwindef.h (2) */
455DECLARE_HANDLE(HINSTANCE);
456typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */
457
458/* winerror.h */
459#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)(_sc))
460#define S_OK _HRESULT_TYPEDEF_(0x0L)
461#define E_UNEXPECTED _HRESULT_TYPEDEF_(0x8000FFFFL)
462#define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887a0002)
463#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
464#define FAILED(hr) (((HRESULT)(hr)) < 0)
465
466/* guiddef.h */
467typedef struct _GUID {
473typedef GUID IID;
474typedef IID *LPIID;
475
476#ifdef __midl_proxy
477#define __MIDL_CONST
478#else
479#define __MIDL_CONST const
480#endif
481
482#ifdef __cplusplus
483#define REFIID const IID &
484#else
485#define REFIID const IID *__MIDL_CONST
486#endif
487
488#ifdef __cplusplus
489#define REFGUID const GUID &
490#else
491#define REFGUID const GUID *__MIDL_CONST
492#endif
493
494#ifndef DECLSPEC_SELECTANY
495#if (_MSC_VER >= 1100)
496#define DECLSPEC_SELECTANY __declspec(selectany)
497#else
498#define DECLSPEC_SELECTANY
499#endif
500#endif
501
502#ifdef INITGUID
503#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
504 EXTERN_C const GUID DECLSPEC_SELECTANY name = {l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}
505#else
506#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
507 EXTERN_C const GUID FAR name
508#endif // INITGUID
509
510/* rpc.h */
511#if defined(__specstrings)
512typedef _Return_type_success_(return == 0) LONG RPC_STATUS;
513#else
514typedef LONG RPC_STATUS;
515#endif
516
517#if !defined(__RPC_MAC__) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
518#define __RPC_API __stdcall
519#define __RPC_USER __stdcall
520#define __RPC_STUB __stdcall
521#define RPC_ENTRY __stdcall
522#else // Not Win32/Win64
523#define __RPC_API
524#define __RPC_USER
525#define __RPC_STUB
526#define RPC_ENTRY
527#endif
528
529#define __RPC_FAR
530
531typedef void *I_RPC_HANDLE;
532
533/* rpcdce.h */
534#ifndef UUID_DEFINED
535#define UUID_DEFINED
536typedef GUID UUID;
537#ifndef uuid_t
538#define uuid_t UUID
539#endif
540#endif
541
544#define rpc_binding_handle_t RPC_BINDING_HANDLE
545
546#define RPC_MGR_EPV void
547
548/* rpcdcep.h */
549// #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
550
551typedef struct _RPC_VERSION {
552 unsigned short MajorVersion;
553 unsigned short MinorVersion;
555
560
561typedef struct _RPC_MESSAGE {
563 unsigned long DataRepresentation;
565 unsigned int BufferLength;
566 unsigned int ProcNum;
572 unsigned long RpcFlags;
574
575// #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
576
577/* rpcndr.h */
578#ifndef DECLSPEC_NOVTABLE
579#if (_MSC_VER >= 1100) && defined(__cplusplus)
580#define DECLSPEC_NOVTABLE __declspec(novtable)
581#else
582#define DECLSPEC_NOVTABLE
583#endif
584#endif
585
586#ifndef DECLSPEC_UUID
587#if (_MSC_VER >= 1100) && defined(__cplusplus)
588#define DECLSPEC_UUID(x) __declspec(uuid(x))
589#else
590#define DECLSPEC_UUID(x)
591#endif
592#endif
593
594#define MIDL_INTERFACE(x) struct DECLSPEC_UUID(x) DECLSPEC_NOVTABLE
595
596/* combaseapi.h */
597#define BEGIN_INTERFACE
598#define END_INTERFACE
599
600#ifdef _68K_
601#ifndef REQUIRESAPPLEPASCAL
602#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT PASCAL
603#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type PASCAL
604#else
605#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT PASCAL HRESULT
606#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT PASCAL type
607#endif
608#else
609#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
610#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
611#endif
612
613#ifdef COM_STDMETHOD_CAN_THROW
614#define COM_DECLSPEC_NOTHROW
615#else
616#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
617#endif
618
619#if defined(__cplusplus) && !defined(CINTERFACE)
620
621#ifdef COM_STDMETHOD_CAN_THROW
622#define COM_DECLSPEC_NOTHROW
623#else
624#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
625#endif
626
627#define __STRUCT__ struct
628#define interface __STRUCT__
629#define STDMETHOD(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method
630#define STDMETHOD_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODCALLTYPE method
631#define STDMETHODV(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODVCALLTYPE method
632#define STDMETHODV_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODVCALLTYPE method
633#define PURE = 0
634#define THIS_
635#define THIS void
636#define DECLARE_INTERFACE(iface) interface DECLSPEC_NOVTABLE iface
637#define DECLARE_INTERFACE_(iface, baseiface) interface DECLSPEC_NOVTABLE iface : public baseiface
638#define DECLARE_INTERFACE_IID(iface, iid) interface DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE iface
639#define DECLARE_INTERFACE_IID_(iface, baseiface, iid) interface DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE iface : public baseiface
640
641#define IFACEMETHOD(method) __override STDMETHOD(method)
642#define IFACEMETHOD_(type, method) __override STDMETHOD_(type, method)
643#define IFACEMETHODV(method) __override STDMETHODV(method)
644#define IFACEMETHODV_(type, method) __override STDMETHODV_(type, method)
645
646#if !defined(BEGIN_INTERFACE)
647
648#if defined(_MPPC_) && ((defined(_MSC_VER) || defined(__SC__) || defined(__MWERKS__)) && !defined(NO_NULL_VTABLE_ENTRY))
649#define BEGIN_INTERFACE \
650 virtual void a() { \
651 }
652#define END_INTERFACE
653#else
654#define BEGIN_INTERFACE
655#define END_INTERFACE
656#endif
657#endif
658
659// IID_PPV_ARGS(ppType)
660// ppType is the variable of type IType that will be filled
661//
662// RESULTS in: IID_IType, ppvType
663// will create a compiler error if wrong level of indirection is used.
664//
665
666/* Unknwn.h */
667#ifndef __IUnknown_FWD_DEFINED__
668#define __IUnknown_FWD_DEFINED__
669typedef interface IUnknown IUnknown;
670
671#endif /* __IUnknown_FWD_DEFINED__ */
672
673extern "C++" {
674template<typename T>
675_Post_equal_to_(pp) _Post_satisfies_(return == pp) void **IID_PPV_ARGS_Helper(T **pp) {
676#pragma prefast(suppress : 6269, "Tool issue with unused static_cast")
677 static_cast<IUnknown *>(*pp); // make sure everyone derives from IUnknown
678 return reinterpret_cast<void **>(pp);
679}
680}
681
682#define IID_PPV_ARGS(ppType) __uuidof(**(ppType)), IID_PPV_ARGS_Helper(ppType)
683
684#else
685
686#define interface struct
687
688#define STDMETHOD(method) HRESULT(STDMETHODCALLTYPE *method)
689#define STDMETHOD_(type, method) type(STDMETHODCALLTYPE *method)
690#define STDMETHODV(method) HRESULT(STDMETHODVCALLTYPE *method)
691#define STDMETHODV_(type, method) type(STDMETHODVCALLTYPE *method)
692
693#define IFACEMETHOD(method) __override STDMETHOD(method)
694#define IFACEMETHOD_(type, method) __override STDMETHOD_(type, method)
695#define IFACEMETHODV(method) __override STDMETHODV(method)
696#define IFACEMETHODV_(type, method) __override STDMETHODV_(type, method)
697
698#if !defined(BEGIN_INTERFACE)
699
700#if defined(_MPPC_)
701#define BEGIN_INTERFACE void *b;
702#define END_INTERFACE
703#else
704#define BEGIN_INTERFACE
705#define END_INTERFACE
706#endif
707#endif
708
709#define PURE
710#define THIS_ INTERFACE FAR *This,
711#define THIS INTERFACE FAR *This
712#ifdef CONST_VTABLE
713#undef CONST_VTBL
714#define CONST_VTBL const
715#define DECLARE_INTERFACE(iface) \
716 typedef interface iface { \
717 const struct iface##Vtbl FAR *lpVtbl; \
718 } iface; \
719 typedef const struct iface##Vtbl iface##Vtbl; \
720 const struct iface##Vtbl
721#else
722#undef CONST_VTBL
723#define CONST_VTBL
724#define DECLARE_INTERFACE(iface) \
725 typedef interface iface { \
726 struct iface##Vtbl FAR *lpVtbl; \
727 } iface; \
728 typedef struct iface##Vtbl iface##Vtbl; \
729 struct iface##Vtbl
730#endif
731#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface)
732#define DECLARE_INTERFACE_IID(iface, iid) DECLARE_INTERFACE(iface)
733#define DECLARE_INTERFACE_IID_(iface, baseiface, iid) DECLARE_INTERFACE_(iface, baseiface)
734#endif
735
738
739/* Unknwn.h */
740#ifndef __IUnknown_FWD_DEFINED__
741#define __IUnknown_FWD_DEFINED__
742typedef interface IUnknown IUnknown;
743
744#endif /* __IUnknown_FWD_DEFINED__ */
745
746#ifndef __IUnknown_INTERFACE_DEFINED__
747#define __IUnknown_INTERFACE_DEFINED__
748
749/* interface IUnknown */
750/* [unique][uuid][object][local] */
751
752typedef /* [unique] */ IUnknown *LPUNKNOWN;
753
754//////////////////////////////////////////////////////////////////
755// IID_IUnknown and all other system IIDs are provided in UUID.LIB
756// Link that library in with your proxies, clients and servers
757//////////////////////////////////////////////////////////////////
758
759#if (_MSC_VER >= 1100) && defined(__cplusplus) && !defined(CINTERFACE)
761extern "C++" {
762MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
763IUnknown {
764public:
766 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
767 /* [in] */ REFIID riid,
768 /* [iid_is][out] */ _COM_Outptr_ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
769
770 virtual ULONG STDMETHODCALLTYPE AddRef() = 0;
771
772 virtual ULONG STDMETHODCALLTYPE Release() = 0;
773
774 template<class Q>
775 HRESULT
776#ifdef _M_CEE_PURE
777 __clrcall
778#else
780#endif
781 QueryInterface(_COM_Outptr_ Q * *pp) {
782 return QueryInterface(__uuidof(Q), (void **)pp);
783 }
784
786};
787} // extern C++
788HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
789 IUnknown __RPC_FAR *This,
790 /* [in] */ REFIID riid,
791 /* [iid_is][out] */ __RPC__deref_out void __RPC_FAR *__RPC_FAR *ppvObject);
792
793void __RPC_STUB IUnknown_QueryInterface_Stub(
794 IRpcStubBuffer *This,
795 IRpcChannelBuffer *_pRpcChannelBuffer,
796 PRPC_MESSAGE _pRpcMessage,
797 DWORD *_pdwStubPhase);
798
799ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
800 IUnknown __RPC_FAR *This);
801
802void __RPC_STUB IUnknown_AddRef_Stub(
803 IRpcStubBuffer *This,
804 IRpcChannelBuffer *_pRpcChannelBuffer,
805 PRPC_MESSAGE _pRpcMessage,
806 DWORD *_pdwStubPhase);
807
808ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
809 IUnknown __RPC_FAR *This);
810
811void __RPC_STUB IUnknown_Release_Stub(
812 IRpcStubBuffer *This,
813 IRpcChannelBuffer *_pRpcChannelBuffer,
814 PRPC_MESSAGE _pRpcMessage,
815 DWORD *_pdwStubPhase);
816#else
817
819
820#if defined(__cplusplus) && !defined(CINTERFACE)
821
822MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
823IUnknown {
824public:
826 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
827 /* [in] */ REFIID riid,
828 /* [annotation][iid_is][out] */
829 _COM_Outptr_ void **ppvObject) = 0;
830
831 virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;
832
833 virtual ULONG STDMETHODCALLTYPE Release(void) = 0;
834
836};
837
838#else /* C style interface */
839
840typedef struct IUnknownVtbl {
842
843 HRESULT(STDMETHODCALLTYPE *QueryInterface)
844 (
845 IUnknown *This,
846 /* [in] */ REFIID riid,
847 /* [annotation][iid_is][out] */
848 _COM_Outptr_ void **ppvObject);
849
850 ULONG(STDMETHODCALLTYPE *AddRef)
851 (
853
854 ULONG(STDMETHODCALLTYPE *Release)
855 (
856 IUnknown *This);
857
860
861interface IUnknown {
862 CONST_VTBL struct IUnknownVtbl *lpVtbl;
863};
864
865#ifdef COBJMACROS
866
867#define IUnknown_QueryInterface(This, riid, ppvObject) \
868 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
869
870#define IUnknown_AddRef(This) \
871 ((This)->lpVtbl->AddRef(This))
872
873#define IUnknown_Release(This) \
874 ((This)->lpVtbl->Release(This))
875
876#endif /* COBJMACROS */
877
878#endif /* C style interface */
879
880#if 0
881HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
882 IUnknown * This,
883 /* [in] */ REFIID riid,
884 /* [annotation][iid_is][out] */
885 _COM_Outptr_ void **ppvObject);
886
887
888void __RPC_STUB IUnknown_QueryInterface_Stub(
890 IRpcChannelBuffer *_pRpcChannelBuffer,
891 PRPC_MESSAGE _pRpcMessage,
892 DWORD *_pdwStubPhase);
893
894
895ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
896 IUnknown * This);
897
898
899void __RPC_STUB IUnknown_AddRef_Stub(
901 IRpcChannelBuffer *_pRpcChannelBuffer,
902 PRPC_MESSAGE _pRpcMessage,
903 DWORD *_pdwStubPhase);
904
905
906ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
907 IUnknown * This);
908
909
910void __RPC_STUB IUnknown_Release_Stub(
912 IRpcChannelBuffer *_pRpcChannelBuffer,
913 PRPC_MESSAGE _pRpcMessage,
914 DWORD *_pdwStubPhase);
915#endif
916
917#endif /* LEGACY MSVC CHECK */
918
919#endif /* __IUnknown_INTERFACE_DEFINED__ */
920
921/* WTypesbase.h */
922#if defined(_WIN32) && !defined(OLE2ANSI)
923typedef WCHAR OLECHAR;
924
925typedef /* [string] */ __RPC_string OLECHAR *LPOLESTR;
926
927typedef /* [string] */ __RPC_string const OLECHAR *LPCOLESTR;
928
929#define OLESTR(str) L##str
930
931#else
932
933typedef char OLECHAR;
936#define OLESTR(str) str
937#endif
938
939/* d3dcommon.h */
940#ifdef __cplusplus
941extern "C" {
942#endif
943
944typedef enum D3D_FEATURE_LEVEL {
955
1052
1053#ifdef __cplusplus
1054}
1055#endif
1056
1057/* dxgiformat.h */
1058typedef enum DXGI_FORMAT {
1175 DXGI_FORMAT_FORCE_UINT = 0xffffffff
1177
1178/* dxgitype.h */
1179typedef struct DXGI_SAMPLE_DESC {
1183
1184/* d3dcommon.h */
1185typedef enum _D3D_INCLUDE_TYPE {
1190 D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
1192
1193typedef interface ID3DInclude ID3DInclude;
1194#undef INTERFACE
1195#define INTERFACE ID3DInclude
1197 STDMETHOD(Open)
1198 (THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID * ppData, UINT * pBytes) PURE;
1199 STDMETHOD(Close)
1200 (THIS_ LPCVOID pData) PURE;
1201};
1202
1203typedef struct _D3D_SHADER_MACRO {
1207
1209
1210#if defined(__cplusplus) && !defined(CINTERFACE)
1211
1212MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102")
1213ID3D10Blob : public IUnknown {
1214public:
1215 virtual LPVOID STDMETHODCALLTYPE GetBufferPointer() = 0;
1216
1217 virtual SIZE_T STDMETHODCALLTYPE GetBufferSize() = 0;
1218};
1219
1220#else /* C style interface */
1221
1222#ifndef __ID3D10Blob_FWD_DEFINED__
1223#define __ID3D10Blob_FWD_DEFINED__
1224typedef interface ID3D10Blob ID3D10Blob;
1225
1226#endif /* __ID3D10Blob_FWD_DEFINED__ */
1227
1228typedef struct ID3D10BlobVtbl {
1230
1231 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1232 (
1234 /* [in] */ REFIID riid,
1235 /* [annotation][iid_is][out] */
1236 _COM_Outptr_ void **ppvObject);
1237
1238 ULONG(STDMETHODCALLTYPE *AddRef)
1239 (
1241
1242 ULONG(STDMETHODCALLTYPE *Release)
1243 (
1244 ID3D10Blob *This);
1245
1246 LPVOID(STDMETHODCALLTYPE *GetBufferPointer)
1247 (
1248 ID3D10Blob *This);
1249
1250 SIZE_T(STDMETHODCALLTYPE *GetBufferSize)
1251 (
1252 ID3D10Blob *This);
1253
1256
1257interface ID3D10Blob {
1258 CONST_VTBL struct ID3D10BlobVtbl *lpVtbl;
1259};
1260
1261#ifdef COBJMACROS
1262
1263#define ID3D10Blob_QueryInterface(This, riid, ppvObject) \
1264 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1265
1266#define ID3D10Blob_AddRef(This) \
1267 ((This)->lpVtbl->AddRef(This))
1268
1269#define ID3D10Blob_Release(This) \
1270 ((This)->lpVtbl->Release(This))
1271
1272#define ID3D10Blob_GetBufferPointer(This) \
1273 ((This)->lpVtbl->GetBufferPointer(This))
1274
1275#define ID3D10Blob_GetBufferSize(This) \
1276 ((This)->lpVtbl->GetBufferSize(This))
1277
1278#endif /* COBJMACROS */
1279
1280#endif /* C style interface */
1281
1282typedef interface ID3D10Blob *LPD3D10BLOB;
1284
1286#define IID_ID3DBlob IID_ID3D10Blob
1287
1288/* d3d12.h */
1289/* Forward Declarations */
1290
1291#ifndef __ID3D12Object_FWD_DEFINED__
1292#define __ID3D12Object_FWD_DEFINED__
1293typedef interface ID3D12Object ID3D12Object;
1294
1295#endif /* __ID3D12Object_FWD_DEFINED__ */
1296
1297#ifndef __ID3D12DeviceChild_FWD_DEFINED__
1298#define __ID3D12DeviceChild_FWD_DEFINED__
1300
1301#endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
1302
1303#ifndef __ID3D12RootSignature_FWD_DEFINED__
1304#define __ID3D12RootSignature_FWD_DEFINED__
1306
1307#endif /* __ID3D12RootSignature_FWD_DEFINED__ */
1308
1309#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
1310#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
1312
1313#endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
1314
1315#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
1316#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
1318
1319#endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
1320
1321#ifndef __ID3D12Pageable_FWD_DEFINED__
1322#define __ID3D12Pageable_FWD_DEFINED__
1324
1325#endif /* __ID3D12Pageable_FWD_DEFINED__ */
1326
1327#ifndef __ID3D12Heap_FWD_DEFINED__
1328#define __ID3D12Heap_FWD_DEFINED__
1329typedef interface ID3D12Heap ID3D12Heap;
1330
1331#endif /* __ID3D12Heap_FWD_DEFINED__ */
1332
1333#ifndef __ID3D12Resource_FWD_DEFINED__
1334#define __ID3D12Resource_FWD_DEFINED__
1336
1337#endif /* __ID3D12Resource_FWD_DEFINED__ */
1338
1339#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
1340#define __ID3D12CommandAllocator_FWD_DEFINED__
1342
1343#endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
1344
1345#ifndef __ID3D12Fence_FWD_DEFINED__
1346#define __ID3D12Fence_FWD_DEFINED__
1347typedef interface ID3D12Fence ID3D12Fence;
1348
1349#endif /* __ID3D12Fence_FWD_DEFINED__ */
1350
1351#ifndef __ID3D12PipelineState_FWD_DEFINED__
1352#define __ID3D12PipelineState_FWD_DEFINED__
1354
1355#endif /* __ID3D12PipelineState_FWD_DEFINED__ */
1356
1357#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
1358#define __ID3D12DescriptorHeap_FWD_DEFINED__
1360
1361#endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
1362
1363#ifndef __ID3D12QueryHeap_FWD_DEFINED__
1364#define __ID3D12QueryHeap_FWD_DEFINED__
1366
1367#endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
1368
1369#ifndef __ID3D12CommandSignature_FWD_DEFINED__
1370#define __ID3D12CommandSignature_FWD_DEFINED__
1372
1373#endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
1374
1375#ifndef __ID3D12CommandList_FWD_DEFINED__
1376#define __ID3D12CommandList_FWD_DEFINED__
1378
1379#endif /* __ID3D12CommandList_FWD_DEFINED__ */
1380
1381#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
1382#define __ID3D12GraphicsCommandList_FWD_DEFINED__
1384
1385#endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
1386
1387#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
1388#define __ID3D12GraphicsCommandList1_FWD_DEFINED__
1390
1391#endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
1392
1393#ifndef __ID3D12CommandQueue_FWD_DEFINED__
1394#define __ID3D12CommandQueue_FWD_DEFINED__
1396
1397#endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
1398
1399#ifndef __ID3D12Device_FWD_DEFINED__
1400#define __ID3D12Device_FWD_DEFINED__
1401typedef interface ID3D12Device ID3D12Device;
1402
1403#endif /* __ID3D12Device_FWD_DEFINED__ */
1404
1405#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
1406#define __ID3D12PipelineLibrary_FWD_DEFINED__
1408
1409#endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
1410
1411#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
1412#define __ID3D12PipelineLibrary1_FWD_DEFINED__
1414
1415#endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
1416
1417#ifndef __ID3D12Device1_FWD_DEFINED__
1418#define __ID3D12Device1_FWD_DEFINED__
1420
1421#endif /* __ID3D12Device1_FWD_DEFINED__ */
1422
1423#ifndef __ID3D12Device2_FWD_DEFINED__
1424#define __ID3D12Device2_FWD_DEFINED__
1426
1427#endif /* __ID3D12Device2_FWD_DEFINED__ */
1428
1429#ifndef __ID3D12Tools_FWD_DEFINED__
1430#define __ID3D12Tools_FWD_DEFINED__
1431typedef interface ID3D12Tools ID3D12Tools;
1432
1433#endif /* __ID3D12Tools_FWD_DEFINED__ */
1434
1435#ifdef __cplusplus
1436extern "C" {
1437#endif
1438
1439#if defined(__cplusplus) && !defined(CINTERFACE)
1440
1441MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
1442ID3D12Object : public IUnknown {
1443public:
1444 virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
1445 _In_ REFGUID guid,
1446 _Inout_ UINT * pDataSize,
1447 _Out_writes_bytes_opt_(*pDataSize) void *pData) = 0;
1448
1449 virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
1450 _In_ REFGUID guid,
1451 _In_ UINT DataSize,
1452 _In_reads_bytes_opt_(DataSize) const void *pData) = 0;
1453
1454 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
1455 _In_ REFGUID guid,
1456 _In_opt_ const IUnknown *pData) = 0;
1457
1458 virtual HRESULT STDMETHODCALLTYPE SetName(
1459 _In_z_ LPCWSTR Name) = 0;
1460};
1461
1462#else /* C style interface */
1463
1464typedef struct ID3D12ObjectVtbl {
1466
1467 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1468 (
1470 REFIID riid,
1471 _COM_Outptr_ void **ppvObject);
1472
1473 ULONG(STDMETHODCALLTYPE *AddRef)
1474 (
1476
1477 ULONG(STDMETHODCALLTYPE *Release)
1478 (
1480
1481 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1482 (
1487
1488 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1489 (
1494
1495 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1496 (
1500
1501 HRESULT(STDMETHODCALLTYPE *SetName)
1502 (
1505
1508
1509interface ID3D12Object {
1510 CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
1511};
1512
1513#ifdef COBJMACROS
1514
1515#define ID3D12Object_QueryInterface(This, riid, ppvObject) \
1516 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1517
1518#define ID3D12Object_AddRef(This) \
1519 ((This)->lpVtbl->AddRef(This))
1520
1521#define ID3D12Object_Release(This) \
1522 ((This)->lpVtbl->Release(This))
1523
1524#define ID3D12Object_GetPrivateData(This, guid, pDataSize, pData) \
1525 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1526
1527#define ID3D12Object_SetPrivateData(This, guid, DataSize, pData) \
1528 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1529
1530#define ID3D12Object_SetPrivateDataInterface(This, guid, pData) \
1531 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1532
1533#define ID3D12Object_SetName(This, Name) \
1534 ((This)->lpVtbl->SetName(This, Name))
1535
1536#endif /* COBJMACROS */
1537
1538#endif /* C style interface */
1539
1540#if defined(__cplusplus) && !defined(CINTERFACE)
1541
1542MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
1544public:
1545 virtual HRESULT STDMETHODCALLTYPE GetDevice(
1546 REFIID riid,
1547 _COM_Outptr_opt_ void **ppvDevice) = 0;
1548};
1549
1550#else /* C style interface */
1551
1554
1555 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1556 (
1558 REFIID riid,
1559 _COM_Outptr_ void **ppvObject);
1560
1561 ULONG(STDMETHODCALLTYPE *AddRef)
1562 (
1564
1565 ULONG(STDMETHODCALLTYPE *Release)
1566 (
1568
1569 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1570 (
1575
1576 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1577 (
1582
1583 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1584 (
1588
1589 HRESULT(STDMETHODCALLTYPE *SetName)
1590 (
1593
1594 HRESULT(STDMETHODCALLTYPE *GetDevice)
1595 (
1599
1602
1603interface ID3D12DeviceChild {
1604 CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
1605};
1606
1607#ifdef COBJMACROS
1608
1609#define ID3D12DeviceChild_QueryInterface(This, riid, ppvObject) \
1610 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1611
1612#define ID3D12DeviceChild_AddRef(This) \
1613 ((This)->lpVtbl->AddRef(This))
1614
1615#define ID3D12DeviceChild_Release(This) \
1616 ((This)->lpVtbl->Release(This))
1617
1618#define ID3D12DeviceChild_GetPrivateData(This, guid, pDataSize, pData) \
1619 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1620
1621#define ID3D12DeviceChild_SetPrivateData(This, guid, DataSize, pData) \
1622 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1623
1624#define ID3D12DeviceChild_SetPrivateDataInterface(This, guid, pData) \
1625 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1626
1627#define ID3D12DeviceChild_SetName(This, Name) \
1628 ((This)->lpVtbl->SetName(This, Name))
1629
1630#define ID3D12DeviceChild_GetDevice(This, riid, ppvDevice) \
1631 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
1632
1633#endif /* COBJMACROS */
1634
1635#endif /* C style interface */
1636
1637#if defined(__cplusplus) && !defined(CINTERFACE)
1638
1639MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
1641 public :
1642};
1643
1644#else /* C style interface */
1645
1648
1649 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1650 (
1652 REFIID riid,
1653 _COM_Outptr_ void **ppvObject);
1654
1655 ULONG(STDMETHODCALLTYPE *AddRef)
1656 (
1658
1659 ULONG(STDMETHODCALLTYPE *Release)
1660 (
1662
1663 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1664 (
1669
1670 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1671 (
1676
1677 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1678 (
1682
1683 HRESULT(STDMETHODCALLTYPE *SetName)
1684 (
1687
1688 HRESULT(STDMETHODCALLTYPE *GetDevice)
1689 (
1693
1696
1697interface ID3D12RootSignature {
1698 CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
1699};
1700
1701#ifdef COBJMACROS
1702
1703#define ID3D12RootSignature_QueryInterface(This, riid, ppvObject) \
1704 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1705
1706#define ID3D12RootSignature_AddRef(This) \
1707 ((This)->lpVtbl->AddRef(This))
1708
1709#define ID3D12RootSignature_Release(This) \
1710 ((This)->lpVtbl->Release(This))
1711
1712#define ID3D12RootSignature_GetPrivateData(This, guid, pDataSize, pData) \
1713 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1714
1715#define ID3D12RootSignature_SetPrivateData(This, guid, DataSize, pData) \
1716 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1717
1718#define ID3D12RootSignature_SetPrivateDataInterface(This, guid, pData) \
1719 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1720
1721#define ID3D12RootSignature_SetName(This, Name) \
1722 ((This)->lpVtbl->SetName(This, Name))
1723
1724#define ID3D12RootSignature_GetDevice(This, riid, ppvDevice) \
1725 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
1726
1727#endif /* COBJMACROS */
1728
1729#endif /* C style interface */
1730
1731#if defined(__cplusplus) && !defined(CINTERFACE)
1732
1733MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
1735 public :
1736};
1737
1738#else /* C style interface */
1739
1740#ifndef __ID3D12Pageable_FWD_DEFINED__
1741#define __ID3D12Pageable_FWD_DEFINED__
1742typedef interface ID3D12Pageable ID3D12Pageable;
1743
1744#endif /* __ID3D12Pageable_FWD_DEFINED__ */
1745
1746typedef struct ID3D12PageableVtbl {
1748
1749 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1750 (
1752 REFIID riid,
1753 _COM_Outptr_ void **ppvObject);
1754
1755 ULONG(STDMETHODCALLTYPE *AddRef)
1756 (
1758
1759 ULONG(STDMETHODCALLTYPE *Release)
1760 (
1762
1763 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1764 (
1769
1770 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1771 (
1776
1777 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1778 (
1782
1783 HRESULT(STDMETHODCALLTYPE *SetName)
1784 (
1787
1788 HRESULT(STDMETHODCALLTYPE *GetDevice)
1789 (
1793
1796
1797interface ID3D12Pageable {
1798 CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
1799};
1800
1801#ifdef COBJMACROS
1802
1803#define ID3D12Pageable_QueryInterface(This, riid, ppvObject) \
1804 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1805
1806#define ID3D12Pageable_AddRef(This) \
1807 ((This)->lpVtbl->AddRef(This))
1808
1809#define ID3D12Pageable_Release(This) \
1810 ((This)->lpVtbl->Release(This))
1811
1812#define ID3D12Pageable_GetPrivateData(This, guid, pDataSize, pData) \
1813 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1814
1815#define ID3D12Pageable_SetPrivateData(This, guid, DataSize, pData) \
1816 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1817
1818#define ID3D12Pageable_SetPrivateDataInterface(This, guid, pData) \
1819 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1820
1821#define ID3D12Pageable_SetName(This, Name) \
1822 ((This)->lpVtbl->SetName(This, Name))
1823
1824#define ID3D12Pageable_GetDevice(This, riid, ppvDevice) \
1825 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
1826
1827#endif /* COBJMACROS */
1828
1829#endif /* C style interface */
1830
1831typedef struct D3D12_RANGE {
1835
1836typedef struct D3D12_BOX {
1844
1851
1856
1863
1870
1872 _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
1875
1884
1888 _Field_size_full_(NumStrides) const UINT *pBufferStrides;
1892
1893typedef enum D3D12_BLEND {
1912
1913typedef enum D3D12_BLEND_OP {
1920
1921typedef enum D3D12_LOGIC_OP {
1939
1952
1953typedef struct D3D12_BLEND_DESC {
1958
1959typedef enum D3D12_FILL_MODE {
1963
1964typedef enum D3D12_CULL_MODE {
1969
1974
1988
1993
2004
2005typedef enum D3D12_STENCIL_OP {
2015
2022
2033
2038
2048
2053
2058
2064
2072
2077
2102
2110
2115
2123
2130
2140
2142typedef struct D3D12_RESOURCE_DESC {
2154
2161
2162typedef enum D3D12_MEMORY_POOL {
2167
2168typedef enum D3D12_HEAP_TYPE {
2174
2182
2183typedef enum D3D12_HEAP_FLAGS {
2198
2203
2211
2229 D3D12_RESOURCE_STATE_GENERIC_READ = (((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800),
2233
2238
2239typedef struct D3D12_CLEAR_VALUE {
2241 union {
2244 };
2246
2247typedef enum D3D12_FEATURE {
2263
2264typedef enum D3D12_CLEAR_FLAGS {
2268
2270typedef enum D3D12_FENCE_FLAGS {
2275
2284
2289
2298
2299#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
2300#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
2301#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1 << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 4))
2302#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0, Src1, Src2, Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK) | \
2303 (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK) << D3D12_SHADER_COMPONENT_MAPPING_SHIFT) | \
2304 (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 2)) | \
2305 (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 3)) | \
2306 D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
2307#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract, Mapping) \
2308 ((D3D12_SHADER_COMPONENT_MAPPING)((Mapping) >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * (ComponentToExtract)) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
2309#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0, 1, 2, 3)
2310
2315
2317typedef struct D3D12_BUFFER_SRV {
2323
2324typedef struct D3D12_TEX1D_SRV {
2329
2337
2338typedef struct D3D12_TEX2D_SRV {
2344
2353
2354typedef struct D3D12_TEX3D_SRV {
2359
2360typedef struct D3D12_TEXCUBE_SRV {
2365
2373
2374typedef struct D3D12_TEX2DMS_SRV {
2377
2382
2396
2401 union {
2412 };
2414
2416
2421
2425
2429
2434
2436typedef struct D3D12_BUFFER_UAV {
2443
2444typedef struct D3D12_TEX1D_UAV {
2447
2453
2454typedef struct D3D12_TEX2D_UAV {
2458
2465
2466typedef struct D3D12_TEX3D_UAV {
2471
2481
2485 union {
2492 };
2494
2495typedef struct D3D12_BUFFER_RTV {
2499
2500typedef struct D3D12_TEX1D_RTV {
2503
2509
2510typedef struct D3D12_TEX2D_RTV {
2514
2515typedef struct D3D12_TEX2DMS_RTV {
2518
2525
2530
2531typedef struct D3D12_TEX3D_RTV {
2536
2548
2552 union {
2561 };
2563
2564typedef struct D3D12_TEX1D_DSV {
2567
2573
2574typedef struct D3D12_TEX2D_DSV {
2577
2583
2584typedef struct D3D12_TEX2DMS_DSV {
2587
2592
2593typedef enum D3D12_DSV_FLAGS {
2598
2609
2614 union {
2621 };
2623
2624typedef enum D3D12_FILTER {
2662
2670
2671typedef struct D3D12_SAMPLER_DESC {
2683
2691
2693typedef struct D3D12_HEAP_DESC {
2699
2707
2712
2719
2725
2737
2740 union {
2741 struct
2742 {
2745 struct
2746 {
2751 struct
2752 {
2755 struct
2756 {
2759 struct
2760 {
2763 };
2765
2772
2779
2780typedef struct D3D12_TILE_SHAPE {
2785
2792
2799
2807
2814
2819
2823 union {
2826 };
2828
2830
2831#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
2832
2838
2839typedef struct D3D12_VIEWPORT {
2847
2849
2856
2861
2865
2871
2878
2883 union {
2887 };
2889
2895
2901
2902typedef struct D3D12_DISCARD_REGION {
2908
2909typedef enum D3D12_QUERY_TYPE {
2919
2924
2935
2943
2950
2958
2963
2964typedef struct D3D12_ROOT_CONSTANTS {
2969
2974
2983
2984typedef struct D3D12_ROOT_PARAMETER {
2986 union {
2990 };
2993
3000
3016
3024
3032
3042
3047
3054
3061
3064 union {
3068 };
3071
3079
3085
3088 union {
3091 };
3093
3094#define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND (0xffffffff)
3095
3096#ifndef __ID3D12Resource_INTERFACE_DEFINED__
3097#define __ID3D12Resource_INTERFACE_DEFINED__
3098
3099/* interface ID3D12Resource */
3100/* [unique][local][object][uuid] */
3101
3103
3104#if defined(__cplusplus) && !defined(CINTERFACE)
3105
3106MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
3108public:
3109 virtual HRESULT STDMETHODCALLTYPE Map(
3110 UINT Subresource,
3111 _In_opt_ const D3D12_RANGE *pReadRange,
3112 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
3113
3114 virtual void STDMETHODCALLTYPE Unmap(
3115 UINT Subresource,
3116 _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
3117
3118 virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc() = 0;
3119
3120 virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress() = 0;
3121
3122 virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
3123 UINT DstSubresource,
3124 _In_opt_ const D3D12_BOX *pDstBox,
3125 _In_ const void *pSrcData,
3126 UINT SrcRowPitch,
3127 UINT SrcDepthPitch) = 0;
3128
3129 virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
3130 _Out_ void *pDstData,
3131 UINT DstRowPitch,
3132 UINT DstDepthPitch,
3133 UINT SrcSubresource,
3134 _In_opt_ const D3D12_BOX *pSrcBox) = 0;
3135
3136 virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
3137 _Out_opt_ D3D12_HEAP_PROPERTIES * pHeapProperties,
3138 _Out_opt_ D3D12_HEAP_FLAGS * pHeapFlags) = 0;
3139};
3140
3141#else /* C style interface */
3142
3143typedef struct ID3D12ResourceVtbl {
3145
3146 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3147 (
3149 REFIID riid,
3150 _COM_Outptr_ void **ppvObject);
3151
3152 ULONG(STDMETHODCALLTYPE *AddRef)
3153 (
3155
3156 ULONG(STDMETHODCALLTYPE *Release)
3157 (
3159
3160 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3161 (
3166
3167 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3168 (
3173
3174 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3175 (
3179
3180 HRESULT(STDMETHODCALLTYPE *SetName)
3181 (
3184
3185 HRESULT(STDMETHODCALLTYPE *GetDevice)
3186 (
3190
3191 HRESULT(STDMETHODCALLTYPE *Map)
3192 (
3196 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
3197
3198 void(STDMETHODCALLTYPE *Unmap)(
3202
3204 (
3206
3207 D3D12_GPU_VIRTUAL_ADDRESS(STDMETHODCALLTYPE *GetGPUVirtualAddress)
3208 (
3210
3211 HRESULT(STDMETHODCALLTYPE *WriteToSubresource)
3212 (
3216 _In_ const void *pSrcData,
3219
3220 HRESULT(STDMETHODCALLTYPE *ReadFromSubresource)
3221 (
3228
3229 HRESULT(STDMETHODCALLTYPE *GetHeapProperties)
3230 (
3234
3237
3239 CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
3240};
3241
3242#ifdef COBJMACROS
3243
3244#define ID3D12Resource_QueryInterface(This, riid, ppvObject) \
3245 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
3246
3247#define ID3D12Resource_AddRef(This) \
3248 ((This)->lpVtbl->AddRef(This))
3249
3250#define ID3D12Resource_Release(This) \
3251 ((This)->lpVtbl->Release(This))
3252
3253#define ID3D12Resource_GetPrivateData(This, guid, pDataSize, pData) \
3254 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
3255
3256#define ID3D12Resource_SetPrivateData(This, guid, DataSize, pData) \
3257 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
3258
3259#define ID3D12Resource_SetPrivateDataInterface(This, guid, pData) \
3260 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
3261
3262#define ID3D12Resource_SetName(This, Name) \
3263 ((This)->lpVtbl->SetName(This, Name))
3264
3265#define ID3D12Resource_GetDevice(This, riid, ppvDevice) \
3266 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
3267
3268#define ID3D12Resource_Map(This, Subresource, pReadRange, ppData) \
3269 ((This)->lpVtbl->Map(This, Subresource, pReadRange, ppData))
3270
3271#define ID3D12Resource_Unmap(This, Subresource, pWrittenRange) \
3272 ((This)->lpVtbl->Unmap(This, Subresource, pWrittenRange))
3273
3274#define ID3D12Resource_GetDesc(This) \
3275 ((This)->lpVtbl->GetDesc(This))
3276
3277#define ID3D12Resource_GetGPUVirtualAddress(This) \
3278 ((This)->lpVtbl->GetGPUVirtualAddress(This))
3279
3280#define ID3D12Resource_WriteToSubresource(This, DstSubresource, pDstBox, pSrcData, SrcRowPitch, SrcDepthPitch) \
3281 ((This)->lpVtbl->WriteToSubresource(This, DstSubresource, pDstBox, pSrcData, SrcRowPitch, SrcDepthPitch))
3282
3283#define ID3D12Resource_ReadFromSubresource(This, pDstData, DstRowPitch, DstDepthPitch, SrcSubresource, pSrcBox) \
3284 ((This)->lpVtbl->ReadFromSubresource(This, pDstData, DstRowPitch, DstDepthPitch, SrcSubresource, pSrcBox))
3285
3286#define ID3D12Resource_GetHeapProperties(This, pHeapProperties, pHeapFlags) \
3287 ((This)->lpVtbl->GetHeapProperties(This, pHeapProperties, pHeapFlags))
3288
3289#endif /* COBJMACROS */
3290
3291#endif /* C style interface */
3292
3293#endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
3294
3295#ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
3296#define __ID3D12CommandAllocator_INTERFACE_DEFINED__
3297
3298/* interface ID3D12CommandAllocator */
3299/* [unique][local][object][uuid] */
3300
3302
3303#if defined(__cplusplus) && !defined(CINTERFACE)
3304
3305MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
3307public:
3308 virtual HRESULT STDMETHODCALLTYPE Reset() = 0;
3309};
3310
3311#else /* C style interface */
3312
3315
3316 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3317 (
3319 REFIID riid,
3320 _COM_Outptr_ void **ppvObject);
3321
3322 ULONG(STDMETHODCALLTYPE *AddRef)
3323 (
3325
3326 ULONG(STDMETHODCALLTYPE *Release)
3327 (
3329
3330 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3331 (
3335 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3336
3337 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3338 (
3340 _In_ REFGUID guid,
3342 _In_reads_bytes_opt_(DataSize) const void *pData);
3343
3344 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3345 (
3347 _In_ REFGUID guid,
3349
3350 HRESULT(STDMETHODCALLTYPE *SetName)
3351 (
3354
3355 HRESULT(STDMETHODCALLTYPE *GetDevice)
3356 (
3360
3361 HRESULT(STDMETHODCALLTYPE *Reset)
3362 (
3364
3367
3368interface ID3D12CommandAllocator {
3370};
3371
3372#ifdef COBJMACROS
3373
3374#define ID3D12CommandAllocator_QueryInterface(This, riid, ppvObject) \
3375 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
3376
3377#define ID3D12CommandAllocator_AddRef(This) \
3378 ((This)->lpVtbl->AddRef(This))
3379
3380#define ID3D12CommandAllocator_Release(This) \
3381 ((This)->lpVtbl->Release(This))
3382
3383#define ID3D12CommandAllocator_GetPrivateData(This, guid, pDataSize, pData) \
3384 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
3385
3386#define ID3D12CommandAllocator_SetPrivateData(This, guid, DataSize, pData) \
3387 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
3388
3389#define ID3D12CommandAllocator_SetPrivateDataInterface(This, guid, pData) \
3390 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
3391
3392#define ID3D12CommandAllocator_SetName(This, Name) \
3393 ((This)->lpVtbl->SetName(This, Name))
3394
3395#define ID3D12CommandAllocator_GetDevice(This, riid, ppvDevice) \
3396 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
3397
3398#define ID3D12CommandAllocator_Reset(This) \
3399 ((This)->lpVtbl->Reset(This))
3400
3401#endif /* COBJMACROS */
3402
3403#endif /* C style interface */
3404
3405#endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
3406
3407#ifndef __ID3D12CommandList_INTERFACE_DEFINED__
3408#define __ID3D12CommandList_INTERFACE_DEFINED__
3409
3410/* interface ID3D12CommandList */
3411/* [unique][local][object][uuid] */
3412
3414
3415#if defined(__cplusplus) && !defined(CINTERFACE)
3416
3417MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
3419public:
3420 virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType() = 0;
3421};
3422
3423#else /* C style interface */
3424
3427
3428 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3429 (
3430 ID3D12CommandList *This,
3431 REFIID riid,
3432 _COM_Outptr_ void **ppvObject);
3433
3434 ULONG(STDMETHODCALLTYPE *AddRef)
3435 (
3437
3438 ULONG(STDMETHODCALLTYPE *Release)
3439 (
3440 ID3D12CommandList *This);
3441
3442 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3443 (
3444 ID3D12CommandList *This,
3447 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3448
3449 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3450 (
3451 ID3D12CommandList *This,
3452 _In_ REFGUID guid,
3454 _In_reads_bytes_opt_(DataSize) const void *pData);
3455
3456 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3457 (
3458 ID3D12CommandList *This,
3459 _In_ REFGUID guid,
3461
3462 HRESULT(STDMETHODCALLTYPE *SetName)
3463 (
3464 ID3D12CommandList *This,
3466
3467 HRESULT(STDMETHODCALLTYPE *GetDevice)
3468 (
3469 ID3D12CommandList *This,
3472
3474 (
3475 ID3D12CommandList *This);
3476
3479
3480interface ID3D12CommandList {
3481 CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
3482};
3483
3484#ifdef COBJMACROS
3485
3486#define ID3D12CommandList_QueryInterface(This, riid, ppvObject) \
3487 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
3488
3489#define ID3D12CommandList_AddRef(This) \
3490 ((This)->lpVtbl->AddRef(This))
3491
3492#define ID3D12CommandList_Release(This) \
3493 ((This)->lpVtbl->Release(This))
3494
3495#define ID3D12CommandList_GetPrivateData(This, guid, pDataSize, pData) \
3496 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
3497
3498#define ID3D12CommandList_SetPrivateData(This, guid, DataSize, pData) \
3499 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
3500
3501#define ID3D12CommandList_SetPrivateDataInterface(This, guid, pData) \
3502 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
3503
3504#define ID3D12CommandList_SetName(This, Name) \
3505 ((This)->lpVtbl->SetName(This, Name))
3506
3507#define ID3D12CommandList_GetDevice(This, riid, ppvDevice) \
3508 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
3509
3510#define ID3D12CommandList_GetType(This) \
3511 ((This)->lpVtbl->GetType(This))
3512
3513#endif /* COBJMACROS */
3514
3515#endif /* C style interface */
3516
3517#endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
3518
3519#ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
3520#define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
3521
3522/* interface ID3D12GraphicsCommandList */
3523/* [unique][local][object][uuid] */
3524
3526
3527#if defined(__cplusplus) && !defined(CINTERFACE)
3528
3529MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
3531public:
3532 virtual HRESULT STDMETHODCALLTYPE Close() = 0;
3533
3534 virtual HRESULT STDMETHODCALLTYPE Reset(
3535 _In_ ID3D12CommandAllocator * pAllocator,
3536 _In_opt_ ID3D12PipelineState * pInitialState) = 0;
3537
3538 virtual void STDMETHODCALLTYPE ClearState(
3539 _In_opt_ ID3D12PipelineState * pPipelineState) = 0;
3540
3541 virtual void STDMETHODCALLTYPE DrawInstanced(
3542 _In_ UINT VertexCountPerInstance,
3543 _In_ UINT InstanceCount,
3544 _In_ UINT StartVertexLocation,
3545 _In_ UINT StartInstanceLocation) = 0;
3546
3547 virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
3548 _In_ UINT IndexCountPerInstance,
3549 _In_ UINT InstanceCount,
3550 _In_ UINT StartIndexLocation,
3551 _In_ INT BaseVertexLocation,
3552 _In_ UINT StartInstanceLocation) = 0;
3553
3554 virtual void STDMETHODCALLTYPE Dispatch(
3555 _In_ UINT ThreadGroupCountX,
3556 _In_ UINT ThreadGroupCountY,
3557 _In_ UINT ThreadGroupCountZ) = 0;
3558
3559 virtual void STDMETHODCALLTYPE CopyBufferRegion(
3560 _In_ ID3D12Resource * pDstBuffer,
3561 UINT64 DstOffset,
3562 _In_ ID3D12Resource * pSrcBuffer,
3563 UINT64 SrcOffset,
3564 UINT64 NumBytes) = 0;
3565
3566 virtual void STDMETHODCALLTYPE CopyTextureRegion(
3568 UINT DstX,
3569 UINT DstY,
3570 UINT DstZ,
3572 _In_opt_ const D3D12_BOX *pSrcBox) = 0;
3573
3574 virtual void STDMETHODCALLTYPE CopyResource(
3575 _In_ ID3D12Resource * pDstResource,
3576 _In_ ID3D12Resource * pSrcResource) = 0;
3577
3578 virtual void STDMETHODCALLTYPE CopyTiles(
3579 _In_ ID3D12Resource * pTiledResource,
3580 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
3581 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
3582 _In_ ID3D12Resource *pBuffer,
3583 UINT64 BufferStartOffsetInBytes,
3584 D3D12_TILE_COPY_FLAGS Flags) = 0;
3585
3586 virtual void STDMETHODCALLTYPE ResolveSubresource(
3587 _In_ ID3D12Resource * pDstResource,
3589 _In_ ID3D12Resource * pSrcResource,
3591 _In_ DXGI_FORMAT Format) = 0;
3592
3593 virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
3594 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;
3595
3596 virtual void STDMETHODCALLTYPE RSSetViewports(
3598 _In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
3599
3600 virtual void STDMETHODCALLTYPE RSSetScissorRects(
3602 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3603
3604 virtual void STDMETHODCALLTYPE OMSetBlendFactor(
3605 _In_opt_ const FLOAT BlendFactor[4]) = 0;
3606
3607 virtual void STDMETHODCALLTYPE OMSetStencilRef(
3608 _In_ UINT StencilRef) = 0;
3609
3610 virtual void STDMETHODCALLTYPE SetPipelineState(
3611 _In_ ID3D12PipelineState * pPipelineState) = 0;
3612
3613 virtual void STDMETHODCALLTYPE ResourceBarrier(
3614 _In_ UINT NumBarriers,
3615 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
3616
3617 virtual void STDMETHODCALLTYPE ExecuteBundle(
3618 _In_ ID3D12GraphicsCommandList * pCommandList) = 0;
3619
3620 virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
3621 _In_ UINT NumDescriptorHeaps,
3622 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;
3623
3624 virtual void STDMETHODCALLTYPE SetComputeRootSignature(
3625 _In_opt_ ID3D12RootSignature * pRootSignature) = 0;
3626
3627 virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
3628 _In_opt_ ID3D12RootSignature * pRootSignature) = 0;
3629
3630 virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
3631 _In_ UINT RootParameterIndex,
3632 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
3633
3634 virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
3635 _In_ UINT RootParameterIndex,
3636 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
3637
3638 virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
3639 _In_ UINT RootParameterIndex,
3640 _In_ UINT SrcData,
3641 _In_ UINT DestOffsetIn32BitValues) = 0;
3642
3643 virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
3644 _In_ UINT RootParameterIndex,
3645 _In_ UINT SrcData,
3646 _In_ UINT DestOffsetIn32BitValues) = 0;
3647
3648 virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
3649 _In_ UINT RootParameterIndex,
3650 _In_ UINT Num32BitValuesToSet,
3651 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3652 _In_ UINT DestOffsetIn32BitValues) = 0;
3653
3654 virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
3655 _In_ UINT RootParameterIndex,
3656 _In_ UINT Num32BitValuesToSet,
3657 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3658 _In_ UINT DestOffsetIn32BitValues) = 0;
3659
3660 virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
3661 _In_ UINT RootParameterIndex,
3662 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3663
3664 virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
3665 _In_ UINT RootParameterIndex,
3666 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3667
3668 virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
3669 _In_ UINT RootParameterIndex,
3670 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3671
3672 virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
3673 _In_ UINT RootParameterIndex,
3674 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3675
3676 virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
3677 _In_ UINT RootParameterIndex,
3678 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3679
3680 virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
3681 _In_ UINT RootParameterIndex,
3682 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3683
3684 virtual void STDMETHODCALLTYPE IASetIndexBuffer(
3685 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0;
3686
3687 virtual void STDMETHODCALLTYPE IASetVertexBuffers(
3688 _In_ UINT StartSlot,
3689 _In_ UINT NumViews,
3690 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;
3691
3692 virtual void STDMETHODCALLTYPE SOSetTargets(
3693 _In_ UINT StartSlot,
3694 _In_ UINT NumViews,
3695 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;
3696
3697 virtual void STDMETHODCALLTYPE OMSetRenderTargets(
3698 _In_ UINT NumRenderTargetDescriptors,
3699 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
3700 _In_ BOOL RTsSingleHandleToDescriptorRange,
3701 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
3702
3703 virtual void STDMETHODCALLTYPE ClearDepthStencilView(
3704 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
3705 _In_ D3D12_CLEAR_FLAGS ClearFlags,
3706 _In_ FLOAT Depth,
3707 _In_ UINT8 Stencil,
3708 _In_ UINT NumRects,
3709 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3710
3711 virtual void STDMETHODCALLTYPE ClearRenderTargetView(
3712 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
3713 _In_ const FLOAT ColorRGBA[4],
3714 _In_ UINT NumRects,
3715 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3716
3717 virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
3718 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
3719 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
3720 _In_ ID3D12Resource * pResource,
3721 _In_ const UINT Values[4],
3722 _In_ UINT NumRects,
3723 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3724
3725 virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
3726 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
3727 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
3728 _In_ ID3D12Resource * pResource,
3729 _In_ const FLOAT Values[4],
3730 _In_ UINT NumRects,
3731 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3732
3733 virtual void STDMETHODCALLTYPE DiscardResource(
3734 _In_ ID3D12Resource * pResource,
3735 _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
3736
3737 virtual void STDMETHODCALLTYPE BeginQuery(
3738 _In_ ID3D12QueryHeap * pQueryHeap,
3740 _In_ UINT Index) = 0;
3741
3742 virtual void STDMETHODCALLTYPE EndQuery(
3743 _In_ ID3D12QueryHeap * pQueryHeap,
3745 _In_ UINT Index) = 0;
3746
3747 virtual void STDMETHODCALLTYPE ResolveQueryData(
3748 _In_ ID3D12QueryHeap * pQueryHeap,
3750 _In_ UINT StartIndex,
3751 _In_ UINT NumQueries,
3752 _In_ ID3D12Resource * pDestinationBuffer,
3753 _In_ UINT64 AlignedDestinationBufferOffset) = 0;
3754
3755 virtual void STDMETHODCALLTYPE SetPredication(
3756 _In_opt_ ID3D12Resource * pBuffer,
3757 _In_ UINT64 AlignedBufferOffset,
3758 _In_ D3D12_PREDICATION_OP Operation) = 0;
3759
3760 virtual void STDMETHODCALLTYPE SetMarker(
3761 UINT Metadata,
3762 _In_reads_bytes_opt_(Size) const void *pData,
3763 UINT Size) = 0;
3764
3765 virtual void STDMETHODCALLTYPE BeginEvent(
3766 UINT Metadata,
3767 _In_reads_bytes_opt_(Size) const void *pData,
3768 UINT Size) = 0;
3769
3770 virtual void STDMETHODCALLTYPE EndEvent() = 0;
3771
3772 virtual void STDMETHODCALLTYPE ExecuteIndirect(
3773 _In_ ID3D12CommandSignature * pCommandSignature,
3774 _In_ UINT MaxCommandCount,
3775 _In_ ID3D12Resource * pArgumentBuffer,
3776 _In_ UINT64 ArgumentBufferOffset,
3777 _In_opt_ ID3D12Resource * pCountBuffer,
3778 _In_ UINT64 CountBufferOffset) = 0;
3779};
3780
3781#else /* C style interface */
3782
3785
3786 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3787 (
3789 REFIID riid,
3790 _COM_Outptr_ void **ppvObject);
3791
3792 ULONG(STDMETHODCALLTYPE *AddRef)
3793 (
3795
3796 ULONG(STDMETHODCALLTYPE *Release)
3797 (
3799
3800 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3801 (
3805 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3806
3807 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3808 (
3810 _In_ REFGUID guid,
3812 _In_reads_bytes_opt_(DataSize) const void *pData);
3813
3814 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3815 (
3817 _In_ REFGUID guid,
3819
3820 HRESULT(STDMETHODCALLTYPE *SetName)
3821 (
3824
3825 HRESULT(STDMETHODCALLTYPE *GetDevice)
3826 (
3830
3832 (
3834
3835 HRESULT(STDMETHODCALLTYPE *Close)
3836 (
3838
3839 HRESULT(STDMETHODCALLTYPE *Reset)
3840 (
3844
3848
3849 void(STDMETHODCALLTYPE *DrawInstanced)(
3855
3856 void(STDMETHODCALLTYPE *DrawIndexedInstanced)(
3859 _In_ UINT InstanceCount,
3863
3869
3870 void(STDMETHODCALLTYPE *CopyBufferRegion)(
3877
3878 void(STDMETHODCALLTYPE *CopyTextureRegion)(
3886
3887 void(STDMETHODCALLTYPE *CopyResource)(
3891
3900
3901 void(STDMETHODCALLTYPE *ResolveSubresource)(
3903 _In_ ID3D12Resource *pDstResource,
3908
3909 void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(
3912
3913 void(STDMETHODCALLTYPE *RSSetViewports)(
3916 _In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports);
3917
3918 void(STDMETHODCALLTYPE *RSSetScissorRects)(
3921 _In_reads_(NumRects) const D3D12_RECT *pRects);
3922
3923 void(STDMETHODCALLTYPE *OMSetBlendFactor)(
3925 _In_opt_ const FLOAT BlendFactor[4]);
3926
3927 void(STDMETHODCALLTYPE *OMSetStencilRef)(
3930
3931 void(STDMETHODCALLTYPE *SetPipelineState)(
3934
3935 void(STDMETHODCALLTYPE *ResourceBarrier)(
3938 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
3939
3940 void(STDMETHODCALLTYPE *ExecuteBundle)(
3943
3944 void(STDMETHODCALLTYPE *SetDescriptorHeaps)(
3947 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
3948
3949 void(STDMETHODCALLTYPE *SetComputeRootSignature)(
3952
3953 void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(
3955 _In_opt_ ID3D12RootSignature *pRootSignature);
3956
3957 void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
3961
3962 void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
3964 _In_ UINT RootParameterIndex,
3965 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
3966
3967 void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
3969 _In_ UINT RootParameterIndex,
3972
3973 void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
3975 _In_ UINT RootParameterIndex,
3976 _In_ UINT SrcData,
3977 _In_ UINT DestOffsetIn32BitValues);
3978
3979 void(STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
3981 _In_ UINT RootParameterIndex,
3983 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3984 _In_ UINT DestOffsetIn32BitValues);
3985
3986 void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
3988 _In_ UINT RootParameterIndex,
3989 _In_ UINT Num32BitValuesToSet,
3990 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3991 _In_ UINT DestOffsetIn32BitValues);
3992
3993 void(STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
3995 _In_ UINT RootParameterIndex,
3997
3998 void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
4000 _In_ UINT RootParameterIndex,
4001 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4002
4003 void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
4005 _In_ UINT RootParameterIndex,
4006 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4007
4008 void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
4010 _In_ UINT RootParameterIndex,
4011 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4012
4013 void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
4015 _In_ UINT RootParameterIndex,
4016 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4017
4018 void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
4020 _In_ UINT RootParameterIndex,
4021 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4022
4023 void(STDMETHODCALLTYPE *IASetIndexBuffer)(
4026
4027 void(STDMETHODCALLTYPE *IASetVertexBuffers)(
4032
4033 void(STDMETHODCALLTYPE *SOSetTargets)(
4035 _In_ UINT StartSlot,
4036 _In_ UINT NumViews,
4038
4039 void(STDMETHODCALLTYPE *OMSetRenderTargets)(
4045
4046 void(STDMETHODCALLTYPE *ClearDepthStencilView)(
4053 _In_reads_(NumRects) const D3D12_RECT *pRects);
4054
4055 void(STDMETHODCALLTYPE *ClearRenderTargetView)(
4058 _In_ const FLOAT ColorRGBA[4],
4060 _In_reads_(NumRects) const D3D12_RECT *pRects);
4061
4062 void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
4067 _In_ const UINT Values[4],
4069 _In_reads_(NumRects) const D3D12_RECT *pRects);
4070
4071 void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
4073 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
4074 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
4075 _In_ ID3D12Resource *pResource,
4076 _In_ const FLOAT Values[4],
4078 _In_reads_(NumRects) const D3D12_RECT *pRects);
4079
4080 void(STDMETHODCALLTYPE *DiscardResource)(
4084
4090
4093 _In_ ID3D12QueryHeap *pQueryHeap,
4095 _In_ UINT Index);
4096
4097 void(STDMETHODCALLTYPE *ResolveQueryData)(
4099 _In_ ID3D12QueryHeap *pQueryHeap,
4105
4106 void(STDMETHODCALLTYPE *SetPredication)(
4111
4115 _In_reads_bytes_opt_(Size) const void *pData,
4117
4120 UINT Metadata,
4121 _In_reads_bytes_opt_(Size) const void *pData,
4122 UINT Size);
4123
4126
4127 void(STDMETHODCALLTYPE *ExecuteIndirect)(
4135
4138
4139interface ID3D12GraphicsCommandList {
4141};
4142
4143#ifdef COBJMACROS
4144
4145#define ID3D12GraphicsCommandList_QueryInterface(This, riid, ppvObject) \
4146 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
4147
4148#define ID3D12GraphicsCommandList_AddRef(This) \
4149 ((This)->lpVtbl->AddRef(This))
4150
4151#define ID3D12GraphicsCommandList_Release(This) \
4152 ((This)->lpVtbl->Release(This))
4153
4154#define ID3D12GraphicsCommandList_GetPrivateData(This, guid, pDataSize, pData) \
4155 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
4156
4157#define ID3D12GraphicsCommandList_SetPrivateData(This, guid, DataSize, pData) \
4158 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
4159
4160#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This, guid, pData) \
4161 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
4162
4163#define ID3D12GraphicsCommandList_SetName(This, Name) \
4164 ((This)->lpVtbl->SetName(This, Name))
4165
4166#define ID3D12GraphicsCommandList_GetDevice(This, riid, ppvDevice) \
4167 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
4168
4169#define ID3D12GraphicsCommandList_GetType(This) \
4170 ((This)->lpVtbl->GetType(This))
4171
4172#define ID3D12GraphicsCommandList_Close(This) \
4173 ((This)->lpVtbl->Close(This))
4174
4175#define ID3D12GraphicsCommandList_Reset(This, pAllocator, pInitialState) \
4176 ((This)->lpVtbl->Reset(This, pAllocator, pInitialState))
4177
4178#define ID3D12GraphicsCommandList_ClearState(This, pPipelineState) \
4179 ((This)->lpVtbl->ClearState(This, pPipelineState))
4180
4181#define ID3D12GraphicsCommandList_DrawInstanced(This, VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation) \
4182 ((This)->lpVtbl->DrawInstanced(This, VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation))
4183
4184#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This, IndexCountPerInstance, InstanceCount, StartIndexLocation, BaseVertexLocation, StartInstanceLocation) \
4185 ((This)->lpVtbl->DrawIndexedInstanced(This, IndexCountPerInstance, InstanceCount, StartIndexLocation, BaseVertexLocation, StartInstanceLocation))
4186
4187#define ID3D12GraphicsCommandList_Dispatch(This, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ) \
4188 ((This)->lpVtbl->Dispatch(This, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ))
4189
4190#define ID3D12GraphicsCommandList_CopyBufferRegion(This, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, NumBytes) \
4191 ((This)->lpVtbl->CopyBufferRegion(This, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, NumBytes))
4192
4193#define ID3D12GraphicsCommandList_CopyTextureRegion(This, pDst, DstX, DstY, DstZ, pSrc, pSrcBox) \
4194 ((This)->lpVtbl->CopyTextureRegion(This, pDst, DstX, DstY, DstZ, pSrc, pSrcBox))
4195
4196#define ID3D12GraphicsCommandList_CopyResource(This, pDstResource, pSrcResource) \
4197 ((This)->lpVtbl->CopyResource(This, pDstResource, pSrcResource))
4198
4199#define ID3D12GraphicsCommandList_CopyTiles(This, pTiledResource, pTileRegionStartCoordinate, pTileRegionSize, pBuffer, BufferStartOffsetInBytes, Flags) \
4200 ((This)->lpVtbl->CopyTiles(This, pTiledResource, pTileRegionStartCoordinate, pTileRegionSize, pBuffer, BufferStartOffsetInBytes, Flags))
4201
4202#define ID3D12GraphicsCommandList_ResolveSubresource(This, pDstResource, DstSubresource, pSrcResource, SrcSubresource, Format) \
4203 ((This)->lpVtbl->ResolveSubresource(This, pDstResource, DstSubresource, pSrcResource, SrcSubresource, Format))
4204
4205#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This, PrimitiveTopology) \
4206 ((This)->lpVtbl->IASetPrimitiveTopology(This, PrimitiveTopology))
4207
4208#define ID3D12GraphicsCommandList_RSSetViewports(This, NumViewports, pViewports) \
4209 ((This)->lpVtbl->RSSetViewports(This, NumViewports, pViewports))
4210
4211#define ID3D12GraphicsCommandList_RSSetScissorRects(This, NumRects, pRects) \
4212 ((This)->lpVtbl->RSSetScissorRects(This, NumRects, pRects))
4213
4214#define ID3D12GraphicsCommandList_OMSetBlendFactor(This, BlendFactor) \
4215 ((This)->lpVtbl->OMSetBlendFactor(This, BlendFactor))
4216
4217#define ID3D12GraphicsCommandList_OMSetStencilRef(This, StencilRef) \
4218 ((This)->lpVtbl->OMSetStencilRef(This, StencilRef))
4219
4220#define ID3D12GraphicsCommandList_SetPipelineState(This, pPipelineState) \
4221 ((This)->lpVtbl->SetPipelineState(This, pPipelineState))
4222
4223#define ID3D12GraphicsCommandList_ResourceBarrier(This, NumBarriers, pBarriers) \
4224 ((This)->lpVtbl->ResourceBarrier(This, NumBarriers, pBarriers))
4225
4226#define ID3D12GraphicsCommandList_ExecuteBundle(This, pCommandList) \
4227 ((This)->lpVtbl->ExecuteBundle(This, pCommandList))
4228
4229#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This, NumDescriptorHeaps, ppDescriptorHeaps) \
4230 ((This)->lpVtbl->SetDescriptorHeaps(This, NumDescriptorHeaps, ppDescriptorHeaps))
4231
4232#define ID3D12GraphicsCommandList_SetComputeRootSignature(This, pRootSignature) \
4233 ((This)->lpVtbl->SetComputeRootSignature(This, pRootSignature))
4234
4235#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This, pRootSignature) \
4236 ((This)->lpVtbl->SetGraphicsRootSignature(This, pRootSignature))
4237
4238#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This, RootParameterIndex, BaseDescriptor) \
4239 ((This)->lpVtbl->SetComputeRootDescriptorTable(This, RootParameterIndex, BaseDescriptor))
4240
4241#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This, RootParameterIndex, BaseDescriptor) \
4242 ((This)->lpVtbl->SetGraphicsRootDescriptorTable(This, RootParameterIndex, BaseDescriptor))
4243
4244#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues) \
4245 ((This)->lpVtbl->SetComputeRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues))
4246
4247#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues) \
4248 ((This)->lpVtbl->SetGraphicsRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues))
4249
4250#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues) \
4251 ((This)->lpVtbl->SetComputeRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues))
4252
4253#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues) \
4254 ((This)->lpVtbl->SetGraphicsRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues))
4255
4256#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This, RootParameterIndex, BufferLocation) \
4257 ((This)->lpVtbl->SetComputeRootConstantBufferView(This, RootParameterIndex, BufferLocation))
4258
4259#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This, RootParameterIndex, BufferLocation) \
4260 ((This)->lpVtbl->SetGraphicsRootConstantBufferView(This, RootParameterIndex, BufferLocation))
4261
4262#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This, RootParameterIndex, BufferLocation) \
4263 ((This)->lpVtbl->SetComputeRootShaderResourceView(This, RootParameterIndex, BufferLocation))
4264
4265#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This, RootParameterIndex, BufferLocation) \
4266 ((This)->lpVtbl->SetGraphicsRootShaderResourceView(This, RootParameterIndex, BufferLocation))
4267
4268#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This, RootParameterIndex, BufferLocation) \
4269 ((This)->lpVtbl->SetComputeRootUnorderedAccessView(This, RootParameterIndex, BufferLocation))
4270
4271#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This, RootParameterIndex, BufferLocation) \
4272 ((This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This, RootParameterIndex, BufferLocation))
4273
4274#define ID3D12GraphicsCommandList_IASetIndexBuffer(This, pView) \
4275 ((This)->lpVtbl->IASetIndexBuffer(This, pView))
4276
4277#define ID3D12GraphicsCommandList_IASetVertexBuffers(This, StartSlot, NumViews, pViews) \
4278 ((This)->lpVtbl->IASetVertexBuffers(This, StartSlot, NumViews, pViews))
4279
4280#define ID3D12GraphicsCommandList_SOSetTargets(This, StartSlot, NumViews, pViews) \
4281 ((This)->lpVtbl->SOSetTargets(This, StartSlot, NumViews, pViews))
4282
4283#define ID3D12GraphicsCommandList_OMSetRenderTargets(This, NumRenderTargetDescriptors, pRenderTargetDescriptors, RTsSingleHandleToDescriptorRange, pDepthStencilDescriptor) \
4284 ((This)->lpVtbl->OMSetRenderTargets(This, NumRenderTargetDescriptors, pRenderTargetDescriptors, RTsSingleHandleToDescriptorRange, pDepthStencilDescriptor))
4285
4286#define ID3D12GraphicsCommandList_ClearDepthStencilView(This, DepthStencilView, ClearFlags, Depth, Stencil, NumRects, pRects) \
4287 ((This)->lpVtbl->ClearDepthStencilView(This, DepthStencilView, ClearFlags, Depth, Stencil, NumRects, pRects))
4288
4289#define ID3D12GraphicsCommandList_ClearRenderTargetView(This, RenderTargetView, ColorRGBA, NumRects, pRects) \
4290 ((This)->lpVtbl->ClearRenderTargetView(This, RenderTargetView, ColorRGBA, NumRects, pRects))
4291
4292#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects) \
4293 ((This)->lpVtbl->ClearUnorderedAccessViewUint(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects))
4294
4295#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects) \
4296 ((This)->lpVtbl->ClearUnorderedAccessViewFloat(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects))
4297
4298#define ID3D12GraphicsCommandList_DiscardResource(This, pResource, pRegion) \
4299 ((This)->lpVtbl->DiscardResource(This, pResource, pRegion))
4300
4301#define ID3D12GraphicsCommandList_BeginQuery(This, pQueryHeap, Type, Index) \
4302 ((This)->lpVtbl->BeginQuery(This, pQueryHeap, Type, Index))
4303
4304#define ID3D12GraphicsCommandList_EndQuery(This, pQueryHeap, Type, Index) \
4305 ((This)->lpVtbl->EndQuery(This, pQueryHeap, Type, Index))
4306
4307#define ID3D12GraphicsCommandList_ResolveQueryData(This, pQueryHeap, Type, StartIndex, NumQueries, pDestinationBuffer, AlignedDestinationBufferOffset) \
4308 ((This)->lpVtbl->ResolveQueryData(This, pQueryHeap, Type, StartIndex, NumQueries, pDestinationBuffer, AlignedDestinationBufferOffset))
4309
4310#define ID3D12GraphicsCommandList_SetPredication(This, pBuffer, AlignedBufferOffset, Operation) \
4311 ((This)->lpVtbl->SetPredication(This, pBuffer, AlignedBufferOffset, Operation))
4312
4313#define ID3D12GraphicsCommandList_SetMarker(This, Metadata, pData, Size) \
4314 ((This)->lpVtbl->SetMarker(This, Metadata, pData, Size))
4315
4316#define ID3D12GraphicsCommandList_BeginEvent(This, Metadata, pData, Size) \
4317 ((This)->lpVtbl->BeginEvent(This, Metadata, pData, Size))
4318
4319#define ID3D12GraphicsCommandList_EndEvent(This) \
4320 ((This)->lpVtbl->EndEvent(This))
4321
4322#define ID3D12GraphicsCommandList_ExecuteIndirect(This, pCommandSignature, MaxCommandCount, pArgumentBuffer, ArgumentBufferOffset, pCountBuffer, CountBufferOffset) \
4323 ((This)->lpVtbl->ExecuteIndirect(This, pCommandSignature, MaxCommandCount, pArgumentBuffer, ArgumentBufferOffset, pCountBuffer, CountBufferOffset))
4324
4325#endif /* COBJMACROS */
4326
4327#endif /* C style interface */
4328
4329#endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
4330
4331#ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
4332#define __ID3D12CommandQueue_INTERFACE_DEFINED__
4333
4334/* interface ID3D12CommandQueue */
4335/* [unique][local][object][uuid] */
4336
4338
4339#if defined(__cplusplus) && !defined(CINTERFACE)
4340
4341MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
4343public:
4344 virtual void STDMETHODCALLTYPE UpdateTileMappings(
4345 _In_ ID3D12Resource * pResource,
4346 UINT NumResourceRegions,
4347 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
4348 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
4349 _In_opt_ ID3D12Heap *pHeap,
4350 UINT NumRanges,
4351 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
4352 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
4353 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
4354 D3D12_TILE_MAPPING_FLAGS Flags) = 0;
4355
4356 virtual void STDMETHODCALLTYPE CopyTileMappings(
4357 _In_ ID3D12Resource * pDstResource,
4358 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
4359 _In_ ID3D12Resource *pSrcResource,
4360 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
4361 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
4362 D3D12_TILE_MAPPING_FLAGS Flags) = 0;
4363
4364 virtual void STDMETHODCALLTYPE ExecuteCommandLists(
4365 _In_ UINT NumCommandLists,
4366 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
4367
4368 virtual void STDMETHODCALLTYPE SetMarker(
4369 UINT Metadata,
4370 _In_reads_bytes_opt_(Size) const void *pData,
4371 UINT Size) = 0;
4372
4373 virtual void STDMETHODCALLTYPE BeginEvent(
4374 UINT Metadata,
4375 _In_reads_bytes_opt_(Size) const void *pData,
4376 UINT Size) = 0;
4377
4378 virtual void STDMETHODCALLTYPE EndEvent() = 0;
4379
4380 virtual HRESULT STDMETHODCALLTYPE Signal(
4381 ID3D12Fence * pFence,
4382 UINT64 Value) = 0;
4383
4384 virtual HRESULT STDMETHODCALLTYPE Wait(
4385 ID3D12Fence * pFence,
4386 UINT64 Value) = 0;
4387
4388 virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
4389 _Out_ UINT64 * pFrequency) = 0;
4390
4391 virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
4392 _Out_ UINT64 * pGpuTimestamp,
4393 _Out_ UINT64 * pCpuTimestamp) = 0;
4394
4395 virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc() = 0;
4396};
4397
4398#else /* C style interface */
4399
4402
4403 HRESULT(STDMETHODCALLTYPE *QueryInterface)
4404 (
4405 ID3D12CommandQueue *This,
4406 REFIID riid,
4407 _COM_Outptr_ void **ppvObject);
4408
4409 ULONG(STDMETHODCALLTYPE *AddRef)
4410 (
4412
4413 ULONG(STDMETHODCALLTYPE *Release)
4414 (
4415 ID3D12CommandQueue *This);
4416
4417 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4418 (
4419 ID3D12CommandQueue *This,
4422 _Out_writes_bytes_opt_(*pDataSize) void *pData);
4423
4424 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4425 (
4426 ID3D12CommandQueue *This,
4427 _In_ REFGUID guid,
4429 _In_reads_bytes_opt_(DataSize) const void *pData);
4430
4431 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4432 (
4433 ID3D12CommandQueue *This,
4434 _In_ REFGUID guid,
4436
4437 HRESULT(STDMETHODCALLTYPE *SetName)
4438 (
4439 ID3D12CommandQueue *This,
4441
4442 HRESULT(STDMETHODCALLTYPE *GetDevice)
4443 (
4444 ID3D12CommandQueue *This,
4447
4448 void(STDMETHODCALLTYPE *UpdateTileMappings)(
4449 ID3D12CommandQueue *This,
4452 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
4453 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
4456 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
4457 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
4458 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
4460
4461 void(STDMETHODCALLTYPE *CopyTileMappings)(
4462 ID3D12CommandQueue *This,
4469
4470 void(STDMETHODCALLTYPE *ExecuteCommandLists)(
4471 ID3D12CommandQueue *This,
4473 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
4474
4476 ID3D12CommandQueue *This,
4478 _In_reads_bytes_opt_(Size) const void *pData,
4480
4482 ID3D12CommandQueue *This,
4483 UINT Metadata,
4484 _In_reads_bytes_opt_(Size) const void *pData,
4485 UINT Size);
4486
4488 ID3D12CommandQueue *This);
4489
4490 HRESULT(STDMETHODCALLTYPE *Signal)
4491 (
4492 ID3D12CommandQueue *This,
4495
4496 HRESULT(STDMETHODCALLTYPE *Wait)
4497 (
4498 ID3D12CommandQueue *This,
4499 ID3D12Fence *pFence,
4500 UINT64 Value);
4501
4502 HRESULT(STDMETHODCALLTYPE *GetTimestampFrequency)
4503 (
4504 ID3D12CommandQueue *This,
4506
4507 HRESULT(STDMETHODCALLTYPE *GetClockCalibration)
4508 (
4509 ID3D12CommandQueue *This,
4512
4514 (
4515 ID3D12CommandQueue *This);
4516
4519
4520interface ID3D12CommandQueue {
4521 CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
4522};
4523
4524#ifdef COBJMACROS
4525
4526#define ID3D12CommandQueue_QueryInterface(This, riid, ppvObject) \
4527 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
4528
4529#define ID3D12CommandQueue_AddRef(This) \
4530 ((This)->lpVtbl->AddRef(This))
4531
4532#define ID3D12CommandQueue_Release(This) \
4533 ((This)->lpVtbl->Release(This))
4534
4535#define ID3D12CommandQueue_GetPrivateData(This, guid, pDataSize, pData) \
4536 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
4537
4538#define ID3D12CommandQueue_SetPrivateData(This, guid, DataSize, pData) \
4539 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
4540
4541#define ID3D12CommandQueue_SetPrivateDataInterface(This, guid, pData) \
4542 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
4543
4544#define ID3D12CommandQueue_SetName(This, Name) \
4545 ((This)->lpVtbl->SetName(This, Name))
4546
4547#define ID3D12CommandQueue_GetDevice(This, riid, ppvDevice) \
4548 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
4549
4550#define ID3D12CommandQueue_UpdateTileMappings(This, pResource, NumResourceRegions, pResourceRegionStartCoordinates, pResourceRegionSizes, pHeap, NumRanges, pRangeFlags, pHeapRangeStartOffsets, pRangeTileCounts, Flags) \
4551 ((This)->lpVtbl->UpdateTileMappings(This, pResource, NumResourceRegions, pResourceRegionStartCoordinates, pResourceRegionSizes, pHeap, NumRanges, pRangeFlags, pHeapRangeStartOffsets, pRangeTileCounts, Flags))
4552
4553#define ID3D12CommandQueue_CopyTileMappings(This, pDstResource, pDstRegionStartCoordinate, pSrcResource, pSrcRegionStartCoordinate, pRegionSize, Flags) \
4554 ((This)->lpVtbl->CopyTileMappings(This, pDstResource, pDstRegionStartCoordinate, pSrcResource, pSrcRegionStartCoordinate, pRegionSize, Flags))
4555
4556#define ID3D12CommandQueue_ExecuteCommandLists(This, NumCommandLists, ppCommandLists) \
4557 ((This)->lpVtbl->ExecuteCommandLists(This, NumCommandLists, ppCommandLists))
4558
4559#define ID3D12CommandQueue_SetMarker(This, Metadata, pData, Size) \
4560 ((This)->lpVtbl->SetMarker(This, Metadata, pData, Size))
4561
4562#define ID3D12CommandQueue_BeginEvent(This, Metadata, pData, Size) \
4563 ((This)->lpVtbl->BeginEvent(This, Metadata, pData, Size))
4564
4565#define ID3D12CommandQueue_EndEvent(This) \
4566 ((This)->lpVtbl->EndEvent(This))
4567
4568#define ID3D12CommandQueue_Signal(This, pFence, Value) \
4569 ((This)->lpVtbl->Signal(This, pFence, Value))
4570
4571#define ID3D12CommandQueue_Wait(This, pFence, Value) \
4572 ((This)->lpVtbl->Wait(This, pFence, Value))
4573
4574#define ID3D12CommandQueue_GetTimestampFrequency(This, pFrequency) \
4575 ((This)->lpVtbl->GetTimestampFrequency(This, pFrequency))
4576
4577#define ID3D12CommandQueue_GetClockCalibration(This, pGpuTimestamp, pCpuTimestamp) \
4578 ((This)->lpVtbl->GetClockCalibration(This, pGpuTimestamp, pCpuTimestamp))
4579
4580#define ID3D12CommandQueue_GetDesc(This) \
4581 ((This)->lpVtbl->GetDesc(This))
4582
4583#endif /* COBJMACROS */
4584
4585#endif /* C style interface */
4586
4587#endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
4588
4589#ifdef __midl
4590#ifndef LUID_DEFINED
4591#define LUID_DEFINED 1
4592typedef struct __LUID {
4596
4597typedef struct __LUID *PLUID;
4598
4599#endif
4600#endif
4601
4602#define D3D12_REQ_SUBRESOURCES (30720)
4603
4604#ifndef __ID3D12Device_INTERFACE_DEFINED__
4605#define __ID3D12Device_INTERFACE_DEFINED__
4606
4607/* interface ID3D12Device */
4608/* [unique][local][object][uuid] */
4609
4611
4612#if defined(__cplusplus) && !defined(CINTERFACE)
4613
4614MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
4615ID3D12Device : public ID3D12Object {
4616public:
4617 virtual UINT STDMETHODCALLTYPE GetNodeCount() = 0;
4618
4619 virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
4620 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
4621 REFIID riid,
4622 _COM_Outptr_ void **ppCommandQueue) = 0;
4623
4624 virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
4626 REFIID riid,
4627 _COM_Outptr_ void **ppCommandAllocator) = 0;
4628
4629 virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
4631 REFIID riid,
4632 _COM_Outptr_ void **ppPipelineState) = 0;
4633
4634 virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
4636 REFIID riid,
4637 _COM_Outptr_ void **ppPipelineState) = 0;
4638
4639 virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
4640 _In_ UINT nodeMask,
4642 _In_ ID3D12CommandAllocator * pCommandAllocator,
4643 _In_opt_ ID3D12PipelineState * pInitialState,
4644 REFIID riid,
4645 _COM_Outptr_ void **ppCommandList) = 0;
4646
4647 virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
4648 D3D12_FEATURE Feature,
4649 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
4650 UINT FeatureSupportDataSize) = 0;
4651
4652 virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
4653 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
4654 REFIID riid,
4655 _COM_Outptr_ void **ppvHeap) = 0;
4656
4657 virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
4658 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
4659
4660 virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
4661 _In_ UINT nodeMask,
4662 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
4663 _In_ SIZE_T blobLengthInBytes,
4664 REFIID riid,
4665 _COM_Outptr_ void **ppvRootSignature) = 0;
4666
4667 virtual void STDMETHODCALLTYPE CreateConstantBufferView(
4669 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4670
4671 virtual void STDMETHODCALLTYPE CreateShaderResourceView(
4672 _In_opt_ ID3D12Resource * pResource,
4674 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4675
4676 virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
4677 _In_opt_ ID3D12Resource * pResource,
4678 _In_opt_ ID3D12Resource * pCounterResource,
4680 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4681
4682 virtual void STDMETHODCALLTYPE CreateRenderTargetView(
4683 _In_opt_ ID3D12Resource * pResource,
4685 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4686
4687 virtual void STDMETHODCALLTYPE CreateDepthStencilView(
4688 _In_opt_ ID3D12Resource * pResource,
4690 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4691
4692 virtual void STDMETHODCALLTYPE CreateSampler(
4693 _In_ const D3D12_SAMPLER_DESC *pDesc,
4694 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4695
4696 virtual void STDMETHODCALLTYPE CopyDescriptors(
4697 _In_ UINT NumDestDescriptorRanges,
4698 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
4699 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
4700 _In_ UINT NumSrcDescriptorRanges,
4701 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
4702 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
4703 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
4704
4705 virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
4706 _In_ UINT NumDescriptors,
4707 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
4708 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
4709 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
4710
4711 virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
4712 _In_ UINT visibleMask,
4713 _In_ UINT numResourceDescs,
4714 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
4715
4716 virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
4717 _In_ UINT nodeMask,
4718 D3D12_HEAP_TYPE heapType) = 0;
4719
4720 virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
4722 D3D12_HEAP_FLAGS HeapFlags,
4723 _In_ const D3D12_RESOURCE_DESC *pDesc,
4724 D3D12_RESOURCE_STATES InitialResourceState,
4725 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
4726 REFIID riidResource,
4727 _COM_Outptr_opt_ void **ppvResource) = 0;
4728
4729 virtual HRESULT STDMETHODCALLTYPE CreateHeap(
4730 _In_ const D3D12_HEAP_DESC *pDesc,
4731 REFIID riid,
4732 _COM_Outptr_opt_ void **ppvHeap) = 0;
4733
4734 virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
4735 _In_ ID3D12Heap * pHeap,
4736 UINT64 HeapOffset,
4737 _In_ const D3D12_RESOURCE_DESC *pDesc,
4738 D3D12_RESOURCE_STATES InitialState,
4739 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
4740 REFIID riid,
4741 _COM_Outptr_opt_ void **ppvResource) = 0;
4742
4743 virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
4744 _In_ const D3D12_RESOURCE_DESC *pDesc,
4745 D3D12_RESOURCE_STATES InitialState,
4746 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
4747 REFIID riid,
4748 _COM_Outptr_opt_ void **ppvResource) = 0;
4749
4750 virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
4751 _In_ ID3D12DeviceChild * pObject,
4752 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
4753 DWORD Access,
4755 _Out_ HANDLE *pHandle) = 0;
4756
4757 virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
4758 _In_ HANDLE NTHandle,
4759 REFIID riid,
4760 _COM_Outptr_opt_ void **ppvObj) = 0;
4761
4762 virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
4764 DWORD Access,
4765 /* [annotation][out] */
4766 _Out_ HANDLE * pNTHandle) = 0;
4767
4768 virtual HRESULT STDMETHODCALLTYPE MakeResident(
4769 UINT NumObjects,
4770 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
4771
4772 virtual HRESULT STDMETHODCALLTYPE Evict(
4773 UINT NumObjects,
4774 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
4775
4776 virtual HRESULT STDMETHODCALLTYPE CreateFence(
4777 UINT64 InitialValue,
4778 D3D12_FENCE_FLAGS Flags,
4779 REFIID riid,
4780 _COM_Outptr_ void **ppFence) = 0;
4781
4782 virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason() = 0;
4783
4784 virtual void STDMETHODCALLTYPE GetCopyableFootprints(
4785 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
4786 _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
4787 _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources,
4788 UINT64 BaseOffset,
4789 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
4790 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
4791 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
4792 _Out_opt_ UINT64 *pTotalBytes) = 0;
4793
4794 virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
4795 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
4796 REFIID riid,
4797 _COM_Outptr_opt_ void **ppvHeap) = 0;
4798
4799 virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
4800 BOOL Enable) = 0;
4801
4802 virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
4804 _In_opt_ ID3D12RootSignature *pRootSignature,
4805 REFIID riid,
4806 _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
4807
4808 virtual void STDMETHODCALLTYPE GetResourceTiling(
4809 _In_ ID3D12Resource * pTiledResource,
4810 _Out_opt_ UINT * pNumTilesForEntireResource,
4811 _Out_opt_ D3D12_PACKED_MIP_INFO * pPackedMipDesc,
4812 _Out_opt_ D3D12_TILE_SHAPE * pStandardTileShapeForNonPackedMips,
4813 _Inout_opt_ UINT * pNumSubresourceTilings,
4814 _In_ UINT FirstSubresourceTilingToGet,
4815 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips) = 0;
4816
4817 virtual LUID STDMETHODCALLTYPE GetAdapterLuid() = 0;
4818};
4819
4820#else /* C style interface */
4821
4822typedef struct ID3D12DeviceVtbl {
4824
4825 HRESULT(STDMETHODCALLTYPE *QueryInterface)
4826 (
4827 ID3D12Device *This,
4828 REFIID riid,
4829 _COM_Outptr_ void **ppvObject);
4830
4831 ULONG(STDMETHODCALLTYPE *AddRef)
4832 (
4834
4835 ULONG(STDMETHODCALLTYPE *Release)
4836 (
4837 ID3D12Device *This);
4838
4839 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4840 (
4841 ID3D12Device *This,
4844 _Out_writes_bytes_opt_(*pDataSize) void *pData);
4845
4846 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4847 (
4848 ID3D12Device *This,
4849 _In_ REFGUID guid,
4851 _In_reads_bytes_opt_(DataSize) const void *pData);
4852
4853 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4854 (
4855 ID3D12Device *This,
4856 _In_ REFGUID guid,
4858
4859 HRESULT(STDMETHODCALLTYPE *SetName)
4860 (
4861 ID3D12Device *This,
4863
4864 UINT(STDMETHODCALLTYPE *GetNodeCount)
4865 (
4866 ID3D12Device *This);
4867
4868 HRESULT(STDMETHODCALLTYPE *CreateCommandQueue)
4869 (
4870 ID3D12Device *This,
4874
4875 HRESULT(STDMETHODCALLTYPE *CreateCommandAllocator)
4876 (
4877 ID3D12Device *This,
4881
4882 HRESULT(STDMETHODCALLTYPE *CreateGraphicsPipelineState)
4883 (
4884 ID3D12Device *This,
4888
4889 HRESULT(STDMETHODCALLTYPE *CreateComputePipelineState)
4890 (
4891 ID3D12Device *This,
4895
4896 HRESULT(STDMETHODCALLTYPE *CreateCommandList)
4897 (
4898 ID3D12Device *This,
4905
4906 HRESULT(STDMETHODCALLTYPE *CheckFeatureSupport)
4907 (
4908 ID3D12Device *This,
4910 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
4912
4913 HRESULT(STDMETHODCALLTYPE *CreateDescriptorHeap)
4914 (
4915 ID3D12Device *This,
4919
4920 UINT(STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)
4921 (
4922 ID3D12Device *This,
4924
4925 HRESULT(STDMETHODCALLTYPE *CreateRootSignature)
4926 (
4927 ID3D12Device *This,
4928 _In_ UINT nodeMask,
4929 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
4933
4934 void(STDMETHODCALLTYPE *CreateConstantBufferView)(
4935 ID3D12Device *This,
4938
4939 void(STDMETHODCALLTYPE *CreateShaderResourceView)(
4940 ID3D12Device *This,
4944
4945 void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(
4946 ID3D12Device *This,
4947 _In_opt_ ID3D12Resource *pResource,
4951
4952 void(STDMETHODCALLTYPE *CreateRenderTargetView)(
4953 ID3D12Device *This,
4954 _In_opt_ ID3D12Resource *pResource,
4957
4958 void(STDMETHODCALLTYPE *CreateDepthStencilView)(
4959 ID3D12Device *This,
4960 _In_opt_ ID3D12Resource *pResource,
4963
4964 void(STDMETHODCALLTYPE *CreateSampler)(
4965 ID3D12Device *This,
4968
4969 void(STDMETHODCALLTYPE *CopyDescriptors)(
4970 ID3D12Device *This,
4972 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
4973 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
4975 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
4976 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
4978
4979 void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(
4980 ID3D12Device *This,
4985
4986 D3D12_RESOURCE_ALLOCATION_INFO(STDMETHODCALLTYPE *GetResourceAllocationInfo)
4987 (
4988 ID3D12Device *This,
4991 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
4992
4993 D3D12_HEAP_PROPERTIES(STDMETHODCALLTYPE *GetCustomHeapProperties)
4994 (
4995 ID3D12Device *This,
4996 _In_ UINT nodeMask,
4998
4999 HRESULT(STDMETHODCALLTYPE *CreateCommittedResource)
5000 (
5001 ID3D12Device *This,
5009
5010 HRESULT(STDMETHODCALLTYPE *CreateHeap)
5011 (
5012 ID3D12Device *This,
5016
5017 HRESULT(STDMETHODCALLTYPE *CreatePlacedResource)
5018 (
5019 ID3D12Device *This,
5027
5028 HRESULT(STDMETHODCALLTYPE *CreateReservedResource)
5029 (
5030 ID3D12Device *This,
5036
5037 HRESULT(STDMETHODCALLTYPE *CreateSharedHandle)
5038 (
5039 ID3D12Device *This,
5045
5046 HRESULT(STDMETHODCALLTYPE *OpenSharedHandle)
5047 (
5048 ID3D12Device *This,
5052
5053 HRESULT(STDMETHODCALLTYPE *OpenSharedHandleByName)
5054 (
5055 ID3D12Device *This,
5058 /* [annotation][out] */
5060
5061 HRESULT(STDMETHODCALLTYPE *MakeResident)
5062 (
5063 ID3D12Device *This,
5065 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5066
5067 HRESULT(STDMETHODCALLTYPE *Evict)
5068 (
5069 ID3D12Device *This,
5070 UINT NumObjects,
5071 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5072
5073 HRESULT(STDMETHODCALLTYPE *CreateFence)
5074 (
5075 ID3D12Device *This,
5080
5081 HRESULT(STDMETHODCALLTYPE *GetDeviceRemovedReason)
5082 (
5083 ID3D12Device *This);
5084
5085 void(STDMETHODCALLTYPE *GetCopyableFootprints)(
5086 ID3D12Device *This,
5089 _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources,
5092 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
5093 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
5095
5096 HRESULT(STDMETHODCALLTYPE *CreateQueryHeap)
5097 (
5098 ID3D12Device *This,
5102
5103 HRESULT(STDMETHODCALLTYPE *SetStablePowerState)
5104 (
5105 ID3D12Device *This,
5107
5108 HRESULT(STDMETHODCALLTYPE *CreateCommandSignature)
5109 (
5110 ID3D12Device *This,
5115
5116 void(STDMETHODCALLTYPE *GetResourceTiling)(
5117 ID3D12Device *This,
5125
5126 LUID(STDMETHODCALLTYPE *GetAdapterLuid)
5127 (
5128 ID3D12Device *This);
5129
5132
5133interface ID3D12Device {
5134 CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
5135};
5136
5137#ifdef COBJMACROS
5138
5139#define ID3D12Device_QueryInterface(This, riid, ppvObject) \
5140 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5141
5142#define ID3D12Device_AddRef(This) \
5143 ((This)->lpVtbl->AddRef(This))
5144
5145#define ID3D12Device_Release(This) \
5146 ((This)->lpVtbl->Release(This))
5147
5148#define ID3D12Device_GetPrivateData(This, guid, pDataSize, pData) \
5149 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5150
5151#define ID3D12Device_SetPrivateData(This, guid, DataSize, pData) \
5152 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5153
5154#define ID3D12Device_SetPrivateDataInterface(This, guid, pData) \
5155 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5156
5157#define ID3D12Device_SetName(This, Name) \
5158 ((This)->lpVtbl->SetName(This, Name))
5159
5160#define ID3D12Device_GetNodeCount(This) \
5161 ((This)->lpVtbl->GetNodeCount(This))
5162
5163#define ID3D12Device_CreateCommandQueue(This, pDesc, riid, ppCommandQueue) \
5164 ((This)->lpVtbl->CreateCommandQueue(This, pDesc, riid, ppCommandQueue))
5165
5166#define ID3D12Device_CreateCommandAllocator(This, type, riid, ppCommandAllocator) \
5167 ((This)->lpVtbl->CreateCommandAllocator(This, type, riid, ppCommandAllocator))
5168
5169#define ID3D12Device_CreateGraphicsPipelineState(This, pDesc, riid, ppPipelineState) \
5170 ((This)->lpVtbl->CreateGraphicsPipelineState(This, pDesc, riid, ppPipelineState))
5171
5172#define ID3D12Device_CreateComputePipelineState(This, pDesc, riid, ppPipelineState) \
5173 ((This)->lpVtbl->CreateComputePipelineState(This, pDesc, riid, ppPipelineState))
5174
5175#define ID3D12Device_CreateCommandList(This, nodeMask, type, pCommandAllocator, pInitialState, riid, ppCommandList) \
5176 ((This)->lpVtbl->CreateCommandList(This, nodeMask, type, pCommandAllocator, pInitialState, riid, ppCommandList))
5177
5178#define ID3D12Device_CheckFeatureSupport(This, Feature, pFeatureSupportData, FeatureSupportDataSize) \
5179 ((This)->lpVtbl->CheckFeatureSupport(This, Feature, pFeatureSupportData, FeatureSupportDataSize))
5180
5181#define ID3D12Device_CreateDescriptorHeap(This, pDescriptorHeapDesc, riid, ppvHeap) \
5182 ((This)->lpVtbl->CreateDescriptorHeap(This, pDescriptorHeapDesc, riid, ppvHeap))
5183
5184#define ID3D12Device_GetDescriptorHandleIncrementSize(This, DescriptorHeapType) \
5185 ((This)->lpVtbl->GetDescriptorHandleIncrementSize(This, DescriptorHeapType))
5186
5187#define ID3D12Device_CreateRootSignature(This, nodeMask, pBlobWithRootSignature, blobLengthInBytes, riid, ppvRootSignature) \
5188 ((This)->lpVtbl->CreateRootSignature(This, nodeMask, pBlobWithRootSignature, blobLengthInBytes, riid, ppvRootSignature))
5189
5190#define ID3D12Device_CreateConstantBufferView(This, pDesc, DestDescriptor) \
5191 ((This)->lpVtbl->CreateConstantBufferView(This, pDesc, DestDescriptor))
5192
5193#define ID3D12Device_CreateShaderResourceView(This, pResource, pDesc, DestDescriptor) \
5194 ((This)->lpVtbl->CreateShaderResourceView(This, pResource, pDesc, DestDescriptor))
5195
5196#define ID3D12Device_CreateUnorderedAccessView(This, pResource, pCounterResource, pDesc, DestDescriptor) \
5197 ((This)->lpVtbl->CreateUnorderedAccessView(This, pResource, pCounterResource, pDesc, DestDescriptor))
5198
5199#define ID3D12Device_CreateRenderTargetView(This, pResource, pDesc, DestDescriptor) \
5200 ((This)->lpVtbl->CreateRenderTargetView(This, pResource, pDesc, DestDescriptor))
5201
5202#define ID3D12Device_CreateDepthStencilView(This, pResource, pDesc, DestDescriptor) \
5203 ((This)->lpVtbl->CreateDepthStencilView(This, pResource, pDesc, DestDescriptor))
5204
5205#define ID3D12Device_CreateSampler(This, pDesc, DestDescriptor) \
5206 ((This)->lpVtbl->CreateSampler(This, pDesc, DestDescriptor))
5207
5208#define ID3D12Device_CopyDescriptors(This, NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType) \
5209 ((This)->lpVtbl->CopyDescriptors(This, NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType))
5210
5211#define ID3D12Device_CopyDescriptorsSimple(This, NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType) \
5212 ((This)->lpVtbl->CopyDescriptorsSimple(This, NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType))
5213
5214#define ID3D12Device_GetResourceAllocationInfo(This, visibleMask, numResourceDescs, pResourceDescs) \
5215 ((This)->lpVtbl->GetResourceAllocationInfo(This, visibleMask, numResourceDescs, pResourceDescs))
5216
5217#define ID3D12Device_GetCustomHeapProperties(This, nodeMask, heapType) \
5218 ((This)->lpVtbl->GetCustomHeapProperties(This, nodeMask, heapType))
5219
5220#define ID3D12Device_CreateCommittedResource(This, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource, ppvResource) \
5221 ((This)->lpVtbl->CreateCommittedResource(This, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource, ppvResource))
5222
5223#define ID3D12Device_CreateHeap(This, pDesc, riid, ppvHeap) \
5224 ((This)->lpVtbl->CreateHeap(This, pDesc, riid, ppvHeap))
5225
5226#define ID3D12Device_CreatePlacedResource(This, pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource) \
5227 ((This)->lpVtbl->CreatePlacedResource(This, pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource))
5228
5229#define ID3D12Device_CreateReservedResource(This, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource) \
5230 ((This)->lpVtbl->CreateReservedResource(This, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource))
5231
5232#define ID3D12Device_CreateSharedHandle(This, pObject, pAttributes, Access, Name, pHandle) \
5233 ((This)->lpVtbl->CreateSharedHandle(This, pObject, pAttributes, Access, Name, pHandle))
5234
5235#define ID3D12Device_OpenSharedHandle(This, NTHandle, riid, ppvObj) \
5236 ((This)->lpVtbl->OpenSharedHandle(This, NTHandle, riid, ppvObj))
5237
5238#define ID3D12Device_OpenSharedHandleByName(This, Name, Access, pNTHandle) \
5239 ((This)->lpVtbl->OpenSharedHandleByName(This, Name, Access, pNTHandle))
5240
5241#define ID3D12Device_MakeResident(This, NumObjects, ppObjects) \
5242 ((This)->lpVtbl->MakeResident(This, NumObjects, ppObjects))
5243
5244#define ID3D12Device_Evict(This, NumObjects, ppObjects) \
5245 ((This)->lpVtbl->Evict(This, NumObjects, ppObjects))
5246
5247#define ID3D12Device_CreateFence(This, InitialValue, Flags, riid, ppFence) \
5248 ((This)->lpVtbl->CreateFence(This, InitialValue, Flags, riid, ppFence))
5249
5250#define ID3D12Device_GetDeviceRemovedReason(This) \
5251 ((This)->lpVtbl->GetDeviceRemovedReason(This))
5252
5253#define ID3D12Device_GetCopyableFootprints(This, pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes) \
5254 ((This)->lpVtbl->GetCopyableFootprints(This, pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes))
5255
5256#define ID3D12Device_CreateQueryHeap(This, pDesc, riid, ppvHeap) \
5257 ((This)->lpVtbl->CreateQueryHeap(This, pDesc, riid, ppvHeap))
5258
5259#define ID3D12Device_SetStablePowerState(This, Enable) \
5260 ((This)->lpVtbl->SetStablePowerState(This, Enable))
5261
5262#define ID3D12Device_CreateCommandSignature(This, pDesc, pRootSignature, riid, ppvCommandSignature) \
5263 ((This)->lpVtbl->CreateCommandSignature(This, pDesc, pRootSignature, riid, ppvCommandSignature))
5264
5265#define ID3D12Device_GetResourceTiling(This, pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips) \
5266 ((This)->lpVtbl->GetResourceTiling(This, pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips))
5267
5268#define ID3D12Device_GetAdapterLuid(This) \
5269 ((This)->lpVtbl->GetAdapterLuid(This))
5270
5271#endif /* COBJMACROS */
5272
5273#endif /* C style interface */
5274
5275#endif /* __ID3D12Device_INTERFACE_DEFINED__ */
5276
5277#ifndef __ID3D12Fence_INTERFACE_DEFINED__
5278#define __ID3D12Fence_INTERFACE_DEFINED__
5279
5280/* interface ID3D12Fence */
5281/* [unique][local][object][uuid] */
5282
5284
5285#if defined(__cplusplus) && !defined(CINTERFACE)
5286
5287MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
5288ID3D12Fence : public ID3D12Pageable {
5289public:
5290 virtual UINT64 STDMETHODCALLTYPE GetCompletedValue() = 0;
5291
5292 virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
5293 UINT64 Value,
5294 HANDLE hEvent) = 0;
5295
5296 virtual HRESULT STDMETHODCALLTYPE Signal(
5297 UINT64 Value) = 0;
5298};
5299
5300#else /* C style interface */
5301
5302typedef struct ID3D12FenceVtbl {
5304
5305 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5306 (
5307 ID3D12Fence *This,
5308 REFIID riid,
5309 _COM_Outptr_ void **ppvObject);
5310
5311 ULONG(STDMETHODCALLTYPE *AddRef)
5312 (
5314
5315 ULONG(STDMETHODCALLTYPE *Release)
5316 (
5317 ID3D12Fence *This);
5318
5319 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5320 (
5321 ID3D12Fence *This,
5324 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5325
5326 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5327 (
5328 ID3D12Fence *This,
5329 _In_ REFGUID guid,
5331 _In_reads_bytes_opt_(DataSize) const void *pData);
5332
5333 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5334 (
5335 ID3D12Fence *This,
5336 _In_ REFGUID guid,
5338
5339 HRESULT(STDMETHODCALLTYPE *SetName)
5340 (
5341 ID3D12Fence *This,
5343
5344 HRESULT(STDMETHODCALLTYPE *GetDevice)
5345 (
5346 ID3D12Fence *This,
5349
5350 UINT64(STDMETHODCALLTYPE *GetCompletedValue)
5351 (
5352 ID3D12Fence *This);
5353
5354 HRESULT(STDMETHODCALLTYPE *SetEventOnCompletion)
5355 (
5356 ID3D12Fence *This,
5359
5360 HRESULT(STDMETHODCALLTYPE *Signal)
5361 (
5362 ID3D12Fence *This,
5363 UINT64 Value);
5364
5367
5368interface ID3D12Fence {
5369 CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
5370};
5371
5372#ifdef COBJMACROS
5373
5374#define ID3D12Fence_QueryInterface(This, riid, ppvObject) \
5375 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5376
5377#define ID3D12Fence_AddRef(This) \
5378 ((This)->lpVtbl->AddRef(This))
5379
5380#define ID3D12Fence_Release(This) \
5381 ((This)->lpVtbl->Release(This))
5382
5383#define ID3D12Fence_GetPrivateData(This, guid, pDataSize, pData) \
5384 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5385
5386#define ID3D12Fence_SetPrivateData(This, guid, DataSize, pData) \
5387 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5388
5389#define ID3D12Fence_SetPrivateDataInterface(This, guid, pData) \
5390 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5391
5392#define ID3D12Fence_SetName(This, Name) \
5393 ((This)->lpVtbl->SetName(This, Name))
5394
5395#define ID3D12Fence_GetDevice(This, riid, ppvDevice) \
5396 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5397
5398#define ID3D12Fence_GetCompletedValue(This) \
5399 ((This)->lpVtbl->GetCompletedValue(This))
5400
5401#define ID3D12Fence_SetEventOnCompletion(This, Value, hEvent) \
5402 ((This)->lpVtbl->SetEventOnCompletion(This, Value, hEvent))
5403
5404#define ID3D12Fence_Signal(This, Value) \
5405 ((This)->lpVtbl->Signal(This, Value))
5406
5407#endif /* COBJMACROS */
5408
5409#endif /* C style interface */
5410
5411#endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
5412
5413#ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
5414#define __ID3D12PipelineState_INTERFACE_DEFINED__
5415
5416/* interface ID3D12PipelineState */
5417/* [unique][local][object][uuid] */
5418
5420
5421#if defined(__cplusplus) && !defined(CINTERFACE)
5422
5423MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
5425public:
5426 virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
5427 _COM_Outptr_ ID3DBlob * *ppBlob) = 0;
5428};
5429
5430#else /* C style interface */
5431
5434
5435 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5436 (
5437 ID3D12PipelineState *This,
5438 REFIID riid,
5439 _COM_Outptr_ void **ppvObject);
5440
5441 ULONG(STDMETHODCALLTYPE *AddRef)
5442 (
5444
5445 ULONG(STDMETHODCALLTYPE *Release)
5446 (
5447 ID3D12PipelineState *This);
5448
5449 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5450 (
5451 ID3D12PipelineState *This,
5454 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5455
5456 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5457 (
5458 ID3D12PipelineState *This,
5459 _In_ REFGUID guid,
5461 _In_reads_bytes_opt_(DataSize) const void *pData);
5462
5463 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5464 (
5465 ID3D12PipelineState *This,
5466 _In_ REFGUID guid,
5468
5469 HRESULT(STDMETHODCALLTYPE *SetName)
5470 (
5471 ID3D12PipelineState *This,
5473
5474 HRESULT(STDMETHODCALLTYPE *GetDevice)
5475 (
5476 ID3D12PipelineState *This,
5479
5480 HRESULT(STDMETHODCALLTYPE *GetCachedBlob)
5481 (
5482 ID3D12PipelineState *This,
5484
5487
5488interface ID3D12PipelineState {
5489 CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
5490};
5491
5492#ifdef COBJMACROS
5493
5494#define ID3D12PipelineState_QueryInterface(This, riid, ppvObject) \
5495 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5496
5497#define ID3D12PipelineState_AddRef(This) \
5498 ((This)->lpVtbl->AddRef(This))
5499
5500#define ID3D12PipelineState_Release(This) \
5501 ((This)->lpVtbl->Release(This))
5502
5503#define ID3D12PipelineState_GetPrivateData(This, guid, pDataSize, pData) \
5504 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5505
5506#define ID3D12PipelineState_SetPrivateData(This, guid, DataSize, pData) \
5507 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5508
5509#define ID3D12PipelineState_SetPrivateDataInterface(This, guid, pData) \
5510 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5511
5512#define ID3D12PipelineState_SetName(This, Name) \
5513 ((This)->lpVtbl->SetName(This, Name))
5514
5515#define ID3D12PipelineState_GetDevice(This, riid, ppvDevice) \
5516 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5517
5518#define ID3D12PipelineState_GetCachedBlob(This, ppBlob) \
5519 ((This)->lpVtbl->GetCachedBlob(This, ppBlob))
5520
5521#endif /* COBJMACROS */
5522
5523#endif /* C style interface */
5524
5525#endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
5526
5527#ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
5528#define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
5529
5530/* interface ID3D12DescriptorHeap */
5531/* [unique][local][object][uuid] */
5532
5534
5535#if defined(__cplusplus) && !defined(CINTERFACE)
5536
5537MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
5539public:
5540 virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc() = 0;
5541
5542 virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart() = 0;
5543
5544 virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart() = 0;
5545};
5546
5547#else /* C style interface */
5548
5551
5552 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5553 (
5555 REFIID riid,
5556 _COM_Outptr_ void **ppvObject);
5557
5558 ULONG(STDMETHODCALLTYPE *AddRef)
5559 (
5561
5562 ULONG(STDMETHODCALLTYPE *Release)
5563 (
5564 ID3D12DescriptorHeap *This);
5565
5566 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5567 (
5571 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5572
5573 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5574 (
5576 _In_ REFGUID guid,
5578 _In_reads_bytes_opt_(DataSize) const void *pData);
5579
5580 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5581 (
5583 _In_ REFGUID guid,
5585
5586 HRESULT(STDMETHODCALLTYPE *SetName)
5587 (
5590
5591 HRESULT(STDMETHODCALLTYPE *GetDevice)
5592 (
5596
5598 (
5599 ID3D12DescriptorHeap *This);
5600
5601 D3D12_CPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart)
5602 (
5603 ID3D12DescriptorHeap *This);
5604
5605 D3D12_GPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart)
5606 (
5607 ID3D12DescriptorHeap *This);
5608
5611
5612interface ID3D12DescriptorHeap {
5613 CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
5614};
5615
5616#ifdef COBJMACROS
5617
5618#define ID3D12DescriptorHeap_QueryInterface(This, riid, ppvObject) \
5619 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5620
5621#define ID3D12DescriptorHeap_AddRef(This) \
5622 ((This)->lpVtbl->AddRef(This))
5623
5624#define ID3D12DescriptorHeap_Release(This) \
5625 ((This)->lpVtbl->Release(This))
5626
5627#define ID3D12DescriptorHeap_GetPrivateData(This, guid, pDataSize, pData) \
5628 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5629
5630#define ID3D12DescriptorHeap_SetPrivateData(This, guid, DataSize, pData) \
5631 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5632
5633#define ID3D12DescriptorHeap_SetPrivateDataInterface(This, guid, pData) \
5634 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5635
5636#define ID3D12DescriptorHeap_SetName(This, Name) \
5637 ((This)->lpVtbl->SetName(This, Name))
5638
5639#define ID3D12DescriptorHeap_GetDevice(This, riid, ppvDevice) \
5640 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5641
5642#define ID3D12DescriptorHeap_GetDesc(This) \
5643 ((This)->lpVtbl->GetDesc(This))
5644
5645#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
5646 ((This)->lpVtbl->GetCPUDescriptorHandleForHeapStart(This))
5647
5648#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
5649 ((This)->lpVtbl->GetGPUDescriptorHandleForHeapStart(This))
5650
5651#endif /* COBJMACROS */
5652
5653#endif /* C style interface */
5654
5655#endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
5656
5657#ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
5658#define __ID3D12QueryHeap_INTERFACE_DEFINED__
5659
5660/* interface ID3D12QueryHeap */
5661/* [unique][local][object][uuid] */
5662
5664
5665#if defined(__cplusplus) && !defined(CINTERFACE)
5666
5667MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
5669 public :
5670};
5671
5672#else /* C style interface */
5673
5674typedef struct ID3D12QueryHeapVtbl {
5676
5677 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5678 (
5679 ID3D12QueryHeap *This,
5680 REFIID riid,
5681 _COM_Outptr_ void **ppvObject);
5682
5683 ULONG(STDMETHODCALLTYPE *AddRef)
5684 (
5686
5687 ULONG(STDMETHODCALLTYPE *Release)
5688 (
5689 ID3D12QueryHeap *This);
5690
5691 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5692 (
5693 ID3D12QueryHeap *This,
5696 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5697
5698 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5699 (
5700 ID3D12QueryHeap *This,
5701 _In_ REFGUID guid,
5703 _In_reads_bytes_opt_(DataSize) const void *pData);
5704
5705 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5706 (
5707 ID3D12QueryHeap *This,
5708 _In_ REFGUID guid,
5710
5711 HRESULT(STDMETHODCALLTYPE *SetName)
5712 (
5713 ID3D12QueryHeap *This,
5715
5716 HRESULT(STDMETHODCALLTYPE *GetDevice)
5717 (
5718 ID3D12QueryHeap *This,
5721
5724
5725interface ID3D12QueryHeap {
5726 CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
5727};
5728
5729#ifdef COBJMACROS
5730
5731#define ID3D12QueryHeap_QueryInterface(This, riid, ppvObject) \
5732 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5733
5734#define ID3D12QueryHeap_AddRef(This) \
5735 ((This)->lpVtbl->AddRef(This))
5736
5737#define ID3D12QueryHeap_Release(This) \
5738 ((This)->lpVtbl->Release(This))
5739
5740#define ID3D12QueryHeap_GetPrivateData(This, guid, pDataSize, pData) \
5741 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5742
5743#define ID3D12QueryHeap_SetPrivateData(This, guid, DataSize, pData) \
5744 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5745
5746#define ID3D12QueryHeap_SetPrivateDataInterface(This, guid, pData) \
5747 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5748
5749#define ID3D12QueryHeap_SetName(This, Name) \
5750 ((This)->lpVtbl->SetName(This, Name))
5751
5752#define ID3D12QueryHeap_GetDevice(This, riid, ppvDevice) \
5753 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5754
5755#endif /* COBJMACROS */
5756
5757#endif /* C style interface */
5758
5759#endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
5760
5763 _In_ REFIID, _COM_Outptr_opt_ void **);
5764
5766 _In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature,
5768 _Out_ ID3DBlob **ppBlob,
5769 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob);
5770
5772
5773DEFINE_GUID(IID_ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8);
5774DEFINE_GUID(IID_ID3D12DeviceChild, 0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57);
5775DEFINE_GUID(IID_ID3D12RootSignature, 0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14);
5776DEFINE_GUID(IID_ID3D12RootSignatureDeserializer, 0x34AB647B, 0x3CC8, 0x46AC, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46);
5777DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer, 0x7F91CE67, 0x090C, 0x4BB7, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0);
5778DEFINE_GUID(IID_ID3D12Pageable, 0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6);
5779DEFINE_GUID(IID_ID3D12Heap, 0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3);
5780DEFINE_GUID(IID_ID3D12Resource, 0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad);
5781DEFINE_GUID(IID_ID3D12CommandAllocator, 0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24);
5782DEFINE_GUID(IID_ID3D12Fence, 0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76);
5783DEFINE_GUID(IID_ID3D12PipelineState, 0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45);
5784DEFINE_GUID(IID_ID3D12DescriptorHeap, 0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51);
5785DEFINE_GUID(IID_ID3D12QueryHeap, 0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4);
5786DEFINE_GUID(IID_ID3D12CommandSignature, 0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1);
5787DEFINE_GUID(IID_ID3D12CommandList, 0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5);
5788DEFINE_GUID(IID_ID3D12GraphicsCommandList, 0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55);
5789DEFINE_GUID(IID_ID3D12GraphicsCommandList1, 0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7);
5790DEFINE_GUID(IID_ID3D12CommandQueue, 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed);
5791DEFINE_GUID(IID_ID3D12Device, 0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7);
5792DEFINE_GUID(IID_ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f);
5793DEFINE_GUID(IID_ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3);
5794DEFINE_GUID(IID_ID3D12Device1, 0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e);
5795DEFINE_GUID(IID_ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28);
5796DEFINE_GUID(IID_ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97, 0x4f, 0x12, 0xfa, 0x49, 0xde, 0x65, 0xc5);
5797
5798#ifdef __cplusplus
5799}
5800#endif
5801
5802/* d3d12sdklayers.h */
5803#ifndef __ID3D12Debug_FWD_DEFINED__
5804#define __ID3D12Debug_FWD_DEFINED__
5805typedef interface ID3D12Debug ID3D12Debug;
5806
5807#endif /* __ID3D12Debug_FWD_DEFINED__ */
5808
5809#ifdef __cplusplus
5810extern "C" {
5811#endif
5812
5813#ifndef __ID3D12Debug_INTERFACE_DEFINED__
5814#define __ID3D12Debug_INTERFACE_DEFINED__
5815
5816/* interface ID3D12Debug */
5817/* [unique][local][object][uuid] */
5818
5820
5821#if defined(__cplusplus) && !defined(CINTERFACE)
5822
5823MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
5824ID3D12Debug : public IUnknown {
5825public:
5826 virtual void STDMETHODCALLTYPE EnableDebugLayer() = 0;
5827};
5828
5829#else /* C style interface */
5830
5831typedef struct ID3D12DebugVtbl {
5833
5834 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5835 (
5837 REFIID riid,
5838 _COM_Outptr_ void **ppvObject);
5839
5840 ULONG(STDMETHODCALLTYPE *AddRef)
5841 (
5843
5844 ULONG(STDMETHODCALLTYPE *Release)
5845 (
5846 ID3D12Debug *This);
5847
5848 void(STDMETHODCALLTYPE *EnableDebugLayer)(
5849 ID3D12Debug *This);
5850
5853
5854interface ID3D12Debug {
5855 CONST_VTBL struct ID3D12DebugVtbl *lpVtbl;
5856};
5857
5858#ifdef COBJMACROS
5859
5860#define ID3D12Debug_QueryInterface(This, riid, ppvObject) \
5861 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5862
5863#define ID3D12Debug_AddRef(This) \
5864 ((This)->lpVtbl->AddRef(This))
5865
5866#define ID3D12Debug_Release(This) \
5867 ((This)->lpVtbl->Release(This))
5868
5869#define ID3D12Debug_EnableDebugLayer(This) \
5870 ((This)->lpVtbl->EnableDebugLayer(This))
5871
5872#endif /* COBJMACROS */
5873
5874#endif /* C style interface */
5875
5876#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */
5877
5878DEFINE_GUID(IID_ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9, 0x89, 0xf0, 0x27, 0x44, 0x82, 0x45, 0xe0);
5879
5880#ifdef __cplusplus
5881}
5882#endif
5883
5884/* dxgi.h */
5885#ifndef __IDXGIObject_FWD_DEFINED__
5886#define __IDXGIObject_FWD_DEFINED__
5887typedef interface IDXGIObject IDXGIObject;
5888
5889#endif /* __IDXGIObject_FWD_DEFINED__ */
5890
5891#ifndef __IDXGIAdapter_FWD_DEFINED__
5892#define __IDXGIAdapter_FWD_DEFINED__
5893typedef interface IDXGIAdapter IDXGIAdapter;
5894
5895#endif /* __IDXGIAdapter_FWD_DEFINED__ */
5896
5897#ifndef __IDXGIOutput_FWD_DEFINED__
5898#define __IDXGIOutput_FWD_DEFINED__
5899typedef interface IDXGIOutput IDXGIOutput;
5900
5901#endif /* __IDXGIOutput_FWD_DEFINED__ */
5902
5903#ifndef __IDXGISwapChain_FWD_DEFINED__
5904#define __IDXGISwapChain_FWD_DEFINED__
5906
5907#endif /* __IDXGISwapChain_FWD_DEFINED__ */
5908
5909#ifndef __IDXGIFactory_FWD_DEFINED__
5910#define __IDXGIFactory_FWD_DEFINED__
5911typedef interface IDXGIFactory IDXGIFactory;
5912
5913#endif /* __IDXGIFactory_FWD_DEFINED__ */
5914
5915#ifndef __IDXGIFactory1_FWD_DEFINED__
5916#define __IDXGIFactory1_FWD_DEFINED__
5918
5919#endif /* __IDXGIFactory1_FWD_DEFINED__ */
5920
5921#ifndef __IDXGIAdapter1_FWD_DEFINED__
5922#define __IDXGIAdapter1_FWD_DEFINED__
5924
5925#endif /* __IDXGIAdapter1_FWD_DEFINED__ */
5926
5927typedef struct DXGI_ADAPTER_DESC {
5938
5939typedef enum DXGI_ADAPTER_FLAG {
5945
5946typedef struct DXGI_ADAPTER_DESC1 {
5958
5960
5961#ifndef __IDXGIObject_INTERFACE_DEFINED__
5962#define __IDXGIObject_INTERFACE_DEFINED__
5963
5964/* interface IDXGIObject */
5965/* [unique][local][uuid][object] */
5966
5968
5969#if defined(__cplusplus) && !defined(CINTERFACE)
5970
5971MIDL_INTERFACE("aec22fb8-76f3-4639-9be0-28eb43a67a2e")
5972IDXGIObject : public IUnknown {
5973public:
5974 virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
5975 /* [annotation][in] */
5976 _In_ REFGUID Name,
5977 /* [in] */ UINT DataSize,
5978 /* [annotation][in] */
5979 _In_reads_bytes_(DataSize) const void *pData) = 0;
5980
5981 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
5982 /* [annotation][in] */
5983 _In_ REFGUID Name,
5984 /* [annotation][in] */
5985 _In_opt_ const IUnknown *pUnknown) = 0;
5986
5987 virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
5988 /* [annotation][in] */
5989 _In_ REFGUID Name,
5990 /* [annotation][out][in] */
5991 _Inout_ UINT * pDataSize,
5992 /* [annotation][out] */
5993 _Out_writes_bytes_(*pDataSize) void *pData) = 0;
5994
5995 virtual HRESULT STDMETHODCALLTYPE GetParent(
5996 /* [annotation][in] */
5997 _In_ REFIID riid,
5998 /* [annotation][retval][out] */
5999 _COM_Outptr_ void **ppParent) = 0;
6000};
6001
6002#else /* C style interface */
6003
6004typedef struct IDXGIObjectVtbl {
6006
6007 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6008 (
6010 /* [in] */ REFIID riid,
6011 /* [annotation][iid_is][out] */
6012 _COM_Outptr_ void **ppvObject);
6013
6014 ULONG(STDMETHODCALLTYPE *AddRef)
6015 (
6017
6018 ULONG(STDMETHODCALLTYPE *Release)
6019 (
6020 IDXGIObject *This);
6021
6022 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6023 (
6025 /* [annotation][in] */
6027 /* [in] */ UINT DataSize,
6028 /* [annotation][in] */
6030
6031 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6032 (
6034 /* [annotation][in] */
6036 /* [annotation][in] */
6038
6039 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6040 (
6042 /* [annotation][in] */
6044 /* [annotation][out][in] */
6046 /* [annotation][out] */
6048
6049 HRESULT(STDMETHODCALLTYPE *GetParent)
6050 (
6052 /* [annotation][in] */
6054 /* [annotation][retval][out] */
6056
6059
6060interface IDXGIObject {
6061 CONST_VTBL struct IDXGIObjectVtbl *lpVtbl;
6062};
6063
6064#ifdef COBJMACROS
6065
6066#define IDXGIObject_QueryInterface(This, riid, ppvObject) \
6067 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6068
6069#define IDXGIObject_AddRef(This) \
6070 ((This)->lpVtbl->AddRef(This))
6071
6072#define IDXGIObject_Release(This) \
6073 ((This)->lpVtbl->Release(This))
6074
6075#define IDXGIObject_SetPrivateData(This, Name, DataSize, pData) \
6076 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6077
6078#define IDXGIObject_SetPrivateDataInterface(This, Name, pUnknown) \
6079 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6080
6081#define IDXGIObject_GetPrivateData(This, Name, pDataSize, pData) \
6082 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6083
6084#define IDXGIObject_GetParent(This, riid, ppParent) \
6085 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6086
6087#endif /* COBJMACROS */
6088
6089#endif /* C style interface */
6090
6091#endif /* __IDXGIObject_INTERFACE_DEFINED__ */
6092
6093#ifndef __IDXGIFactory_INTERFACE_DEFINED__
6094#define __IDXGIFactory_INTERFACE_DEFINED__
6095
6096/* interface IDXGIFactory */
6097/* [unique][local][uuid][object] */
6098
6100
6101#if defined(__cplusplus) && !defined(CINTERFACE)
6102
6103MIDL_INTERFACE("7b7166ec-21c7-44ae-b21a-c9ae321ae369")
6104IDXGIFactory : public IDXGIObject {
6105public:
6106 virtual HRESULT STDMETHODCALLTYPE EnumAdapters(
6107 /* [in] */ UINT Adapter,
6108 /* [annotation][out] */
6109 _COM_Outptr_ IDXGIAdapter * *ppAdapter) = 0;
6110
6111 virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
6112 HWND WindowHandle,
6113 UINT Flags) = 0;
6114
6115 virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation(
6116 /* [annotation][out] */
6117 _Out_ HWND * pWindowHandle) = 0;
6118
6119 virtual HRESULT STDMETHODCALLTYPE CreateSwapChain(
6120 /* [annotation][in] */
6121 _In_ IUnknown * pDevice,
6122 /* [annotation][in] */
6123 _In_ DXGI_SWAP_CHAIN_DESC * pDesc,
6124 /* [annotation][out] */
6125 _COM_Outptr_ IDXGISwapChain * *ppSwapChain) = 0;
6126
6127 virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
6128 /* [in] */ HMODULE Module,
6129 /* [annotation][out] */
6130 _COM_Outptr_ IDXGIAdapter * *ppAdapter) = 0;
6131};
6132
6133#else /* C style interface */
6134
6135typedef struct IDXGIFactoryVtbl {
6137
6138 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6139 (
6141 /* [in] */ REFIID riid,
6142 /* [annotation][iid_is][out] */
6143 _COM_Outptr_ void **ppvObject);
6144
6145 ULONG(STDMETHODCALLTYPE *AddRef)
6146 (
6148
6149 ULONG(STDMETHODCALLTYPE *Release)
6150 (
6152
6153 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6154 (
6156 /* [annotation][in] */
6158 /* [in] */ UINT DataSize,
6159 /* [annotation][in] */
6161
6162 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6163 (
6165 /* [annotation][in] */
6167 /* [annotation][in] */
6169
6170 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6171 (
6173 /* [annotation][in] */
6175 /* [annotation][out][in] */
6177 /* [annotation][out] */
6179
6180 HRESULT(STDMETHODCALLTYPE *GetParent)
6181 (
6183 /* [annotation][in] */
6185 /* [annotation][retval][out] */
6187
6188 HRESULT(STDMETHODCALLTYPE *EnumAdapters)
6189 (
6191 /* [in] */ UINT Adapter,
6192 /* [annotation][out] */
6194
6195 HRESULT(STDMETHODCALLTYPE *MakeWindowAssociation)
6196 (
6200
6201 HRESULT(STDMETHODCALLTYPE *GetWindowAssociation)
6202 (
6204 /* [annotation][out] */
6206
6207 HRESULT(STDMETHODCALLTYPE *CreateSwapChain)
6208 (
6210 /* [annotation][in] */
6212 /* [annotation][in] */
6214 /* [annotation][out] */
6216
6217 HRESULT(STDMETHODCALLTYPE *CreateSoftwareAdapter)
6218 (
6220 /* [in] */ HMODULE Module,
6221 /* [annotation][out] */
6223
6226
6227interface IDXGIFactory {
6228 CONST_VTBL struct IDXGIFactoryVtbl *lpVtbl;
6229};
6230
6231#ifdef COBJMACROS
6232
6233#define IDXGIFactory_QueryInterface(This, riid, ppvObject) \
6234 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6235
6236#define IDXGIFactory_AddRef(This) \
6237 ((This)->lpVtbl->AddRef(This))
6238
6239#define IDXGIFactory_Release(This) \
6240 ((This)->lpVtbl->Release(This))
6241
6242#define IDXGIFactory_SetPrivateData(This, Name, DataSize, pData) \
6243 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6244
6245#define IDXGIFactory_SetPrivateDataInterface(This, Name, pUnknown) \
6246 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6247
6248#define IDXGIFactory_GetPrivateData(This, Name, pDataSize, pData) \
6249 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6250
6251#define IDXGIFactory_GetParent(This, riid, ppParent) \
6252 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6253
6254#define IDXGIFactory_EnumAdapters(This, Adapter, ppAdapter) \
6255 ((This)->lpVtbl->EnumAdapters(This, Adapter, ppAdapter))
6256
6257#define IDXGIFactory_MakeWindowAssociation(This, WindowHandle, Flags) \
6258 ((This)->lpVtbl->MakeWindowAssociation(This, WindowHandle, Flags))
6259
6260#define IDXGIFactory_GetWindowAssociation(This, pWindowHandle) \
6261 ((This)->lpVtbl->GetWindowAssociation(This, pWindowHandle))
6262
6263#define IDXGIFactory_CreateSwapChain(This, pDevice, pDesc, ppSwapChain) \
6264 ((This)->lpVtbl->CreateSwapChain(This, pDevice, pDesc, ppSwapChain))
6265
6266#define IDXGIFactory_CreateSoftwareAdapter(This, Module, ppAdapter) \
6267 ((This)->lpVtbl->CreateSoftwareAdapter(This, Module, ppAdapter))
6268
6269#endif /* COBJMACROS */
6270
6271#endif /* C style interface */
6272
6273#endif /* __IDXGIFactory_INTERFACE_DEFINED__ */
6274
6275struct DXGI_ADAPTER_DESC;
6276
6277#ifndef __IDXGIAdapter_INTERFACE_DEFINED__
6278#define __IDXGIAdapter_INTERFACE_DEFINED__
6279
6280/* interface IDXGIAdapter */
6281/* [unique][local][uuid][object] */
6282
6284
6285#if defined(__cplusplus) && !defined(CINTERFACE)
6286
6287MIDL_INTERFACE("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")
6288IDXGIAdapter : public IDXGIObject {
6289public:
6290 virtual HRESULT STDMETHODCALLTYPE EnumOutputs(
6291 /* [in] */ UINT Output,
6292 /* [annotation][out][in] */
6293 _COM_Outptr_ IDXGIOutput * *ppOutput) = 0;
6294
6295 virtual HRESULT STDMETHODCALLTYPE GetDesc(
6296 /* [annotation][out] */
6297 _Out_ DXGI_ADAPTER_DESC * pDesc) = 0;
6298
6299 virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport(
6300 /* [annotation][in] */
6301 _In_ REFGUID InterfaceName,
6302 /* [annotation][out] */
6303 _Out_ LARGE_INTEGER * pUMDVersion) = 0;
6304};
6305
6306#else /* C style interface */
6307
6308typedef struct IDXGIAdapterVtbl {
6310
6311 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6312 (
6314 /* [in] */ REFIID riid,
6315 /* [annotation][iid_is][out] */
6316 _COM_Outptr_ void **ppvObject);
6317
6318 ULONG(STDMETHODCALLTYPE *AddRef)
6319 (
6321
6322 ULONG(STDMETHODCALLTYPE *Release)
6323 (
6325
6326 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6327 (
6329 /* [annotation][in] */
6331 /* [in] */ UINT DataSize,
6332 /* [annotation][in] */
6334
6335 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6336 (
6338 /* [annotation][in] */
6340 /* [annotation][in] */
6342
6343 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6344 (
6346 /* [annotation][in] */
6348 /* [annotation][out][in] */
6350 /* [annotation][out] */
6352
6353 HRESULT(STDMETHODCALLTYPE *GetParent)
6354 (
6356 /* [annotation][in] */
6358 /* [annotation][retval][out] */
6360
6361 HRESULT(STDMETHODCALLTYPE *EnumOutputs)
6362 (
6364 /* [in] */ UINT Output,
6365 /* [annotation][out][in] */
6367
6368 HRESULT(STDMETHODCALLTYPE *GetDesc)
6369 (
6371 /* [annotation][out] */
6373
6374 HRESULT(STDMETHODCALLTYPE *CheckInterfaceSupport)
6375 (
6377 /* [annotation][in] */
6379 /* [annotation][out] */
6381
6384
6385interface IDXGIAdapter {
6386 CONST_VTBL struct IDXGIAdapterVtbl *lpVtbl;
6387};
6388
6389#ifdef COBJMACROS
6390
6391#define IDXGIAdapter_QueryInterface(This, riid, ppvObject) \
6392 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6393
6394#define IDXGIAdapter_AddRef(This) \
6395 ((This)->lpVtbl->AddRef(This))
6396
6397#define IDXGIAdapter_Release(This) \
6398 ((This)->lpVtbl->Release(This))
6399
6400#define IDXGIAdapter_SetPrivateData(This, Name, DataSize, pData) \
6401 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6402
6403#define IDXGIAdapter_SetPrivateDataInterface(This, Name, pUnknown) \
6404 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6405
6406#define IDXGIAdapter_GetPrivateData(This, Name, pDataSize, pData) \
6407 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6408
6409#define IDXGIAdapter_GetParent(This, riid, ppParent) \
6410 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6411
6412#define IDXGIAdapter_EnumOutputs(This, Output, ppOutput) \
6413 ((This)->lpVtbl->EnumOutputs(This, Output, ppOutput))
6414
6415#define IDXGIAdapter_GetDesc(This, pDesc) \
6416 ((This)->lpVtbl->GetDesc(This, pDesc))
6417
6418#define IDXGIAdapter_CheckInterfaceSupport(This, InterfaceName, pUMDVersion) \
6419 ((This)->lpVtbl->CheckInterfaceSupport(This, InterfaceName, pUMDVersion))
6420
6421#endif /* COBJMACROS */
6422
6423#endif /* C style interface */
6424
6425#endif /* __IDXGIAdapter_INTERFACE_DEFINED__ */
6426
6427#ifndef __IDXGIFactory1_INTERFACE_DEFINED__
6428#define __IDXGIFactory1_INTERFACE_DEFINED__
6429
6430/* interface IDXGIFactory1 */
6431/* [unique][local][uuid][object] */
6432
6434
6435#if defined(__cplusplus) && !defined(CINTERFACE)
6436
6437MIDL_INTERFACE("770aae78-f26f-4dba-a829-253c83d1b387")
6438IDXGIFactory1 : public IDXGIFactory {
6439public:
6440 virtual HRESULT STDMETHODCALLTYPE EnumAdapters1(
6441 /* [in] */ UINT Adapter,
6442 /* [annotation][out] */
6443 _COM_Outptr_ IDXGIAdapter1 * *ppAdapter) = 0;
6444
6445 virtual BOOL STDMETHODCALLTYPE IsCurrent() = 0;
6446};
6447
6448#else /* C style interface */
6449
6450typedef struct IDXGIFactory1Vtbl {
6452
6453 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6454 (
6456 /* [in] */ REFIID riid,
6457 /* [annotation][iid_is][out] */
6458 _COM_Outptr_ void **ppvObject);
6459
6460 ULONG(STDMETHODCALLTYPE *AddRef)
6461 (
6463
6464 ULONG(STDMETHODCALLTYPE *Release)
6465 (
6467
6468 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6469 (
6471 /* [annotation][in] */
6473 /* [in] */ UINT DataSize,
6474 /* [annotation][in] */
6476
6477 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6478 (
6480 /* [annotation][in] */
6482 /* [annotation][in] */
6484
6485 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6486 (
6488 /* [annotation][in] */
6490 /* [annotation][out][in] */
6492 /* [annotation][out] */
6494
6495 HRESULT(STDMETHODCALLTYPE *GetParent)
6496 (
6498 /* [annotation][in] */
6500 /* [annotation][retval][out] */
6502
6503 HRESULT(STDMETHODCALLTYPE *EnumAdapters)
6504 (
6506 /* [in] */ UINT Adapter,
6507 /* [annotation][out] */
6509
6510 HRESULT(STDMETHODCALLTYPE *MakeWindowAssociation)
6511 (
6515
6516 HRESULT(STDMETHODCALLTYPE *GetWindowAssociation)
6517 (
6519 /* [annotation][out] */
6521
6522 HRESULT(STDMETHODCALLTYPE *CreateSwapChain)
6523 (
6525 /* [annotation][in] */
6527 /* [annotation][in] */
6529 /* [annotation][out] */
6531
6532 HRESULT(STDMETHODCALLTYPE *CreateSoftwareAdapter)
6533 (
6535 /* [in] */ HMODULE Module,
6536 /* [annotation][out] */
6538
6539 HRESULT(STDMETHODCALLTYPE *EnumAdapters1)
6540 (
6542 /* [in] */ UINT Adapter,
6543 /* [annotation][out] */
6545
6546 BOOL(STDMETHODCALLTYPE *IsCurrent)
6547 (
6549
6552
6553interface IDXGIFactory1 {
6554 CONST_VTBL struct IDXGIFactory1Vtbl *lpVtbl;
6555};
6556
6557#ifdef COBJMACROS
6558
6559#define IDXGIFactory1_QueryInterface(This, riid, ppvObject) \
6560 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6561
6562#define IDXGIFactory1_AddRef(This) \
6563 ((This)->lpVtbl->AddRef(This))
6564
6565#define IDXGIFactory1_Release(This) \
6566 ((This)->lpVtbl->Release(This))
6567
6568#define IDXGIFactory1_SetPrivateData(This, Name, DataSize, pData) \
6569 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6570
6571#define IDXGIFactory1_SetPrivateDataInterface(This, Name, pUnknown) \
6572 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6573
6574#define IDXGIFactory1_GetPrivateData(This, Name, pDataSize, pData) \
6575 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6576
6577#define IDXGIFactory1_GetParent(This, riid, ppParent) \
6578 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6579
6580#define IDXGIFactory1_EnumAdapters(This, Adapter, ppAdapter) \
6581 ((This)->lpVtbl->EnumAdapters(This, Adapter, ppAdapter))
6582
6583#define IDXGIFactory1_MakeWindowAssociation(This, WindowHandle, Flags) \
6584 ((This)->lpVtbl->MakeWindowAssociation(This, WindowHandle, Flags))
6585
6586#define IDXGIFactory1_GetWindowAssociation(This, pWindowHandle) \
6587 ((This)->lpVtbl->GetWindowAssociation(This, pWindowHandle))
6588
6589#define IDXGIFactory1_CreateSwapChain(This, pDevice, pDesc, ppSwapChain) \
6590 ((This)->lpVtbl->CreateSwapChain(This, pDevice, pDesc, ppSwapChain))
6591
6592#define IDXGIFactory1_CreateSoftwareAdapter(This, Module, ppAdapter) \
6593 ((This)->lpVtbl->CreateSoftwareAdapter(This, Module, ppAdapter))
6594
6595#define IDXGIFactory1_EnumAdapters1(This, Adapter, ppAdapter) \
6596 ((This)->lpVtbl->EnumAdapters1(This, Adapter, ppAdapter))
6597
6598#define IDXGIFactory1_IsCurrent(This) \
6599 ((This)->lpVtbl->IsCurrent(This))
6600
6601#endif /* COBJMACROS */
6602
6603#endif /* C style interface */
6604
6605#endif /* __IDXGIFactory1_INTERFACE_DEFINED__ */
6606
6607#ifndef __IDXGIAdapter1_INTERFACE_DEFINED__
6608#define __IDXGIAdapter1_INTERFACE_DEFINED__
6609
6610/* interface IDXGIAdapter1 */
6611/* [unique][local][uuid][object] */
6612
6614
6615#if defined(__cplusplus) && !defined(CINTERFACE)
6616
6617MIDL_INTERFACE("29038f61-3839-4626-91fd-086879011a05")
6618IDXGIAdapter1 : public IDXGIAdapter {
6619public:
6620 virtual HRESULT STDMETHODCALLTYPE GetDesc1(
6621 /* [annotation][out] */
6623};
6624
6625#else /* C style interface */
6626
6627typedef struct IDXGIAdapter1Vtbl {
6629
6630 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6631 (
6633 /* [in] */ REFIID riid,
6634 /* [annotation][iid_is][out] */
6635 _COM_Outptr_ void **ppvObject);
6636
6637 ULONG(STDMETHODCALLTYPE *AddRef)
6638 (
6640
6641 ULONG(STDMETHODCALLTYPE *Release)
6642 (
6644
6645 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6646 (
6648 /* [annotation][in] */
6650 /* [in] */ UINT DataSize,
6651 /* [annotation][in] */
6653
6654 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6655 (
6657 /* [annotation][in] */
6659 /* [annotation][in] */
6661
6662 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6663 (
6665 /* [annotation][in] */
6667 /* [annotation][out][in] */
6669 /* [annotation][out] */
6671
6672 HRESULT(STDMETHODCALLTYPE *GetParent)
6673 (
6675 /* [annotation][in] */
6677 /* [annotation][retval][out] */
6679
6680 HRESULT(STDMETHODCALLTYPE *EnumOutputs)
6681 (
6683 /* [in] */ UINT Output,
6684 /* [annotation][out][in] */
6686
6687 HRESULT(STDMETHODCALLTYPE *GetDesc)
6688 (
6690 /* [annotation][out] */
6692
6693 HRESULT(STDMETHODCALLTYPE *CheckInterfaceSupport)
6694 (
6696 /* [annotation][in] */
6698 /* [annotation][out] */
6700
6701 HRESULT(STDMETHODCALLTYPE *GetDesc1)
6702 (
6704 /* [annotation][out] */
6706
6709
6710interface IDXGIAdapter1 {
6711 CONST_VTBL struct IDXGIAdapter1Vtbl *lpVtbl;
6712};
6713
6714#ifdef COBJMACROS
6715
6716#define IDXGIAdapter1_QueryInterface(This, riid, ppvObject) \
6717 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6718
6719#define IDXGIAdapter1_AddRef(This) \
6720 ((This)->lpVtbl->AddRef(This))
6721
6722#define IDXGIAdapter1_Release(This) \
6723 ((This)->lpVtbl->Release(This))
6724
6725#define IDXGIAdapter1_SetPrivateData(This, Name, DataSize, pData) \
6726 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6727
6728#define IDXGIAdapter1_SetPrivateDataInterface(This, Name, pUnknown) \
6729 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6730
6731#define IDXGIAdapter1_GetPrivateData(This, Name, pDataSize, pData) \
6732 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6733
6734#define IDXGIAdapter1_GetParent(This, riid, ppParent) \
6735 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6736
6737#define IDXGIAdapter1_EnumOutputs(This, Output, ppOutput) \
6738 ((This)->lpVtbl->EnumOutputs(This, Output, ppOutput))
6739
6740#define IDXGIAdapter1_GetDesc(This, pDesc) \
6741 ((This)->lpVtbl->GetDesc(This, pDesc))
6742
6743#define IDXGIAdapter1_CheckInterfaceSupport(This, InterfaceName, pUMDVersion) \
6744 ((This)->lpVtbl->CheckInterfaceSupport(This, InterfaceName, pUMDVersion))
6745
6746#define IDXGIAdapter1_GetDesc1(This, pDesc) \
6747 ((This)->lpVtbl->GetDesc1(This, pDesc))
6748
6749#endif /* COBJMACROS */
6750
6751#endif /* C style interface */
6752
6753#endif /* __IDXGIAdapter1_INTERFACE_DEFINED__ */
6754
6755// NOTE(marcos): declaring CreateDXGIFactory "1" since it works on UWP as well
6756// HRESULT WINAPI CreateDXGIFactory1(REFIID riid, _COM_Outptr_ void **ppFactory);
6757typedef HRESULT(WINAPI *PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory);
6758
6759DEFINE_GUID(IID_IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e);
6760DEFINE_GUID(IID_IDXGIDeviceSubObject, 0x3d3e0379, 0xf9de, 0x4d58, 0xbb, 0x6c, 0x18, 0xd6, 0x29, 0x92, 0xf1, 0xa6);
6761DEFINE_GUID(IID_IDXGIResource, 0x035f3ab4, 0x482e, 0x4e50, 0xb4, 0x1f, 0x8a, 0x7f, 0x8b, 0xd8, 0x96, 0x0b);
6762DEFINE_GUID(IID_IDXGIKeyedMutex, 0x9d8e1289, 0xd7b3, 0x465f, 0x81, 0x26, 0x25, 0x0e, 0x34, 0x9a, 0xf8, 0x5d);
6763DEFINE_GUID(IID_IDXGISurface, 0xcafcb56c, 0x6ac3, 0x4889, 0xbf, 0x47, 0x9e, 0x23, 0xbb, 0xd2, 0x60, 0xec);
6764DEFINE_GUID(IID_IDXGISurface1, 0x4AE63092, 0x6327, 0x4c1b, 0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86);
6765DEFINE_GUID(IID_IDXGIAdapter, 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd, 0x14, 0x97, 0x98, 0xe8, 0x53, 0x4d, 0xc0);
6766DEFINE_GUID(IID_IDXGIOutput, 0xae02eedb, 0xc735, 0x4690, 0x8d, 0x52, 0x5a, 0x8d, 0xc2, 0x02, 0x13, 0xaa);
6767DEFINE_GUID(IID_IDXGISwapChain, 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa, 0x04, 0x6a, 0x9d, 0x23, 0xb8, 0x88, 0x6a);
6768DEFINE_GUID(IID_IDXGIFactory, 0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69);
6769DEFINE_GUID(IID_IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c);
6770DEFINE_GUID(IID_IDXGIFactory1, 0x770aae78, 0xf26f, 0x4dba, 0xa8, 0x29, 0x25, 0x3c, 0x83, 0xd1, 0xb3, 0x87);
6771DEFINE_GUID(IID_IDXGIAdapter1, 0x29038f61, 0x3839, 0x4626, 0x91, 0xfd, 0x08, 0x68, 0x79, 0x01, 0x1a, 0x05);
6772DEFINE_GUID(IID_IDXGIDevice1, 0x77db970f, 0x6276, 0x48ba, 0xba, 0x28, 0x07, 0x01, 0x43, 0xb4, 0x39, 0x2c);
6773
6774/* d3dcompiler.h */
6775typedef HRESULT(WINAPI *PFN_D3DCOMPILE)(
6776 _In_reads_bytes_(SrcDataSize) LPCVOID pSrcData,
6777 _In_ SIZE_T SrcDataSize,
6778 _In_opt_ LPCSTR pSourceName,
6779 _In_reads_opt_(_Inexpressible_(pDefines->Name != nullptr)) CONST D3D_SHADER_MACRO *pDefines,
6780 _In_opt_ ID3DInclude *pInclude,
6781 _In_opt_ LPCSTR pEntrypoint,
6782 _In_ LPCSTR pTarget,
6783 _In_ UINT Flags1,
6784 _In_ UINT Flags2,
6785 _Out_ ID3DBlob **ppCode,
6786 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs);
6787
6788#define D3DCOMPILE_DEBUG (1 << 0)
6789#define D3DCOMPILE_SKIP_VALIDATION (1 << 1)
6790#define D3DCOMPILE_SKIP_OPTIMIZATION (1 << 2)
6791#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR (1 << 3)
6792#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR (1 << 4)
6793#define D3DCOMPILE_PARTIAL_PRECISION (1 << 5)
6794#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT (1 << 6)
6795#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT (1 << 7)
6796#define D3DCOMPILE_NO_PRESHADER (1 << 8)
6797#define D3DCOMPILE_AVOID_FLOW_CONTROL (1 << 9)
6798#define D3DCOMPILE_PREFER_FLOW_CONTROL (1 << 10)
6799#define D3DCOMPILE_ENABLE_STRICTNESS (1 << 11)
6800#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY (1 << 12)
6801#define D3DCOMPILE_IEEE_STRICTNESS (1 << 13)
6802#define D3DCOMPILE_OPTIMIZATION_LEVEL0 (1 << 14)
6803#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0
6804#define D3DCOMPILE_OPTIMIZATION_LEVEL2 ((1 << 14) | (1 << 15))
6805#define D3DCOMPILE_OPTIMIZATION_LEVEL3 (1 << 15)
6806#define D3DCOMPILE_RESERVED16 (1 << 16)
6807#define D3DCOMPILE_RESERVED17 (1 << 17)
6808#define D3DCOMPILE_WARNINGS_ARE_ERRORS (1 << 18)
6809#define D3DCOMPILE_RESOURCES_MAY_ALIAS (1 << 19)
6810#define D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES (1 << 20)
6811#define D3DCOMPILE_ALL_RESOURCES_BOUND (1 << 21)
6812
6813#ifdef __clang__
6814#pragma clang diagnostic pop
6815#endif
6816
6817// Mini Win32 for D3D12
6818
6819#if !defined(WINBASEAPI)
6820#if !defined(_KERNEL32_)
6821#define WINBASEAPI DECLSPEC_IMPORT
6822#else
6823#define WINBASEAPI
6824#endif
6825#endif
6826
6827#define _Ret_maybenull_
6828#define _Post_ptr_invalid_
6829
6830#define STATUS_WAIT_0 ((DWORD)0x00000000L)
6831#define WAIT_OBJECT_0 ((STATUS_WAIT_0) + 0)
6832
6833extern "C" {
6834
6836BOOL
6837 WINAPI
6840
6843 HANDLE
6844 WINAPI
6846 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6847 _In_ BOOL bManualReset,
6848 _In_ BOOL bInitialState,
6849 _In_opt_ LPCSTR lpName);
6850
6853 HANDLE
6854 WINAPI
6856 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6857 _In_ BOOL bManualReset,
6858 _In_ BOOL bInitialState,
6859 _In_opt_ LPCWSTR lpName);
6860
6862DWORD
6863WINAPI
6865 _In_ HANDLE hHandle,
6866 _In_ DWORD dwMilliseconds);
6867}
6868
6869#ifdef UNICODE
6870#define CreateEvent CreateEventW
6871#else
6872#define CreateEvent CreateEventA
6873#endif // !UNICODE
6874
6875// end of Mini Win32 for D3D12
6876
6877#endif /*__mini_d3d12_h__*/
interface ID3D12Device2 ID3D12Device2
ULONG_PTR * PSIZE_T
Definition mini_d3d12.h:259
_Null_terminated_ CONST CHAR * LPCSTR
Definition mini_d3d12.h:205
interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList
_W64 UINT32 UINT_PTR
Definition mini_d3d12.h:251
#define __RPC_string
Definition mini_d3d12.h:150
#define far
Definition mini_d3d12.h:187
HRESULT(WINAPI * PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature, _In_ D3D_ROOT_SIGNATURE_VERSION Version, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
void far * LPVOID
Definition mini_d3d12.h:190
#define CONST
Definition mini_d3d12.h:186
#define _Out_opt_
Definition mini_d3d12.h:45
EXTERN_C const IID IID_ID3D12PipelineState
D3D_FEATURE_LEVEL
Definition mini_d3d12.h:944
@ D3D_FEATURE_LEVEL_10_0
Definition mini_d3d12.h:948
@ D3D_FEATURE_LEVEL_9_1
Definition mini_d3d12.h:945
@ D3D_FEATURE_LEVEL_9_2
Definition mini_d3d12.h:946
@ D3D_FEATURE_LEVEL_9_3
Definition mini_d3d12.h:947
@ D3D_FEATURE_LEVEL_10_1
Definition mini_d3d12.h:949
@ D3D_FEATURE_LEVEL_12_1
Definition mini_d3d12.h:953
@ D3D_FEATURE_LEVEL_12_0
Definition mini_d3d12.h:952
@ D3D_FEATURE_LEVEL_11_0
Definition mini_d3d12.h:950
@ D3D_FEATURE_LEVEL_11_1
Definition mini_d3d12.h:951
#define REFIID
Definition mini_d3d12.h:485
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition mini_d3d12.h:506
char OLECHAR
Definition mini_d3d12.h:933
#define _In_reads_bytes_(size)
Definition mini_d3d12.h:97
GUID IID
Definition mini_d3d12.h:473
EXTERN_C const IID IID_ID3D12Resource
_D3D_INCLUDE_TYPE
@ D3D_INCLUDE_SYSTEM
@ D3D10_INCLUDE_SYSTEM
@ D3D_INCLUDE_FORCE_DWORD
@ D3D_INCLUDE_LOCAL
@ D3D10_INCLUDE_LOCAL
unsigned short WORD
Definition mini_d3d12.h:169
#define _Post_ptr_invalid_
#define _Inout_
Definition mini_d3d12.h:49
interface ID3D12DescriptorHeap ID3D12DescriptorHeap
#define _Out_writes_bytes_(size)
Definition mini_d3d12.h:113
interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1
LONG_PTR SSIZE_T
Definition mini_d3d12.h:260
WORD * PUINT16
Definition mini_d3d12.h:224
D3D12_STATIC_BORDER_COLOR
@ D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK
D3D12_DESCRIPTOR_RANGE_TYPE
@ D3D12_DESCRIPTOR_RANGE_TYPE_SRV
@ D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
@ D3D12_DESCRIPTOR_RANGE_TYPE_CBV
@ D3D12_DESCRIPTOR_RANGE_TYPE_UAV
EXTERN_C const IID IID_IDXGIObject
#define CONST_VTBL
Definition mini_d3d12.h:723
LPSTR LPOLESTR
Definition mini_d3d12.h:934
__int64 INT64
Definition mini_d3d12.h:230
D3D12_FILL_MODE
@ D3D12_FILL_MODE_SOLID
@ D3D12_FILL_MODE_WIREFRAME
D3D12_CULL_MODE
@ D3D12_CULL_MODE_NONE
@ D3D12_CULL_MODE_BACK
@ D3D12_CULL_MODE_FRONT
D3D12_RESOURCE_STATES
@ D3D12_RESOURCE_STATE_GENERIC_READ
@ D3D12_RESOURCE_STATE_RESOLVE_DEST
@ D3D12_RESOURCE_STATE_INDEX_BUFFER
@ D3D12_RESOURCE_STATE_COPY_DEST
@ D3D12_RESOURCE_STATE_RENDER_TARGET
@ D3D12_RESOURCE_STATE_COPY_SOURCE
@ D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
@ D3D12_RESOURCE_STATE_UNORDERED_ACCESS
@ D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT
@ D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
@ D3D12_RESOURCE_STATE_DEPTH_WRITE
@ D3D12_RESOURCE_STATE_DEPTH_READ
@ D3D12_RESOURCE_STATE_STREAM_OUT
@ D3D12_RESOURCE_STATE_COMMON
@ D3D12_RESOURCE_STATE_PREDICATION
@ D3D12_RESOURCE_STATE_RESOLVE_SOURCE
@ D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
@ D3D12_RESOURCE_STATE_PRESENT
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventA(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName)
#define __RPC__deref_out
Definition mini_d3d12.h:154
D3D_ROOT_SIGNATURE_VERSION
@ D3D_ROOT_SIGNATURE_VERSION_1_0
@ D3D_ROOT_SIGNATURE_VERSION_1
@ D3D_ROOT_SIGNATURE_VERSION_1_1
#define _COM_Outptr_opt_
Definition mini_d3d12.h:61
#define MIDL_INTERFACE(x)
Definition mini_d3d12.h:594
_Null_terminated_ CHAR * NPSTR
Definition mini_d3d12.h:204
D3D12_TEXTURE_ADDRESS_MODE
@ D3D12_TEXTURE_ADDRESS_MODE_BORDER
@ D3D12_TEXTURE_ADDRESS_MODE_WRAP
@ D3D12_TEXTURE_ADDRESS_MODE_CLAMP
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
I_RPC_HANDLE RPC_BINDING_HANDLE
Definition mini_d3d12.h:542
_Null_terminated_ CONST CHAR * PCSTR
Definition mini_d3d12.h:205
INT * PINT32
Definition mini_d3d12.h:222
interface IDXGIFactory1 IDXGIFactory1
#define _Ret_maybenull_
long LONG
Definition mini_d3d12.h:178
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE)
Definition mini_d3d12.h:414
interface ID3D12QueryHeap ID3D12QueryHeap
D3D12_INPUT_CLASSIFICATION
@ D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA
@ D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
EXTERN_C const IID IID_IUnknown
Definition mini_d3d12.h:818
WORD UINT16
Definition mini_d3d12.h:224
interface ID3D12CommandAllocator ID3D12CommandAllocator
struct _RPC_VERSION RPC_VERSION
unsigned int UINT
Definition mini_d3d12.h:181
#define _W64
Definition mini_d3d12.h:237
GUID UUID
Definition mini_d3d12.h:536
D3D12_PREDICATION_OP
@ D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
@ D3D12_PREDICATION_OP_EQUAL_ZERO
int INT
Definition mini_d3d12.h:179
_W64 INT32 * PLONG_PTR
Definition mini_d3d12.h:253
UINT * PUINT32
Definition mini_d3d12.h:225
interface ID3D12Object ID3D12Object
D3D12_SHADER_COMPONENT_MAPPING
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
EXTERN_C const IID IID_ID3D12GraphicsCommandList
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
interface ID3D12CommandList ID3D12CommandList
EXTERN_C const IID IID_ID3D12Fence
interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1
#define _In_z_
Definition mini_d3d12.h:33
unsigned char BYTE
Definition mini_d3d12.h:168
#define THIS_
Definition mini_d3d12.h:710
D3D12_RTV_DIMENSION
@ D3D12_RTV_DIMENSION_TEXTURE1D
@ D3D12_RTV_DIMENSION_UNKNOWN
@ D3D12_RTV_DIMENSION_BUFFER
@ D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_RTV_DIMENSION_TEXTURE3D
@ D3D12_RTV_DIMENSION_TEXTURE1DARRAY
@ D3D12_RTV_DIMENSION_TEXTURE2D
@ D3D12_RTV_DIMENSION_TEXTURE2DMS
@ D3D12_RTV_DIMENSION_TEXTURE2DARRAY
EXTERN_C const IID IID_ID3D12CommandQueue
D3D12_RESOURCE_BARRIER_FLAGS
@ D3D12_RESOURCE_BARRIER_FLAG_NONE
@ D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY
@ D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
struct _RPC_MESSAGE * PRPC_MESSAGE
#define _Outptr_opt_result_bytebuffer_(size)
Definition mini_d3d12.h:133
D3D12_PRIMITIVE_TOPOLOGY_TYPE
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE
SHORT INT16
Definition mini_d3d12.h:221
_Null_terminated_ CHAR * LPSTR
Definition mini_d3d12.h:204
D3D12_COMMAND_LIST_TYPE
@ D3D12_COMMAND_LIST_TYPE_COPY
@ D3D12_COMMAND_LIST_TYPE_BUNDLE
@ D3D12_COMMAND_LIST_TYPE_DIRECT
@ D3D12_COMMAND_LIST_TYPE_COMPUTE
#define __RPC_FAR
Definition mini_d3d12.h:529
INT BOOL
Definition mini_d3d12.h:192
RECT D3D12_RECT
_W64 INT32 INT_PTR
Definition mini_d3d12.h:250
D3D12_LOGIC_OP
@ D3D12_LOGIC_OP_OR_INVERTED
@ D3D12_LOGIC_OP_XOR
@ D3D12_LOGIC_OP_SET
@ D3D12_LOGIC_OP_AND_REVERSE
@ D3D12_LOGIC_OP_EQUIV
@ D3D12_LOGIC_OP_OR_REVERSE
@ D3D12_LOGIC_OP_CLEAR
@ D3D12_LOGIC_OP_NOOP
@ D3D12_LOGIC_OP_NOR
@ D3D12_LOGIC_OP_INVERT
@ D3D12_LOGIC_OP_OR
@ D3D12_LOGIC_OP_AND_INVERTED
@ D3D12_LOGIC_OP_AND
@ D3D12_LOGIC_OP_COPY
@ D3D12_LOGIC_OP_COPY_INVERTED
@ D3D12_LOGIC_OP_NAND
struct tagRECT RECT
interface IDXGIAdapter1 IDXGIAdapter1
D3D12_TILE_MAPPING_FLAGS
@ D3D12_TILE_MAPPING_FLAG_NONE
@ D3D12_TILE_MAPPING_FLAG_NO_HAZARD
D3D12_COMMAND_QUEUE_PRIORITY
@ D3D12_COMMAND_QUEUE_PRIORITY_HIGH
@ D3D12_COMMAND_QUEUE_PRIORITY_NORMAL
@ D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
BYTE * PUINT8
Definition mini_d3d12.h:223
D3D12_MEMORY_POOL
@ D3D12_MEMORY_POOL_UNKNOWN
@ D3D12_MEMORY_POOL_L1
@ D3D12_MEMORY_POOL_L0
D3D12_TILE_RANGE_FLAGS
@ D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
@ D3D12_TILE_RANGE_FLAG_SKIP
@ D3D12_TILE_RANGE_FLAG_NONE
@ D3D12_TILE_RANGE_FLAG_NULL
D3D12_CONSERVATIVE_RASTERIZATION_MODE
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
D3D12_RESOURCE_DIMENSION
@ D3D12_RESOURCE_DIMENSION_BUFFER
@ D3D12_RESOURCE_DIMENSION_TEXTURE1D
@ D3D12_RESOURCE_DIMENSION_TEXTURE3D
@ D3D12_RESOURCE_DIMENSION_UNKNOWN
@ D3D12_RESOURCE_DIMENSION_TEXTURE2D
_W64 UINT32 * PULONG_PTR
Definition mini_d3d12.h:254
EXTERN_C const IID IID_ID3D12DescriptorHeap
CHAR * PINT8
Definition mini_d3d12.h:220
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventW(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCWSTR lpName)
#define _Always_(annos)
Definition mini_d3d12.h:145
#define _Out_writes_(size)
Definition mini_d3d12.h:105
D3D12_DEPTH_WRITE_MASK
@ D3D12_DEPTH_WRITE_MASK_ALL
@ D3D12_DEPTH_WRITE_MASK_ZERO
interface ID3D12Pageable ID3D12Pageable
struct __LUID LUID
DXGI_FORMAT
@ DXGI_FORMAT_R16_UINT
@ DXGI_FORMAT_B8G8R8A8_UNORM
@ DXGI_FORMAT_R8_TYPELESS
@ DXGI_FORMAT_Y410
@ DXGI_FORMAT_BC3_UNORM_SRGB
@ DXGI_FORMAT_R8G8_B8G8_UNORM
@ DXGI_FORMAT_R32G32B32_TYPELESS
@ DXGI_FORMAT_BC3_TYPELESS
@ DXGI_FORMAT_R16G16_SNORM
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
@ DXGI_FORMAT_R32G32B32A32_SINT
@ DXGI_FORMAT_BC5_UNORM
@ DXGI_FORMAT_Y216
@ DXGI_FORMAT_BC1_UNORM
@ DXGI_FORMAT_R8G8_UINT
@ DXGI_FORMAT_420_OPAQUE
@ DXGI_FORMAT_R32G32B32A32_UINT
@ DXGI_FORMAT_R16G16B16A16_SNORM
@ DXGI_FORMAT_R32_FLOAT
@ DXGI_FORMAT_R16G16B16A16_UNORM
@ DXGI_FORMAT_R32_SINT
@ DXGI_FORMAT_R8G8_UNORM
@ DXGI_FORMAT_R16G16_UNORM
@ DXGI_FORMAT_BC1_UNORM_SRGB
@ DXGI_FORMAT_A8P8
@ DXGI_FORMAT_R16G16_SINT
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
@ DXGI_FORMAT_BC2_TYPELESS
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
@ DXGI_FORMAT_R32G32B32_FLOAT
@ DXGI_FORMAT_R32G32B32_SINT
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
@ DXGI_FORMAT_UNKNOWN
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
@ DXGI_FORMAT_R16_SINT
@ DXGI_FORMAT_R1_UNORM
@ DXGI_FORMAT_R16G16B16A16_UINT
@ DXGI_FORMAT_R16_UNORM
@ DXGI_FORMAT_R8G8B8A8_SINT
@ DXGI_FORMAT_D24_UNORM_S8_UINT
@ DXGI_FORMAT_R8G8B8A8_SNORM
@ DXGI_FORMAT_A8_UNORM
@ DXGI_FORMAT_FORCE_UINT
@ DXGI_FORMAT_R8G8B8A8_UINT
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
@ DXGI_FORMAT_R32G32_FLOAT
@ DXGI_FORMAT_BC6H_UF16
@ DXGI_FORMAT_BC6H_SF16
@ DXGI_FORMAT_R10G10B10A2_UNORM
@ DXGI_FORMAT_R8_SNORM
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
@ DXGI_FORMAT_P010
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
@ DXGI_FORMAT_R16G16B16A16_FLOAT
@ DXGI_FORMAT_BC7_TYPELESS
@ DXGI_FORMAT_P016
@ DXGI_FORMAT_R32_TYPELESS
@ DXGI_FORMAT_R8_UNORM
@ DXGI_FORMAT_R32G32_UINT
@ DXGI_FORMAT_R11G11B10_FLOAT
@ DXGI_FORMAT_R8G8B8A8_UNORM
@ DXGI_FORMAT_AYUV
@ DXGI_FORMAT_Y416
@ DXGI_FORMAT_G8R8_G8B8_UNORM
@ DXGI_FORMAT_YUY2
@ DXGI_FORMAT_D16_UNORM
@ DXGI_FORMAT_R16_FLOAT
@ DXGI_FORMAT_Y210
@ DXGI_FORMAT_R10G10B10A2_UINT
@ DXGI_FORMAT_BC6H_TYPELESS
@ DXGI_FORMAT_BC7_UNORM
@ DXGI_FORMAT_BC5_TYPELESS
@ DXGI_FORMAT_R32G32_SINT
@ DXGI_FORMAT_BC2_UNORM_SRGB
@ DXGI_FORMAT_R16_SNORM
@ DXGI_FORMAT_R8_SINT
@ DXGI_FORMAT_BC5_SNORM
@ DXGI_FORMAT_R32_UINT
@ DXGI_FORMAT_BC4_TYPELESS
@ DXGI_FORMAT_R32G32B32A32_FLOAT
@ DXGI_FORMAT_R24G8_TYPELESS
@ DXGI_FORMAT_IA44
@ DXGI_FORMAT_NV11
@ DXGI_FORMAT_R8G8_SINT
@ DXGI_FORMAT_R16_TYPELESS
@ DXGI_FORMAT_BC3_UNORM
@ DXGI_FORMAT_R32G32B32_UINT
@ DXGI_FORMAT_R16G16_TYPELESS
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
@ DXGI_FORMAT_R16G16_UINT
@ DXGI_FORMAT_D32_FLOAT
@ DXGI_FORMAT_R8G8_TYPELESS
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
@ DXGI_FORMAT_R16G16B16A16_SINT
@ DXGI_FORMAT_BC1_TYPELESS
@ DXGI_FORMAT_BC7_UNORM_SRGB
@ DXGI_FORMAT_BC2_UNORM
@ DXGI_FORMAT_R32G32_TYPELESS
@ DXGI_FORMAT_R32G8X24_TYPELESS
@ DXGI_FORMAT_B4G4R4A4_UNORM
@ DXGI_FORMAT_AI44
@ DXGI_FORMAT_R16G16_FLOAT
@ DXGI_FORMAT_B5G6R5_UNORM
@ DXGI_FORMAT_BC4_UNORM
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
@ DXGI_FORMAT_R8G8_SNORM
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
@ DXGI_FORMAT_P8
@ DXGI_FORMAT_R8_UINT
@ DXGI_FORMAT_BC4_SNORM
@ DXGI_FORMAT_NV12
@ DXGI_FORMAT_B5G5R5A1_UNORM
@ DXGI_FORMAT_B8G8R8X8_UNORM
interface IDXGIAdapter IDXGIAdapter
#define _Out_writes_opt_(size)
Definition mini_d3d12.h:109
D3D12_RESOURCE_FLAGS
@ D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
@ D3D12_RESOURCE_FLAG_NONE
@ D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
@ D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
@ D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
@ D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
@ D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
struct tagRECT * LPRECT
struct _SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
EXTERN_C const IID IID_ID3D12CommandAllocator
#define REFGUID
Definition mini_d3d12.h:491
__int64 LONGLONG
Definition mini_d3d12.h:279
#define DECLARE_INTERFACE(iface)
Definition mini_d3d12.h:724
struct _D3D_SHADER_MACRO * LPD3D_SHADER_MACRO
_W64 UINT32 ULONG_PTR
Definition mini_d3d12.h:254
interface ID3D10Blob ID3D10Blob
EXTERN_C const IID IID_IDXGIAdapter
HANDLE * PHANDLE
Definition mini_d3d12.h:442
#define _Null_terminated_
Definition mini_d3d12.h:69
interface IDXGIFactory IDXGIFactory
_Null_terminated_ CONST WCHAR * PCWSTR
Definition mini_d3d12.h:206
#define RPC_MGR_EPV
Definition mini_d3d12.h:546
interface ID3D12Device ID3D12Device
interface IDXGISwapChain IDXGISwapChain
_W64 INT32 * PINT_PTR
Definition mini_d3d12.h:250
D3D12_DSV_DIMENSION
@ D3D12_DSV_DIMENSION_UNKNOWN
@ D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_DSV_DIMENSION_TEXTURE1D
@ D3D12_DSV_DIMENSION_TEXTURE2DMS
@ D3D12_DSV_DIMENSION_TEXTURE2D
@ D3D12_DSV_DIMENSION_TEXTURE1DARRAY
@ D3D12_DSV_DIMENSION_TEXTURE2DARRAY
#define STDMETHODCALLTYPE
Definition mini_d3d12.h:300
interface ID3D12DeviceChild ID3D12DeviceChild
D3D12_CLEAR_FLAGS
@ D3D12_CLEAR_FLAG_STENCIL
@ D3D12_CLEAR_FLAG_DEPTH
#define END_INTERFACE
Definition mini_d3d12.h:598
struct _RPC_SYNTAX_IDENTIFIER * PRPC_SYNTAX_IDENTIFIER
interface ID3D12Heap ID3D12Heap
EXTERN_C const IID IID_ID3D12Debug
#define _Return_type_success_(expr)
Definition mini_d3d12.h:73
D3D12_DESCRIPTOR_HEAP_FLAGS
@ D3D12_DESCRIPTOR_HEAP_FLAG_NONE
@ D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
interface ID3D12Resource ID3D12Resource
D3D12_QUERY_TYPE
@ D3D12_QUERY_TYPE_OCCLUSION
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
@ D3D12_QUERY_TYPE_BINARY_OCCLUSION
@ D3D12_QUERY_TYPE_TIMESTAMP
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
@ D3D12_QUERY_TYPE_PIPELINE_STATISTICS
#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
D3D12_BUFFER_UAV_FLAGS
@ D3D12_BUFFER_UAV_FLAG_NONE
@ D3D12_BUFFER_UAV_FLAG_RAW
float FLOAT
Definition mini_d3d12.h:184
#define NEAR
Definition mini_d3d12.h:209
#define _Post_satisfies_(expr)
Definition mini_d3d12.h:81
_Null_terminated_ CHAR * PSTR
Definition mini_d3d12.h:204
#define interface
Definition mini_d3d12.h:686
BYTE UINT8
Definition mini_d3d12.h:223
D3D12_BUFFER_SRV_FLAGS
@ D3D12_BUFFER_SRV_FLAG_NONE
@ D3D12_BUFFER_SRV_FLAG_RAW
RPC_BINDING_HANDLE handle_t
Definition mini_d3d12.h:543
interface ID3DInclude ID3DInclude
#define __RPC_STUB
Definition mini_d3d12.h:525
HRESULT(WINAPI * PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **)
D3D12_TEXTURE_COPY_TYPE
@ D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
@ D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX
IUnknown * LPUNKNOWN
Definition mini_d3d12.h:752
#define _Inout_opt_
Definition mini_d3d12.h:53
D3D12_ROOT_SIGNATURE_FLAGS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
@ D3D12_ROOT_SIGNATURE_FLAG_NONE
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
short SHORT
Definition mini_d3d12.h:167
LONG_PTR * PSSIZE_T
Definition mini_d3d12.h:260
#define _Inout_updates_bytes_(size)
Definition mini_d3d12.h:121
_W64 UINT32 * PUINT_PTR
Definition mini_d3d12.h:251
#define WINAPI
Definition mini_d3d12.h:163
D3D12_UAV_DIMENSION
@ D3D12_UAV_DIMENSION_UNKNOWN
@ D3D12_UAV_DIMENSION_TEXTURE2D
@ D3D12_UAV_DIMENSION_TEXTURE1DARRAY
@ D3D12_UAV_DIMENSION_TEXTURE3D
@ D3D12_UAV_DIMENSION_TEXTURE2DARRAY
@ D3D12_UAV_DIMENSION_TEXTURE1D
@ D3D12_UAV_DIMENSION_BUFFER
union _LARGE_INTEGER LARGE_INTEGER
D3D12_HEAP_FLAGS
@ D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH
@ D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_ALLOW_DISPLAY
@ D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_HARDWARE_PROTECTED
@ D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS
@ D3D12_HEAP_FLAG_SHARED
@ D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER
@ D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES
@ D3D12_HEAP_FLAG_NONE
@ D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_DENY_BUFFERS
D3D12_DSV_FLAGS
@ D3D12_DSV_FLAG_NONE
@ D3D12_DSV_FLAG_READ_ONLY_STENCIL
@ D3D12_DSV_FLAG_READ_ONLY_DEPTH
interface ID3D12CommandSignature ID3D12CommandSignature
#define _Out_
Definition mini_d3d12.h:41
HRESULT(WINAPI * PFN_D3D12_CREATE_DEVICE)(_In_opt_ IUnknown *, D3D_FEATURE_LEVEL, _In_ REFIID, _COM_Outptr_opt_ void **)
#define WINBASEAPI
#define _In_reads_opt_(size)
Definition mini_d3d12.h:93
interface ID3D12Debug ID3D12Debug
D3D12_DESCRIPTOR_RANGE_FLAGS
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
@ D3D12_DESCRIPTOR_RANGE_FLAG_NONE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
D3D12_FILTER
@ D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_ANISOTROPIC
@ D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_COMPARISON_ANISOTROPIC
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MAXIMUM_ANISOTROPIC
@ D3D12_FILTER_ANISOTROPIC
@ D3D12_FILTER_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MIN_MAG_MIP_LINEAR
#define _COM_Outptr_
Definition mini_d3d12.h:57
HRESULT(WINAPI * PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory)
CHAR INT8
Definition mini_d3d12.h:220
DXGI_ADAPTER_FLAG
@ DXGI_ADAPTER_FLAG_REMOTE
@ DXGI_ADAPTER_FLAG_SOFTWARE
@ DXGI_ADAPTER_FLAG_FORCE_DWORD
@ DXGI_ADAPTER_FLAG_NONE
struct _RPC_MESSAGE RPC_MESSAGE
#define _In_
Definition mini_d3d12.h:29
interface ID3D12PipelineLibrary ID3D12PipelineLibrary
void * HANDLE
Definition mini_d3d12.h:426
interface ID3D12Device1 ID3D12Device1
HRESULT(WINAPI * PFN_D3DCOMPILE)(_In_reads_bytes_(SrcDataSize) LPCVOID pSrcData, _In_ SIZE_T SrcDataSize, _In_opt_ LPCSTR pSourceName, _In_reads_opt_(_Inexpressible_(pDefines->Name !=nullptr)) CONST D3D_SHADER_MACRO *pDefines, _In_opt_ ID3DInclude *pInclude, _In_opt_ LPCSTR pEntrypoint, _In_ LPCSTR pTarget, _In_ UINT Flags1, _In_ UINT Flags2, _Out_ ID3DBlob **ppCode, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs)
D3D12_CPU_PAGE_PROPERTY
@ D3D12_CPU_PAGE_PROPERTY_UNKNOWN
@ D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
@ D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE
@ D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE
#define _In_reads_bytes_opt_(size)
Definition mini_d3d12.h:101
D3D12_TEXTURE_LAYOUT
@ D3D12_TEXTURE_LAYOUT_UNKNOWN
@ D3D12_TEXTURE_LAYOUT_ROW_MAJOR
@ D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
@ D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
_W64 INT32 LONG_PTR
Definition mini_d3d12.h:253
interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer
EXTERN_C const IID IID_ID3D12CommandList
wchar_t WCHAR
Definition mini_d3d12.h:198
interface IUnknown IUnknown
Definition mini_d3d12.h:742
unsigned __int64 UINT64
Definition mini_d3d12.h:231
D3D12_SRV_DIMENSION
@ D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_SRV_DIMENSION_TEXTURECUBE
@ D3D12_SRV_DIMENSION_TEXTURE3D
@ D3D12_SRV_DIMENSION_TEXTURECUBEARRAY
@ D3D12_SRV_DIMENSION_TEXTURE2DARRAY
@ D3D12_SRV_DIMENSION_TEXTURE2DMS
@ D3D12_SRV_DIMENSION_BUFFER
@ D3D12_SRV_DIMENSION_TEXTURE1D
@ D3D12_SRV_DIMENSION_TEXTURE2D
@ D3D12_SRV_DIMENSION_TEXTURE1DARRAY
@ D3D12_SRV_DIMENSION_UNKNOWN
D3D12_STENCIL_OP
@ D3D12_STENCIL_OP_KEEP
@ D3D12_STENCIL_OP_INVERT
@ D3D12_STENCIL_OP_REPLACE
@ D3D12_STENCIL_OP_ZERO
@ D3D12_STENCIL_OP_INCR_SAT
@ D3D12_STENCIL_OP_DECR
@ D3D12_STENCIL_OP_INCR
@ D3D12_STENCIL_OP_DECR_SAT
#define _In_opt_
Definition mini_d3d12.h:37
EXTERN_C const IID IID_ID3D12Device
EXTERN_C const IID IID_ID3D12QueryHeap
IID * LPIID
Definition mini_d3d12.h:474
ID3D10Blob ID3DBlob
EXTERN_C const IID IID_IDXGIAdapter1
D3D12_INDIRECT_ARGUMENT_TYPE
@ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH
@ D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW
@ D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW
#define D3D12_REQ_SUBRESOURCES
D3D12_BLEND_OP
@ D3D12_BLEND_OP_MAX
@ D3D12_BLEND_OP_SUBTRACT
@ D3D12_BLEND_OP_MIN
@ D3D12_BLEND_OP_REV_SUBTRACT
@ D3D12_BLEND_OP_ADD
#define EXTERN_C
Definition mini_d3d12.h:327
D3D12_ROOT_PARAMETER_TYPE
@ D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
@ D3D12_ROOT_PARAMETER_TYPE_SRV
@ D3D12_ROOT_PARAMETER_TYPE_UAV
@ D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
@ D3D12_ROOT_PARAMETER_TYPE_CBV
_Null_terminated_ CONST WCHAR * LPCWSTR
Definition mini_d3d12.h:206
D3D12_QUERY_HEAP_TYPE
@ D3D12_QUERY_HEAP_TYPE_TIMESTAMP
@ D3D12_QUERY_HEAP_TYPE_SO_STATISTICS
@ D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS
@ D3D12_QUERY_HEAP_TYPE_OCCLUSION
struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC
LPCSTR LPCOLESTR
Definition mini_d3d12.h:935
interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer
interface ID3D12Fence ID3D12Fence
#define PURE
Definition mini_d3d12.h:709
D3D12_RESOURCE_BARRIER_TYPE
@ D3D12_RESOURCE_BARRIER_TYPE_UAV
@ D3D12_RESOURCE_BARRIER_TYPE_TRANSITION
@ D3D12_RESOURCE_BARRIER_TYPE_ALIASING
ID3DBlob * LPD3DBLOB
enum _D3D_INCLUDE_TYPE D3D_INCLUDE_TYPE
interface IDXGIObject IDXGIObject
interface ID3D10Blob * LPD3D10BLOB
unsigned long DWORD
Definition mini_d3d12.h:182
EXTERN_C const IID IID_IDXGIFactory1
unsigned __int64 * PUINT64
Definition mini_d3d12.h:231
D3D12_TILE_COPY_FLAGS
@ D3D12_TILE_COPY_FLAG_NONE
@ D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
@ D3D12_TILE_COPY_FLAG_NO_HAZARD
@ D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
#define BEGIN_INTERFACE
Definition mini_d3d12.h:597
D3D12_DESCRIPTOR_HEAP_TYPE
@ D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
@ D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
@ D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
@ D3D12_DESCRIPTOR_HEAP_TYPE_RTV
@ D3D12_DESCRIPTOR_HEAP_TYPE_DSV
interface ID3D12Tools ID3D12Tools
__int64 * PINT64
Definition mini_d3d12.h:230
SHORT * PINT16
Definition mini_d3d12.h:221
struct _D3D_SHADER_MACRO D3D_SHADER_MACRO
CONST void far * LPCVOID
Definition mini_d3d12.h:189
D3D12_COMPARISON_FUNC
@ D3D12_COMPARISON_FUNC_GREATER_EQUAL
@ D3D12_COMPARISON_FUNC_ALWAYS
@ D3D12_COMPARISON_FUNC_NOT_EQUAL
@ D3D12_COMPARISON_FUNC_LESS_EQUAL
@ D3D12_COMPARISON_FUNC_LESS
@ D3D12_COMPARISON_FUNC_NEVER
@ D3D12_COMPARISON_FUNC_EQUAL
@ D3D12_COMPARISON_FUNC_GREATER
D3D12_SHADER_VISIBILITY
@ D3D12_SHADER_VISIBILITY_DOMAIN
@ D3D12_SHADER_VISIBILITY_ALL
@ D3D12_SHADER_VISIBILITY_GEOMETRY
@ D3D12_SHADER_VISIBILITY_VERTEX
@ D3D12_SHADER_VISIBILITY_HULL
@ D3D12_SHADER_VISIBILITY_PIXEL
UINT UINT32
Definition mini_d3d12.h:225
struct __LUID * PLUID
interface IRpcStubBuffer IRpcStubBuffer
Definition mini_d3d12.h:736
struct _GUID GUID
D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF
#define _Post_equal_to_(e)
Definition mini_d3d12.h:77
HINSTANCE HMODULE
Definition mini_d3d12.h:456
struct tagRECT * PRECT
D3D12_BLEND
@ D3D12_BLEND_INV_SRC_COLOR
@ D3D12_BLEND_DEST_COLOR
@ D3D12_BLEND_INV_SRC1_ALPHA
@ D3D12_BLEND_INV_BLEND_FACTOR
@ D3D12_BLEND_BLEND_FACTOR
@ D3D12_BLEND_SRC1_COLOR
@ D3D12_BLEND_DEST_ALPHA
@ D3D12_BLEND_INV_DEST_COLOR
@ D3D12_BLEND_INV_SRC1_COLOR
@ D3D12_BLEND_SRC_COLOR
@ D3D12_BLEND_SRC_ALPHA
@ D3D12_BLEND_ONE
@ D3D12_BLEND_INV_DEST_ALPHA
@ D3D12_BLEND_INV_SRC_ALPHA
@ D3D12_BLEND_SRC_ALPHA_SAT
@ D3D12_BLEND_ZERO
@ D3D12_BLEND_SRC1_ALPHA
WINBASEAPI DWORD WINAPI WaitForSingleObject(_In_ HANDLE hHandle, _In_ DWORD dwMilliseconds)
void * I_RPC_HANDLE
Definition mini_d3d12.h:531
char CHAR
Definition mini_d3d12.h:166
#define DECLARE_HANDLE(name)
Definition mini_d3d12.h:432
#define _In_range_(lb, ub)
Definition mini_d3d12.h:85
#define STDMETHOD(method)
Definition mini_d3d12.h:688
D3D12_ROOT_DESCRIPTOR_FLAGS
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ D3D12_ROOT_DESCRIPTOR_FLAG_NONE
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE
#define FAR
Definition mini_d3d12.h:208
WINBASEAPI BOOL WINAPI CloseHandle(_In_ _Post_ptr_invalid_ HANDLE hObject)
interface ID3D12RootSignature ID3D12RootSignature
D3D_PRIMITIVE_TOPOLOGY
Definition mini_d3d12.h:956
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
@ D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:995
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP
@ D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:981
@ D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:988
@ D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:997
@ D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition mini_d3d12.h:961
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:970
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:980
@ D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:982
@ D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition mini_d3d12.h:999
@ D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:971
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:972
@ D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:987
@ D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition mini_d3d12.h:963
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST
@ D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:974
@ D3D10_PRIMITIVE_TOPOLOGY_POINTLIST
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition mini_d3d12.h:962
@ D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:977
@ D3D11_PRIMITIVE_TOPOLOGY_POINTLIST
@ D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:996
@ D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition mini_d3d12.h:957
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
@ D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:968
@ D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:969
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST
@ D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:990
@ D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:978
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST
@ D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:975
@ D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:992
@ D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:985
@ D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition mini_d3d12.h:966
@ D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:986
@ D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:993
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition mini_d3d12.h:960
@ D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST
Definition mini_d3d12.h:959
@ D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:983
@ D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:976
@ D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition mini_d3d12.h:965
@ D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:998
@ D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:994
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition mini_d3d12.h:964
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_POINTLIST
Definition mini_d3d12.h:958
@ D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:989
@ D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:967
@ D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:979
@ D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:973
@ D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:991
@ D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:984
interface IRpcChannelBuffer IRpcChannelBuffer
Definition mini_d3d12.h:737
struct tagRECT * NPRECT
#define _Out_writes_bytes_opt_(size)
Definition mini_d3d12.h:117
struct _RPC_SYNTAX_IDENTIFIER RPC_SYNTAX_IDENTIFIER
interface ID3D12PipelineState ID3D12PipelineState
unsigned long ULONG
Definition mini_d3d12.h:180
D3D12_HEAP_TYPE
@ D3D12_HEAP_TYPE_DEFAULT
@ D3D12_HEAP_TYPE_READBACK
@ D3D12_HEAP_TYPE_UPLOAD
@ D3D12_HEAP_TYPE_CUSTOM
#define _In_reads_(size)
Definition mini_d3d12.h:89
D3D12_FENCE_FLAGS
@ D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER
@ D3D12_FENCE_FLAG_NONE
@ D3D12_FENCE_FLAG_SHARED
ULONG_PTR SIZE_T
Definition mini_d3d12.h:259
EXTERN_C const IID IID_IDXGIFactory
interface ID3D12CommandQueue ID3D12CommandQueue
INT INT32
Definition mini_d3d12.h:222
D3D12_PIPELINE_STATE_FLAGS
@ D3D12_PIPELINE_STATE_FLAG_NONE
@ D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
D3D12_COMMAND_QUEUE_FLAGS
@ D3D12_COMMAND_QUEUE_FLAG_NONE
@ D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
D3D12_FEATURE
@ D3D12_FEATURE_FORMAT_SUPPORT
@ D3D12_FEATURE_FEATURE_LEVELS
@ D3D12_FEATURE_FORMAT_INFO
@ D3D12_FEATURE_D3D12_OPTIONS
@ D3D12_FEATURE_D3D12_OPTIONS2
@ D3D12_FEATURE_SHADER_CACHE
@ D3D12_FEATURE_SHADER_MODEL
@ D3D12_FEATURE_ARCHITECTURE
@ D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
@ D3D12_FEATURE_ARCHITECTURE1
@ D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
@ D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
@ D3D12_FEATURE_ROOT_SIGNATURE
@ D3D12_FEATURE_D3D12_OPTIONS1
interface IDXGIOutput IDXGIOutput
UINT64 D3D12_GPU_VIRTUAL_ADDRESS
unsigned __INT64_TYPE__ uint64_t
signed __INT64_TYPE__ int64_t
signed __INT32_TYPE__ int32_t
unsigned __INT32_TYPE__ uint32_t
DWORD LowPart
LONG HighPart
WORD Data2
Definition mini_d3d12.h:469
WORD Data3
Definition mini_d3d12.h:470
DWORD Data1
Definition mini_d3d12.h:468
BYTE Data4[8]
Definition mini_d3d12.h:471
unsigned int BufferLength
Definition mini_d3d12.h:565
unsigned long RpcFlags
Definition mini_d3d12.h:572
void __RPC_FAR * ImportContext
Definition mini_d3d12.h:571
unsigned int ProcNum
Definition mini_d3d12.h:566
unsigned long DataRepresentation
Definition mini_d3d12.h:563
PRPC_SYNTAX_IDENTIFIER TransferSyntax
Definition mini_d3d12.h:567
void __RPC_FAR * Buffer
Definition mini_d3d12.h:564
void __RPC_FAR * RpcInterfaceInformation
Definition mini_d3d12.h:568
void __RPC_FAR * ReservedForRuntime
Definition mini_d3d12.h:569
RPC_MGR_EPV __RPC_FAR * ManagerEpv
Definition mini_d3d12.h:570
RPC_BINDING_HANDLE Handle
Definition mini_d3d12.h:562
RPC_VERSION SyntaxVersion
Definition mini_d3d12.h:558
unsigned short MajorVersion
Definition mini_d3d12.h:552
unsigned short MinorVersion
Definition mini_d3d12.h:553
BOOL IndependentBlendEnable
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8]
D3D12_BUFFER_SRV_FLAGS Flags
D3D12_BUFFER_UAV_FLAGS Flags
UINT64 CounterOffsetInBytes
_Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob
D3D12_DEPTH_STENCIL_VALUE DepthStencil
DXGI_FORMAT Format
D3D12_COMMAND_QUEUE_FLAGS Flags
D3D12_COMMAND_LIST_TYPE Type
_Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs
ID3D12RootSignature * pRootSignature
D3D12_CACHED_PIPELINE_STATE CachedPSO
D3D12_PIPELINE_STATE_FLAGS Flags
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
D3D12_DEPTH_STENCILOP_DESC FrontFace
D3D12_DEPTH_STENCILOP_DESC BackFace
D3D12_COMPARISON_FUNC DepthFunc
D3D12_DEPTH_WRITE_MASK DepthWriteMask
D3D12_TEX2DMS_DSV Texture2DMS
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray
D3D12_TEX2D_ARRAY_DSV Texture2DArray
D3D12_DSV_DIMENSION ViewDimension
D3D12_TEX1D_ARRAY_DSV Texture1DArray
D3D12_STENCIL_OP StencilFailOp
D3D12_COMPARISON_FUNC StencilFunc
D3D12_STENCIL_OP StencilDepthFailOp
D3D12_STENCIL_OP StencilPassOp
D3D12_DESCRIPTOR_HEAP_TYPE Type
D3D12_DESCRIPTOR_HEAP_FLAGS Flags
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
D3D12_DESCRIPTOR_RANGE_FLAGS Flags
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
_In_reads_(NumRects) const D3D12_RECT *pRects
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
D3D12_INPUT_LAYOUT_DESC InputLayout
ID3D12RootSignature * pRootSignature
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType
D3D12_STREAM_OUTPUT_DESC StreamOutput
D3D12_DEPTH_STENCIL_DESC DepthStencilState
D3D12_PIPELINE_STATE_FLAGS Flags
D3D12_CACHED_PIPELINE_STATE CachedPSO
D3D12_RASTERIZER_DESC RasterizerState
D3D12_HEAP_PROPERTIES Properties
D3D12_HEAP_FLAGS Flags
D3D12_CPU_PAGE_PROPERTY CPUPageProperty
D3D12_HEAP_TYPE Type
D3D12_MEMORY_POOL MemoryPoolPreference
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
struct D3D12_INDIRECT_ARGUMENT_DESC::@18::@23 ShaderResourceView
D3D12_INDIRECT_ARGUMENT_TYPE Type
struct D3D12_INDIRECT_ARGUMENT_DESC::@18::@24 UnorderedAccessView
struct D3D12_INDIRECT_ARGUMENT_DESC::@18::@22 ConstantBufferView
struct D3D12_INDIRECT_ARGUMENT_DESC::@18::@20 VertexBuffer
struct D3D12_INDIRECT_ARGUMENT_DESC::@18::@21 Constant
D3D12_INPUT_CLASSIFICATION InputSlotClass
_Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs
D3D12_SUBRESOURCE_FOOTPRINT Footprint
D3D12_QUERY_HEAP_TYPE Type
D3D12_FILL_MODE FillMode
D3D12_CULL_MODE CullMode
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster
D3D12_TEX1D_ARRAY_RTV Texture1DArray
D3D12_TEX2DMS_RTV Texture2DMS
D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray
D3D12_RTV_DIMENSION ViewDimension
D3D12_TEX2D_ARRAY_RTV Texture2DArray
D3D12_RESOURCE_BARRIER_FLAGS Flags
D3D12_RESOURCE_BARRIER_TYPE Type
D3D12_RESOURCE_UAV_BARRIER UAV
D3D12_RESOURCE_TRANSITION_BARRIER Transition
D3D12_RESOURCE_ALIASING_BARRIER Aliasing
D3D12_RESOURCE_DIMENSION Dimension
D3D12_TEXTURE_LAYOUT Layout
DXGI_SAMPLE_DESC SampleDesc
D3D12_RESOURCE_FLAGS Flags
D3D12_RESOURCE_STATES StateBefore
D3D12_RESOURCE_STATES StateAfter
ID3D12Resource * pResource
D3D12_ROOT_DESCRIPTOR_FLAGS Flags
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges
D3D12_SHADER_VISIBILITY ShaderVisibility
D3D12_ROOT_DESCRIPTOR1 Descriptor
D3D12_ROOT_CONSTANTS Constants
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable
D3D12_ROOT_PARAMETER_TYPE ParameterType
D3D12_ROOT_CONSTANTS Constants
D3D12_SHADER_VISIBILITY ShaderVisibility
D3D12_ROOT_PARAMETER_TYPE ParameterType
D3D12_ROOT_DESCRIPTOR Descriptor
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
D3D12_ROOT_SIGNATURE_FLAGS Flags
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters
D3D12_ROOT_SIGNATURE_FLAGS Flags
D3D12_COMPARISON_FUNC ComparisonFunc
D3D12_TEXTURE_ADDRESS_MODE AddressV
D3D12_FILTER Filter
D3D12_TEXTURE_ADDRESS_MODE AddressU
D3D12_TEXTURE_ADDRESS_MODE AddressW
_Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode
D3D12_SRV_DIMENSION ViewDimension
D3D12_TEX1D_ARRAY_SRV Texture1DArray
D3D12_TEX2D_ARRAY_SRV Texture2DArray
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray
D3D12_TEXTURE_ADDRESS_MODE AddressW
D3D12_TEXTURE_ADDRESS_MODE AddressU
D3D12_SHADER_VISIBILITY ShaderVisibility
D3D12_TEXTURE_ADDRESS_MODE AddressV
D3D12_STATIC_BORDER_COLOR BorderColor
D3D12_COMPARISON_FUNC ComparisonFunc
D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
_Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration
_Field_size_full_(NumStrides) const UINT *pBufferStrides
FLOAT ResourceMinLODClamp
FLOAT ResourceMinLODClamp
UINT UnusedField_NothingToDefine
UINT UnusedField_NothingToDefine
UINT UnusedField_NothingToDefine
FLOAT ResourceMinLODClamp
D3D12_TEXTURE_COPY_TYPE Type
ID3D12Resource * pResource
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint
D3D12_UAV_DIMENSION ViewDimension
D3D12_TEX1D_ARRAY_UAV Texture1DArray
D3D12_TEX2D_ARRAY_UAV Texture2DArray
D3D12_ROOT_SIGNATURE_DESC Desc_1_0
D3D_ROOT_SIGNATURE_VERSION Version
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
SIZE_T DedicatedVideoMemory
SIZE_T DedicatedSystemMemory
WCHAR Description[128]
SIZE_T DedicatedVideoMemory
SIZE_T DedicatedSystemMemory
WCHAR Description[128]
SIZE_T SharedSystemMemory
ID3D10Blob * This
ID3D12CommandAllocator * This
ID3D12CommandAllocator _In_ REFGUID guid
ID3D12CommandAllocator REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12CommandAllocator _In_ REFGUID _In_ UINT DataSize
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12CommandAllocator _In_z_ LPCWSTR Name
ID3D12CommandAllocator _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12CommandAllocator _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12CommandAllocator REFIID riid
ID3D12CommandList REFIID riid
ID3D12CommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12CommandList _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12CommandList _In_z_ LPCWSTR Name
ID3D12CommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12CommandList _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12CommandList _In_ REFGUID guid
ID3D12CommandList * This
ID3D12CommandList _In_ REFGUID _In_ UINT DataSize
ID3D12CommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource * pSrcResource
void(STDMETHODCALLTYPE *ExecuteCommandLists)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pSrcRegionStartCoordinate
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT NumRanges
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags
ID3D12CommandQueue ID3D12Fence UINT64 Value
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pDstRegionStartCoordinate
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets
ID3D12CommandQueue _In_ REFGUID _In_opt_ const IUnknown * pData
_In_ ID3D12Resource * pResource
ID3D12CommandQueue _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandQueue REFIID riid
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT * pDataSize
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12CommandQueue *This
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT D3D12_TILE_MAPPING_FLAGS Flags
_In_ UINT _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists)
ID3D12CommandQueue _Out_ UINT64 _Out_ UINT64 * pCpuTimestamp
UINT _In_reads_bytes_opt_(Size) const void *pData
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12CommandQueue ID3D12Fence * pFence
_In_ ID3D12Resource UINT NumResourceRegions
void(STDMETHODCALLTYPE *CopyTileMappings)(ID3D12CommandQueue *This
void(STDMETHODCALLTYPE *SetMarker)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE D3D12_TILE_MAPPING_FLAGS Flags
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes
void(STDMETHODCALLTYPE *UpdateTileMappings)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE * pRegionSize
ID3D12CommandQueue _Out_ UINT64 * pFrequency
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates
ID3D12CommandQueue _In_z_ LPCWSTR Name
ID3D12CommandQueue _In_ REFGUID guid
void(STDMETHODCALLTYPE *EndEvent)(ID3D12CommandQueue *This)
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap * pHeap
ID3D12CommandQueue REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12CommandQueue _In_ REFGUID _In_ UINT DataSize
ID3D12CommandQueue _Out_ UINT64 * pGpuTimestamp
ID3D12CommandQueue * This
_In_ ID3D12Resource * pDstResource
ID3D12Debug * This
void(STDMETHODCALLTYPE *EnableDebugLayer)(ID3D12Debug *This)
ID3D12DescriptorHeap _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12DescriptorHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12DescriptorHeap _In_ REFGUID guid
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT DataSize
ID3D12DescriptorHeap REFIID riid
ID3D12DescriptorHeap * This
ID3D12DescriptorHeap _In_z_ LPCWSTR Name
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12DeviceChild * This
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12DeviceChild _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12DeviceChild _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DeviceChild REFIID riid
ID3D12DeviceChild REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12DeviceChild _In_z_ LPCWSTR Name
ID3D12DeviceChild _In_ REFGUID _In_ UINT DataSize
ID3D12DeviceChild _In_ REFGUID guid
_In_ const D3D12_SAMPLER_DESC * pDesc
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
ID3D12Device _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR Name
_In_ UINT _In_ UINT _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID _COM_Outptr_opt_ void ** ppvResource
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialResourceState
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
ID3D12Device _In_ ID3D12DeviceChild * pObject
void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(ID3D12Device *This
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC * pDescriptorHeapDesc
ID3D12Device _In_z_ LPCWSTR Name
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT *pNumRows
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
void(STDMETHODCALLTYPE *CreateDepthStencilView)(ID3D12Device *This
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID _COM_Outptr_opt_ void ** ppvResource
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvCommandSignature
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature * pRootSignature
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
ID3D12Device _In_ UINT _In_ UINT numResourceDescs
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
ID3D12Device _In_ UINT visibleMask
ID3D12Device _In_ LPCWSTR DWORD Access
void(STDMETHODCALLTYPE *GetCopyableFootprints)(ID3D12Device *This
ID3D12Device _In_ HANDLE NTHandle
ID3D12Device BOOL Enable
_In_opt_ ID3D12Resource * pResource
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource * pCounterResource
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC * pDesc
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC * pDesc
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE type
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
ID3D12Device UINT64 InitialValue
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
_In_ UINT _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes
void(STDMETHODCALLTYPE *CopyDescriptors)(ID3D12Device *This
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO * pPackedMipDesc
ID3D12Device _In_ UINT _In_ SIZE_T REFIID _COM_Outptr_ void ** ppvRootSignature
_In_ UINT NumDestDescriptorRanges
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD Access
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT * pNumSubresourceTilings
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID _COM_Outptr_ void ** ppCommandAllocator
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riidResource
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID _COM_Outptr_ void ** ppCommandQueue
ID3D12Device _In_ UINT _In_ SIZE_T blobLengthInBytes
void(STDMETHODCALLTYPE *CreateRenderTargetView)(ID3D12Device *This
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES * pHeapProperties
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID riid
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
ID3D12Device _In_ UINT _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID riid
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID _COM_Outptr_ void ** ppCommandList
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID _COM_Outptr_ void ** ppvHeap
ID3D12Device UINT _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects)
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC * pDesc
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID _COM_Outptr_opt_ void ** ppvResource
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
void(STDMETHODCALLTYPE *GetResourceTiling)(ID3D12Device *This
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
ID3D12Device _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
ID3D12Device _In_ REFGUID _In_ UINT DataSize
ID3D12Device _In_ ID3D12Heap UINT64 HeapOffset
ID3D12Device D3D12_FEATURE _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC * pDesc
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
ID3D12Device _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
ID3D12Device _In_ UINT D3D12_HEAP_TYPE heapType
_In_ const D3D12_SAMPLER_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES * pAttributes
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources
ID3D12Device _In_ REFGUID _Inout_ UINT * pDataSize
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT _Out_writes_ pNumSubresourceTilings D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
_In_ UINT NumDescriptors
ID3D12Device UINT NumObjects
_In_ UINT _In_ UINT NumSrcDescriptorRanges
ID3D12Device _In_ const D3D12_RESOURCE_DESC * pDesc
ID3D12Device UINT64 D3D12_FENCE_FLAGS Flags
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC * pDesc
ID3D12Device _In_ UINT _In_ UINT _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs)
ID3D12Device _In_ ID3D12Heap * pHeap
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE * pStandardTileShapeForNonPackedMips
_In_ UINT _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
ID3D12Device _In_ const D3D12_HEAP_DESC * pDesc
ID3D12Device _In_ UINT nodeMask
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR _Out_ HANDLE * pHandle
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC * pDesc
ID3D12Device _In_ REFGUID guid
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID riid
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC * pDesc
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS HeapFlags
ID3D12Device D3D12_FEATURE UINT FeatureSupportDataSize
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator * pCommandAllocator
_In_ ID3D12Resource _Out_opt_ UINT * pNumTilesForEntireResource
ID3D12Device _In_ HANDLE REFIID riid
ID3D12Device _In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC * pDesc
_In_ UINT _In_ UINT _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID riid
ID3D12Device _In_ HANDLE REFIID _COM_Outptr_opt_ void ** ppvObj
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
void(STDMETHODCALLTYPE *CreateSampler)(ID3D12Device *This
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID riid
void(STDMETHODCALLTYPE *CreateConstantBufferView)(ID3D12Device *This
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart
ID3D12Device _In_ UINT _In_ SIZE_T REFIID riid
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID _COM_Outptr_ void ** ppFence
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource
ID3D12Device * This
ID3D12Device D3D12_FEATURE Feature
void(STDMETHODCALLTYPE *CreateShaderResourceView)(ID3D12Device *This
ID3D12Device _In_ LPCWSTR Name
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT FirstSubresourceTilingToGet
ID3D12Device _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ ID3D12Resource * pTiledResource
void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(ID3D12Device *This
ID3D12Fence UINT64 Value
ID3D12Fence UINT64 HANDLE hEvent
ID3D12Fence _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12Fence _In_z_ LPCWSTR Name
ID3D12Fence _In_ REFGUID _In_ UINT DataSize
ID3D12Fence REFIID riid
ID3D12Fence _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12Fence _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Fence _In_ REFGUID guid
ID3D12Fence _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12Fence * This
ID3D12Fence REFIID _COM_Outptr_opt_ void ** ppvDevice
void(STDMETHODCALLTYPE *ResolveSubresource)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *CopyTiles)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource * pDestinationBuffer
_In_ ID3D12GraphicsCommandList * pCommandList
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(ID3D12GraphicsCommandList *This
_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports
_In_ UINT _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor
_In_opt_ ID3D12Resource * pBuffer
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 BufferStartOffsetInBytes
void(STDMETHODCALLTYPE *CopyResource)(ID3D12GraphicsCommandList *This
_In_ ID3D12CommandSignature _In_ UINT MaxCommandCount
_In_ UINT _In_ UINT _In_ UINT StartIndexLocation
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource * pSrcResource
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle
void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT NumRects
ID3D12GraphicsCommandList _In_ REFGUID _In_opt_ const IUnknown * pData
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT _In_ INT BaseVertexLocation
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 UINT64 NumBytes
void(STDMETHODCALLTYPE *ExecuteBundle)(ID3D12GraphicsCommandList *This
_In_opt_ ID3D12RootSignature * pRootSignature
void(STDMETHODCALLTYPE *ExecuteIndirect)(ID3D12GraphicsCommandList *This
_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects
_In_reads_(NumRects) const D3D12_RECT *pRects)
void(STDMETHODCALLTYPE *SetComputeRootSignature)(ID3D12GraphicsCommandList *This
_In_opt_ ID3D12Resource _In_ UINT64 AlignedBufferOffset
_In_ UINT _In_ UINT _In_reads_(Num32BitValuesToSet *sizeof(UINT)) const void *pSrcData
_In_ UINT _In_ UINT _In_ UINT _In_ UINT StartInstanceLocation
void(STDMETHODCALLTYPE *OMSetStencilRef)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
void(STDMETHODCALLTYPE *CopyBufferRegion)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pDstBuffer
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 ArgumentBufferOffset
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT StartIndex
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
void(STDMETHODCALLTYPE *SetPredication)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *DrawIndexedInstanced)(ID3D12GraphicsCommandList *This
_In_ UINT _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers)
_In_ UINT _In_ UINT NumViews
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT NumRects
void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE Type
_In_opt_ const D3D12_INDEX_BUFFER_VIEW * pView
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT Num32BitValuesToSet
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT NumRects
void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT NumRects
void(STDMETHODCALLTYPE *IASetVertexBuffers)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap * pQueryHeap
ID3D12GraphicsCommandList _In_ REFGUID guid
void(STDMETHODCALLTYPE *SOSetTargets)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource * pSrcBuffer
void(STDMETHODCALLTYPE *OMSetBlendFactor)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 DstOffset
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
_In_ ID3D12Resource _In_opt_ const D3D12_DISCARD_REGION * pRegion
void(STDMETHODCALLTYPE *RSSetScissorRects)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT StartVertexLocation
void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *RSSetViewports)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT NumQueries
void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource * pResource
void(STDMETHODCALLTYPE *SetMarker)(ID3D12GraphicsCommandList *This
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT DstZ
void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator * pAllocator
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT DstY
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
void(STDMETHODCALLTYPE *ClearRenderTargetView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *CopyTextureRegion)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT DataSize
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 D3D12_TILE_COPY_FLAGS Flags
void(STDMETHODCALLTYPE *ClearDepthStencilView)(ID3D12GraphicsCommandList *This
_In_ ID3D12PipelineState * pPipelineState
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT Index
void(STDMETHODCALLTYPE *IASetIndexBuffer)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pTiledResource
_In_ ID3D12Resource * pResource
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pRenderTargetDescriptors
_In_ UINT _In_ UINT _In_ UINT DestOffsetIn32BitValues
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView
void(STDMETHODCALLTYPE *SetDescriptorHeaps)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *ResourceBarrier)(ID3D12GraphicsCommandList *This
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL RTsSingleHandleToDescriptorRange
_In_ UINT _In_ UINT _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews)
UINT _In_reads_bytes_opt_(Size) const void *pData
void(STDMETHODCALLTYPE *EndEvent)(ID3D12GraphicsCommandList *This)
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource * pCountBuffer
_In_ const D3D12_TEXTURE_COPY_LOCATION * pDst
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE * pTileRegionSize
ID3D12GraphicsCommandList * This
_In_ UINT _In_ UINT SrcData
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION * pSrc
void(STDMETHODCALLTYPE *ResolveQueryData)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_opt_ ID3D12PipelineState * pPipelineState
_In_ UINT _In_ UINT ThreadGroupCountY
void(STDMETHODCALLTYPE *EndQuery)(ID3D12GraphicsCommandList *This
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION _In_opt_ const D3D12_BOX * pSrcBox
_In_ UINT _In_ UINT _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews)
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *DrawInstanced)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pDstResource
void(STDMETHODCALLTYPE *OMSetRenderTargets)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *Dispatch)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *ClearState)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList REFIID riid
_In_ ID3D12Resource _In_ UINT DstSubresource
void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT * pDataSize
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 Stencil
_In_ UINT _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps)
_In_ ID3D12CommandSignature * pCommandSignature
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource _In_ UINT64 CountBufferOffset
void(STDMETHODCALLTYPE *BeginQuery)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *DiscardResource)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pTileRegionStartCoordinate
_In_ UINT _In_ UINT InstanceCount
void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS ClearFlags
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT _In_ DXGI_FORMAT Format
_In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT Depth
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource * pBuffer
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource * pArgumentBuffer
_In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports)
ID3D12GraphicsCommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT DstX
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pDepthStencilDescriptor
void(STDMETHODCALLTYPE *SetPipelineState)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource _In_ UINT64 AlignedDestinationBufferOffset
ID3D12GraphicsCommandList _In_z_ LPCWSTR Name
_In_opt_ ID3D12Resource _In_ UINT64 _In_ D3D12_PREDICATION_OP Operation
ID3D12Object _In_ REFGUID _In_ UINT DataSize
ID3D12Object _In_ REFGUID guid
ID3D12Object _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12Object _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12Object _In_z_ LPCWSTR Name
ID3D12Object _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12Object * This
ID3D12Object _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Pageable REFIID riid
ID3D12Pageable _In_z_ LPCWSTR Name
ID3D12Pageable _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12Pageable REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12Pageable * This
ID3D12Pageable _In_ REFGUID _In_ UINT DataSize
ID3D12Pageable _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12Pageable _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12Pageable _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Pageable _In_ REFGUID guid
ID3D12PipelineState _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12PipelineState REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12PipelineState REFIID riid
ID3D12PipelineState _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12PipelineState * This
ID3D12PipelineState _COM_Outptr_ ID3DBlob ** ppBlob
ID3D12PipelineState _In_ REFGUID _In_ UINT DataSize
ID3D12PipelineState _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12PipelineState _In_ REFGUID guid
ID3D12PipelineState _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12PipelineState _In_z_ LPCWSTR Name
ID3D12QueryHeap REFIID riid
ID3D12QueryHeap * This
ID3D12QueryHeap _In_z_ LPCWSTR Name
ID3D12QueryHeap _In_ REFGUID guid
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12QueryHeap _In_ REFGUID _In_ UINT DataSize
ID3D12QueryHeap _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12QueryHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12QueryHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Resource REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void * pSrcData
ID3D12Resource _Out_ void UINT DstRowPitch
ID3D12Resource _Out_ void * pDstData
ID3D12Resource UINT DstSubresource
ID3D12Resource _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES _Out_opt_ D3D12_HEAP_FLAGS * pHeapFlags
ID3D12Resource UINT _In_opt_ const D3D12_RANGE * pReadRange
ID3D12Resource _Out_ void UINT UINT UINT _In_opt_ const D3D12_BOX * pSrcBox
ID3D12Resource _Out_ void UINT UINT DstDepthPitch
ID3D12Resource REFIID riid
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT UINT SrcDepthPitch
ID3D12Resource _In_ REFGUID _In_ UINT DataSize
ID3D12Resource * This
ID3D12Resource _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
void(STDMETHODCALLTYPE *Unmap)(ID3D12Resource *This
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES * pHeapProperties
ID3D12Resource _In_ REFGUID guid
ID3D12Resource _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12Resource UINT _In_opt_ const D3D12_RANGE _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData)
ID3D12Resource UINT Subresource
ID3D12Resource _In_z_ LPCWSTR Name
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT SrcRowPitch
ID3D12Resource _In_ REFGUID _Inout_ UINT * pDataSize
ID3D12Resource UINT _In_opt_ const D3D12_BOX * pDstBox
ID3D12Resource _Out_ void UINT UINT UINT SrcSubresource
UINT _In_opt_ const D3D12_RANGE * pWrittenRange
ID3D12RootSignature _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12RootSignature _In_z_ LPCWSTR Name
ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvDevice
ID3D12RootSignature _In_ REFGUID _In_opt_ const IUnknown * pData
ID3D12RootSignature _In_ REFGUID guid
ID3D12RootSignature * This
ID3D12RootSignature _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
ID3D12RootSignature _In_ REFGUID _In_ UINT DataSize
ID3D12RootSignature REFIID riid
ID3D12RootSignature _In_ REFGUID _Inout_ UINT * pDataSize
IDXGIAdapter1 _In_ REFGUID Name
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC1 * pDesc
IDXGIAdapter1 _In_ REFIID _COM_Outptr_ void ** ppParent
IDXGIAdapter1 _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
IDXGIAdapter1 UINT _COM_Outptr_ IDXGIOutput ** ppOutput
IDXGIAdapter1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
IDXGIAdapter1 _In_ REFGUID InterfaceName
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT * pDataSize
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
IDXGIAdapter1 * This
IDXGIAdapter1 UINT Output
IDXGIAdapter1 _In_ REFIID riid
IDXGIAdapter1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC * pDesc
IDXGIAdapter1 _In_ REFGUID UINT DataSize
IDXGIAdapter _In_ REFIID _COM_Outptr_ void ** ppParent
IDXGIAdapter _In_ REFGUID InterfaceName
IDXGIAdapter _In_ REFGUID _Inout_ UINT * pDataSize
IDXGIAdapter _In_ REFGUID Name
IDXGIAdapter _In_ REFIID riid
IDXGIAdapter _In_ REFGUID _In_opt_ const IUnknown * pUnknown
IDXGIAdapter _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIAdapter UINT Output
IDXGIAdapter _Out_ DXGI_ADAPTER_DESC * pDesc
IDXGIAdapter UINT _COM_Outptr_ IDXGIOutput ** ppOutput
IDXGIAdapter _In_ REFGUID UINT DataSize
IDXGIAdapter _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
IDXGIAdapter _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
IDXGIAdapter * This
IDXGIFactory1 HWND WindowHandle
IDXGIFactory1 HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
IDXGIFactory1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
IDXGIFactory1 UINT Adapter
IDXGIFactory1 _Out_ HWND * pWindowHandle
IDXGIFactory1 * This
IDXGIFactory1 _In_ REFIID _COM_Outptr_ void ** ppParent
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
IDXGIFactory1 HWND UINT Flags
IDXGIFactory1 _In_ REFGUID Name
IDXGIFactory1 HMODULE Module
IDXGIFactory1 _In_ REFGUID UINT DataSize
IDXGIFactory1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
IDXGIFactory1 _In_ REFIID riid
IDXGIFactory1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
IDXGIFactory1 _In_ IUnknown * pDevice
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
IDXGIFactory1 _In_ REFGUID _Inout_ UINT * pDataSize
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
IDXGIFactory _Out_ HWND * pWindowHandle
IDXGIFactory UINT Adapter
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
IDXGIFactory HWND WindowHandle
IDXGIFactory _In_ REFGUID _In_opt_ const IUnknown * pUnknown
IDXGIFactory _In_ REFGUID UINT DataSize
IDXGIFactory _In_ REFIID riid
IDXGIFactory * This
IDXGIFactory _In_ REFGUID _Inout_ UINT * pDataSize
IDXGIFactory HMODULE Module
IDXGIFactory _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory _In_ REFGUID Name
IDXGIFactory _In_ IUnknown * pDevice
IDXGIFactory UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
IDXGIFactory _In_ REFIID _COM_Outptr_ void ** ppParent
IDXGIFactory _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
IDXGIFactory HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
IDXGIFactory HWND UINT Flags
IDXGIObject _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIObject _In_ REFGUID Name
IDXGIObject _In_ REFIID riid
IDXGIObject _In_ REFGUID _In_opt_ const IUnknown * pUnknown
IDXGIObject _In_ REFGUID UINT DataSize
IDXGIObject * This
IDXGIObject _In_ REFIID _COM_Outptr_ void ** ppParent
IDXGIObject _In_ REFGUID _Inout_ UINT * pDataSize
IDXGIObject _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
IUnknown * This
Definition mini_d3d12.h:852
LONG right
Definition mini_d3d12.h:448
LONG bottom
Definition mini_d3d12.h:449
LONG top
Definition mini_d3d12.h:447
LONG left
Definition mini_d3d12.h:446
struct _LARGE_INTEGER::@6 DUMMYSTRUCTNAME
LONGLONG QuadPart
Definition mini_d3d12.h:319
struct _LARGE_INTEGER::@7 u