Halide 17.0.0
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 */
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
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 */
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 */
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
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
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 */
1183
1184/* d3dcommon.h */
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
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
1835
1844
1851
1856
1863
1870
1875
1884
1892
1912
1920
1939
1952
1958
1963
1969
1974
1988
1993
2004
2015
2022
2033
2038
2048
2053
2058
2064
2072
2077
2102
2110
2115
2123
2130
2140
2154
2161
2167
2174
2182
2198
2203
2211
2233
2238
2246
2263
2268
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
2323
2329
2337
2344
2353
2359
2365
2373
2377
2382
2396
2414
2416
2421
2425
2429
2434
2443
2447
2453
2458
2465
2471
2481
2494
2499
2503
2509
2514
2518
2525
2530
2536
2548
2563
2567
2573
2577
2583
2587
2592
2598
2609
2623
2624typedef enum D3D12_FILTER {
2662
2670
2683
2691
2699
2707
2712
2719
2725
2737
2765
2772
2779
2785
2792
2799
2807
2814
2819
2828
2830
2831#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
2832
2838
2847
2849
2856
2861
2865
2871
2878
2889
2895
2901
2908
2919
2924
2935
2943
2950
2958
2963
2969
2974
2983
2993
3000
3016
3024
3032
3042
3047
3054
3061
3071
3079
3085
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
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
5938
5945
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