Halide 14.0.0
Halide compiler and libraries
mini_d3d12.h
Go to the documentation of this file.
1#ifndef __mini_d3d12_h__
2#define __mini_d3d12_h__
3
4#ifdef __clang__
5// #define __stdcall __attribute__ ((stdcall))
6#pragma clang diagnostic push
7#pragma clang diagnostic ignored "-Wunknown-pragmas"
8#pragma clang diagnostic ignored "-Wunused-value"
9#define __export
10#ifndef _WIN32
11#define _WIN32 1
12#endif //_WIN32
13#ifdef BITS_64 // <- Halide back-end compilation flag (-DBITS_${j})
14#ifndef _WIN64
15#define _WIN64 1
16#endif //_WIN64
17#else
18#define _STDCALL_SUPPORTED
19#endif
20#endif
21
22#ifndef __midl
23#define __midl
24#endif //__midl
25
26/* sal.h */
27// Clear-out SAL macros (Source-code Annotation Language)
28#ifndef _In_
29#define _In_
30#endif //_In_
31
32#ifndef _In_z_
33#define _In_z_
34#endif //_In_z_
35
36#ifndef _In_opt_
37#define _In_opt_
38#endif //_In_opt_
39
40#ifndef _Out_
41#define _Out_
42#endif //_Out_
43
44#ifndef _Out_opt_
45#define _Out_opt_
46#endif //_Out_opt_
47
48#ifndef _Inout_
49#define _Inout_
50#endif //_Inout_
51
52#ifndef _Inout_opt_
53#define _Inout_opt_
54#endif //_Inout_opt_
55
56#ifndef _COM_Outptr_
57#define _COM_Outptr_
58#endif //_COM_Outptr_
59
60#ifndef _COM_Outptr_opt_
61#define _COM_Outptr_opt_
62#endif //_COM_Outptr_opt_
63
64#ifndef _Check_return_
65#define _Check_return_
66#endif //_Check_return_
67
68#ifndef _Null_terminated_
69#define _Null_terminated_
70#endif //_Null_terminated_
71
72#ifndef _Return_type_success_
73#define _Return_type_success_(expr)
74#endif //_Return_type_success_
75
76#ifndef _Post_equal_to_
77#define _Post_equal_to_(e)
78#endif //_Post_equal_to_
79
80#ifndef _Post_satisfies_
81#define _Post_satisfies_(expr)
82#endif //_Post_satisfies_
83
84#ifndef _In_range_
85#define _In_range_(lb, ub)
86#endif //_In_range_
87
88#ifndef _In_reads_
89#define _In_reads_(size)
90#endif //_In_reads_
91
92#ifndef _In_reads_opt_
93#define _In_reads_opt_(size)
94#endif //_In_reads_opt_
95
96#ifndef _In_reads_bytes_
97#define _In_reads_bytes_(size)
98#endif //_In_reads_bytes_
99
100#ifndef _In_reads_bytes_opt_
101#define _In_reads_bytes_opt_(size)
102#endif //_In_reads_bytes_opt_
103
104#ifndef _Out_writes_
105#define _Out_writes_(size)
106#endif //_Out_writes_
107
108#ifndef _Out_writes_opt_
109#define _Out_writes_opt_(size)
110#endif //_Out_writes_opt_
111
112#ifndef _Out_writes_bytes_
113#define _Out_writes_bytes_(size)
114#endif //_Out_writes_bytes_
115
116#ifndef _Out_writes_bytes_opt_
117#define _Out_writes_bytes_opt_(size)
118#endif //_Out_writes_bytes_opt_
119
120#ifndef _Inout_updates_bytes_
121#define _Inout_updates_bytes_(size)
122#endif //_Inout_updates_bytes_
123
124#ifndef _Field_size_full_
125#define _Field_size_full_(size)
126#endif //_Field_size_full_
127
128#ifndef _Field_size_bytes_full_
129#define _Field_size_bytes_full_(size)
130#endif //_Field_size_bytes_full_
131
132#ifndef _Outptr_opt_result_bytebuffer_
133#define _Outptr_opt_result_bytebuffer_(size)
134#endif //_Outptr_opt_result_bytebuffer_
135
136#ifndef _Must_inspect_result_
137#define _Must_inspect_result_
138#endif //_Must_inspect_result_
139
140#ifndef __specstrings
141#define __specstrings
142#endif //__specstrings
143
144#ifndef _Always_
145#define _Always_(annos)
146#endif //_Always_
147
148/* rpcsal.h */
149#ifndef __RPC_string
150#define __RPC_string
151#endif //__RPC_string
152
153#ifndef __RPC__deref_out
154#define __RPC__deref_out
155#endif //__RPC__deref_out
156
157/* minwindef.h */
158/*
159 * On ARM and x64 processors, __stdcall is accepted and ignored by the compiler;
160 * on ARM and x64 architectures, by convention, arguments are passed in registers
161 * when possible, and subsequent arguments are passed on the stack.
162 */
163#define WINAPI __stdcall
164
165#define VOID void
166typedef char CHAR;
167typedef short SHORT;
168typedef unsigned char BYTE;
169typedef unsigned short WORD;
170#ifdef __clang__
171// must enforce LLP64 for Windows x64 ...
172typedef int32_t LONG; // long is 64bits on clang-x64
173typedef int32_t INT; // and so is int as well...
174typedef uint32_t ULONG;
175typedef uint32_t UINT;
176typedef uint32_t DWORD;
177#else
178typedef long LONG;
179typedef int INT;
180typedef unsigned long ULONG;
181typedef unsigned int UINT;
182typedef unsigned long DWORD;
183#endif
184typedef float FLOAT;
185
186#define CONST const
187#define far
188#define near
189typedef CONST void far *LPCVOID;
190typedef void far *LPVOID;
191
192typedef INT BOOL;
193
194#ifdef __clang__
195typedef unsigned short WCHAR; // clang's wchar_t is 32bits by default...
196#else
197#ifndef _MAC
198typedef wchar_t WCHAR; // Windows wchar_t : 16-bit UNICODE character
199#else
200// some Macintosh compilers don't define wchar_t in a convenient location, or define it as a char
201typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
202#endif
203#endif
207
208#define FAR far
209#define NEAR near
210
211#ifndef FALSE
212#define FALSE 0
213#endif
214
215#ifndef TRUE
216#define TRUE 1
217#endif
218
219/* basestd.h */
220typedef CHAR INT8, *PINT8;
222typedef INT INT32, *PINT32;
223typedef BYTE UINT8, *PUINT8;
226#ifdef __clang__
227typedef int64_t INT64, *PINT64;
228typedef uint64_t UINT64, *PUINT64;
229#else
230typedef __int64 INT64, *PINT64;
231typedef unsigned __int64 UINT64, *PUINT64;
232#endif
233#if !defined(_W64)
234#if !defined(__midl) && (defined(_X86_) || defined(_M_IX86) || defined(_ARM_) || defined(_M_ARM)) && _MSC_VER >= 1300
235#define _W64 __w64
236#else
237#define _W64
238#endif
239#endif
240#if defined(_WIN64)
241typedef INT64 INT_PTR, *PINT_PTR;
242typedef UINT64 UINT_PTR, *PUINT_PTR;
243
244typedef INT64 LONG_PTR, *PLONG_PTR;
245typedef UINT64 ULONG_PTR, *PULONG_PTR;
246
247#define __int3264 INT64
248
249#else
252
255
256#define __int3264 INT32
257
258#endif
261
262#ifndef NO_STRICT
263#ifndef STRICT
264#define STRICT 1
265#endif
266#endif /* NO_STRICT */
267
268/* minwinbase.h */
269typedef struct _SECURITY_ATTRIBUTES {
274
275/* winnt.h */
276#ifdef __clang__
277typedef int64_t LONGLONG;
278#else
279typedef __int64 LONGLONG;
280#endif
281
282typedef _Return_type_success_(return >= 0) LONG HRESULT;
283
284#if defined(_WIN32) || defined(_MPPC_)
285
286// Win32 doesn't support __export
287
288#ifdef _68K_
289#define STDMETHODCALLTYPE __cdecl
290#else
291#define STDMETHODCALLTYPE __stdcall
292#endif
293#define STDMETHODVCALLTYPE __cdecl
294
295#define STDAPICALLTYPE __stdcall
296#define STDAPIVCALLTYPE __cdecl
297
298#else
299
300#define STDMETHODCALLTYPE __export __stdcall
301#define STDMETHODVCALLTYPE __export __cdecl
302
303#define STDAPICALLTYPE __export __stdcall
304#define STDAPIVCALLTYPE __export __cdecl
305
306#endif
307
308#define DUMMYSTRUCTNAME
309
310typedef union _LARGE_INTEGER {
311 struct {
315 struct {
318 } u;
321
322#ifdef __cplusplus
323#define EXTERN_C extern "C"
324#define EXTERN_C_START extern "C" {
325#define EXTERN_C_END }
326#else
327#define EXTERN_C extern
328#define EXTERN_C_START
329#define EXTERN_C_END
330#endif
331
332#if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)) && !defined(MIDL_PASS)
333#define DECLSPEC_IMPORT __declspec(dllimport)
334#else
335#define DECLSPEC_IMPORT
336#endif
337
338#ifdef __cplusplus
339
340// Define operator overloads to enable bit operations on enum values that are
341// used to define flags. Use DEFINE_ENUM_FLAG_OPERATORS(YOUR_TYPE) to enable these
342// operators on YOUR_TYPE.
343
344// Moved here from objbase.w.
345
346// Templates are defined here in order to avoid a dependency on C++ <type_traits> header file,
347// or on compiler-specific contructs.
348extern "C++" {
349
350template<size_t S>
351struct _ENUM_FLAG_INTEGER_FOR_SIZE;
352
353template<>
354struct _ENUM_FLAG_INTEGER_FOR_SIZE<1> {
355 typedef INT8 type;
356};
357
358template<>
359struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> {
360 typedef INT16 type;
361};
362
363template<>
364struct _ENUM_FLAG_INTEGER_FOR_SIZE<4> {
365 typedef INT32 type;
366};
367
368// used as an approximation of std::underlying_type<T>
369template<class T>
370struct _ENUM_FLAG_SIZED_INTEGER {
371 typedef typename _ENUM_FLAG_INTEGER_FOR_SIZE<sizeof(T)>::type type;
372};
373}
374
375#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \
376 extern "C++" { \
377 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
378 inline ENUMTYPE operator|(ENUMTYPE a, ENUMTYPE b) { \
379 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
380 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) | ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
381 } \
382 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
383 inline ENUMTYPE &operator|=(ENUMTYPE &a, ENUMTYPE b) { \
384 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
385 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
386 } \
387 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
388 inline ENUMTYPE operator&(ENUMTYPE a, ENUMTYPE b) { \
389 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
390 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) & ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
391 } \
392 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
393 inline ENUMTYPE &operator&=(ENUMTYPE &a, ENUMTYPE b) { \
394 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
395 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
396 } \
397 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
398 inline ENUMTYPE operator~(ENUMTYPE a) { \
399 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
400 return ENUMTYPE(~((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a)); \
401 } \
402 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
403 inline ENUMTYPE operator^(ENUMTYPE a, ENUMTYPE b) { \
404 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
405 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
406 } \
407 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
408 inline ENUMTYPE &operator^=(ENUMTYPE &a, ENUMTYPE b) { \
409 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
410 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
411 } \
412 }
413#else
414#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) // NOP, C allows these operators.
415#endif
416
417#ifndef DECLSPEC_NOTHROW
418#if (_MSC_VER >= 1200) && !defined(MIDL_PASS)
419#define DECLSPEC_NOTHROW __declspec(nothrow)
420#else
421#define DECLSPEC_NOTHROW
422#endif
423#endif
424
425#ifdef STRICT
426typedef void *HANDLE;
427#if 0 && (_MSC_VER > 1000)
428#define DECLARE_HANDLE(name) \
429 struct name##__; \
430 typedef struct name##__ *name
431#else
432#define DECLARE_HANDLE(name) \
433 struct name##__ { \
434 int unused; \
435 }; \
436 typedef struct name##__ *name
437#endif
438#else
439typedef PVOID HANDLE;
440#define DECLARE_HANDLE(name) typedef HANDLE name
441#endif
443
444/* windef.h */
445typedef struct tagRECT {
451
453
454/* minwindef.h (2) */
455DECLARE_HANDLE(HINSTANCE);
456typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */
457
458/* winerror.h */
459#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)(_sc))
460#define S_OK _HRESULT_TYPEDEF_(0x0L)
461#define E_UNEXPECTED _HRESULT_TYPEDEF_(0x8000FFFFL)
462#define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887a0002)
463#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
464#define FAILED(hr) (((HRESULT)(hr)) < 0)
465
466/* guiddef.h */
467typedef struct _GUID {
473typedef GUID IID;
474typedef IID *LPIID;
475
476#ifdef __midl_proxy
477#define __MIDL_CONST
478#else
479#define __MIDL_CONST const
480#endif
481
482#ifdef __cplusplus
483#define REFIID const IID &
484#else
485#define REFIID const IID *__MIDL_CONST
486#endif
487
488#ifdef __cplusplus
489#define REFGUID const GUID &
490#else
491#define REFGUID const GUID *__MIDL_CONST
492#endif
493
494#ifndef DECLSPEC_SELECTANY
495#if (_MSC_VER >= 1100)
496#define DECLSPEC_SELECTANY __declspec(selectany)
497#else
498#define DECLSPEC_SELECTANY
499#endif
500#endif
501
502#ifdef INITGUID
503#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
504 EXTERN_C const GUID DECLSPEC_SELECTANY name = {l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}
505#else
506#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
507 EXTERN_C const GUID FAR name
508#endif // INITGUID
509
510/* rpc.h */
511#if defined(__specstrings)
512typedef _Return_type_success_(return == 0) LONG RPC_STATUS;
513#else
514typedef LONG RPC_STATUS;
515#endif
516
517#if !defined(__RPC_MAC__) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
518#define __RPC_API __stdcall
519#define __RPC_USER __stdcall
520#define __RPC_STUB __stdcall
521#define RPC_ENTRY __stdcall
522#else // Not Win32/Win64
523#define __RPC_API
524#define __RPC_USER
525#define __RPC_STUB
526#define RPC_ENTRY
527#endif
528
529#define __RPC_FAR
530
531typedef void *I_RPC_HANDLE;
532
533/* rpcdce.h */
534#ifndef UUID_DEFINED
535#define UUID_DEFINED
536typedef GUID UUID;
537#ifndef uuid_t
538#define uuid_t UUID
539#endif
540#endif
541
544#define rpc_binding_handle_t RPC_BINDING_HANDLE
545
546#define RPC_MGR_EPV void
547
548/* rpcdcep.h */
549//#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
550
551typedef struct _RPC_VERSION {
552 unsigned short MajorVersion;
553 unsigned short MinorVersion;
555
560
561typedef struct _RPC_MESSAGE {
563 unsigned long DataRepresentation;
565 unsigned int BufferLength;
566 unsigned int ProcNum;
572 unsigned long RpcFlags;
574
575//#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
576
577/* rpcndr.h */
578#ifndef DECLSPEC_NOVTABLE
579#if (_MSC_VER >= 1100) && defined(__cplusplus)
580#define DECLSPEC_NOVTABLE __declspec(novtable)
581#else
582#define DECLSPEC_NOVTABLE
583#endif
584#endif
585
586#ifndef DECLSPEC_UUID
587#if (_MSC_VER >= 1100) && defined(__cplusplus)
588#define DECLSPEC_UUID(x) __declspec(uuid(x))
589#else
590#define DECLSPEC_UUID(x)
591#endif
592#endif
593
594#define MIDL_INTERFACE(x) struct DECLSPEC_UUID(x) DECLSPEC_NOVTABLE
595
596/* combaseapi.h */
597#define BEGIN_INTERFACE
598#define END_INTERFACE
599
600#ifdef _68K_
601#ifndef REQUIRESAPPLEPASCAL
602#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT PASCAL
603#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type PASCAL
604#else
605#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT PASCAL HRESULT
606#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT PASCAL type
607#endif
608#else
609#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
610#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
611#endif
612
613#ifdef COM_STDMETHOD_CAN_THROW
614#define COM_DECLSPEC_NOTHROW
615#else
616#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
617#endif
618
619#if defined(__cplusplus) && !defined(CINTERFACE)
620
621#ifdef COM_STDMETHOD_CAN_THROW
622#define COM_DECLSPEC_NOTHROW
623#else
624#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
625#endif
626
627#define __STRUCT__ struct
628#define interface __STRUCT__
629#define STDMETHOD(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method
630#define STDMETHOD_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODCALLTYPE method
631#define STDMETHODV(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODVCALLTYPE method
632#define STDMETHODV_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODVCALLTYPE method
633#define PURE = 0
634#define THIS_
635#define THIS void
636#define DECLARE_INTERFACE(iface) interface DECLSPEC_NOVTABLE iface
637#define DECLARE_INTERFACE_(iface, baseiface) interface DECLSPEC_NOVTABLE iface : public baseiface
638#define DECLARE_INTERFACE_IID(iface, iid) interface DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE iface
639#define DECLARE_INTERFACE_IID_(iface, baseiface, iid) interface DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE iface : public baseiface
640
641#define IFACEMETHOD(method) __override STDMETHOD(method)
642#define IFACEMETHOD_(type, method) __override STDMETHOD_(type, method)
643#define IFACEMETHODV(method) __override STDMETHODV(method)
644#define IFACEMETHODV_(type, method) __override STDMETHODV_(type, method)
645
646#if !defined(BEGIN_INTERFACE)
647
648#if defined(_MPPC_) && ((defined(_MSC_VER) || defined(__SC__) || defined(__MWERKS__)) && !defined(NO_NULL_VTABLE_ENTRY))
649#define BEGIN_INTERFACE \
650 virtual void a() { \
651 }
652#define END_INTERFACE
653#else
654#define BEGIN_INTERFACE
655#define END_INTERFACE
656#endif
657#endif
658
659// IID_PPV_ARGS(ppType)
660// ppType is the variable of type IType that will be filled
661//
662// RESULTS in: IID_IType, ppvType
663// will create a compiler error if wrong level of indirection is used.
664//
665
666/* Unknwn.h */
667#ifndef __IUnknown_FWD_DEFINED__
668#define __IUnknown_FWD_DEFINED__
669typedef interface IUnknown IUnknown;
670
671#endif /* __IUnknown_FWD_DEFINED__ */
672
673extern "C++" {
674template<typename T>
675_Post_equal_to_(pp) _Post_satisfies_(return == pp) void **IID_PPV_ARGS_Helper(T **pp) {
676#pragma prefast(suppress : 6269, "Tool issue with unused static_cast")
677 static_cast<IUnknown *>(*pp); // make sure everyone derives from IUnknown
678 return reinterpret_cast<void **>(pp);
679}
680}
681
682#define IID_PPV_ARGS(ppType) __uuidof(**(ppType)), IID_PPV_ARGS_Helper(ppType)
683
684#else
685
686#define interface struct
687
688#define STDMETHOD(method) HRESULT(STDMETHODCALLTYPE *method)
689#define STDMETHOD_(type, method) type(STDMETHODCALLTYPE *method)
690#define STDMETHODV(method) HRESULT(STDMETHODVCALLTYPE *method)
691#define STDMETHODV_(type, method) type(STDMETHODVCALLTYPE *method)
692
693#define IFACEMETHOD(method) __override STDMETHOD(method)
694#define IFACEMETHOD_(type, method) __override STDMETHOD_(type, method)
695#define IFACEMETHODV(method) __override STDMETHODV(method)
696#define IFACEMETHODV_(type, method) __override STDMETHODV_(type, method)
697
698#if !defined(BEGIN_INTERFACE)
699
700#if defined(_MPPC_)
701#define BEGIN_INTERFACE void *b;
702#define END_INTERFACE
703#else
704#define BEGIN_INTERFACE
705#define END_INTERFACE
706#endif
707#endif
708
709#define PURE
710#define THIS_ INTERFACE FAR *This,
711#define THIS INTERFACE FAR *This
712#ifdef CONST_VTABLE
713#undef CONST_VTBL
714#define CONST_VTBL const
715#define DECLARE_INTERFACE(iface) \
716 typedef interface iface { \
717 const struct iface##Vtbl FAR *lpVtbl; \
718 } \
719 iface; \
720 typedef const struct iface##Vtbl iface##Vtbl; \
721 const struct iface##Vtbl
722#else
723#undef CONST_VTBL
724#define CONST_VTBL
725#define DECLARE_INTERFACE(iface) \
726 typedef interface iface { \
727 struct iface##Vtbl FAR *lpVtbl; \
728 } \
729 iface; \
730 typedef struct iface##Vtbl iface##Vtbl; \
731 struct iface##Vtbl
732#endif
733#define DECLARE_INTERFACE_(iface, baseiface) DECLARE_INTERFACE(iface)
734#define DECLARE_INTERFACE_IID(iface, iid) DECLARE_INTERFACE(iface)
735#define DECLARE_INTERFACE_IID_(iface, baseiface, iid) DECLARE_INTERFACE_(iface, baseiface)
736#endif
737
740
741/* Unknwn.h */
742#ifndef __IUnknown_FWD_DEFINED__
743#define __IUnknown_FWD_DEFINED__
744typedef interface IUnknown IUnknown;
745
746#endif /* __IUnknown_FWD_DEFINED__ */
747
748#ifndef __IUnknown_INTERFACE_DEFINED__
749#define __IUnknown_INTERFACE_DEFINED__
750
751/* interface IUnknown */
752/* [unique][uuid][object][local] */
753
754typedef /* [unique] */ IUnknown *LPUNKNOWN;
755
756//////////////////////////////////////////////////////////////////
757// IID_IUnknown and all other system IIDs are provided in UUID.LIB
758// Link that library in with your proxies, clients and servers
759//////////////////////////////////////////////////////////////////
760
761#if (_MSC_VER >= 1100) && defined(__cplusplus) && !defined(CINTERFACE)
763extern "C++" {
764MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
765IUnknown {
766public:
768 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
769 /* [in] */ REFIID riid,
770 /* [iid_is][out] */ _COM_Outptr_ void __RPC_FAR *__RPC_FAR *ppvObject) = 0;
771
772 virtual ULONG STDMETHODCALLTYPE AddRef() = 0;
773
774 virtual ULONG STDMETHODCALLTYPE Release() = 0;
775
776 template<class Q>
777 HRESULT
778#ifdef _M_CEE_PURE
779 __clrcall
780#else
782#endif
783 QueryInterface(_COM_Outptr_ Q * *pp) {
784 return QueryInterface(__uuidof(Q), (void **)pp);
785 }
786
788};
789} // extern C++
790HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
791 IUnknown __RPC_FAR *This,
792 /* [in] */ REFIID riid,
793 /* [iid_is][out] */ __RPC__deref_out void __RPC_FAR *__RPC_FAR *ppvObject);
794
795void __RPC_STUB IUnknown_QueryInterface_Stub(
796 IRpcStubBuffer *This,
797 IRpcChannelBuffer *_pRpcChannelBuffer,
798 PRPC_MESSAGE _pRpcMessage,
799 DWORD *_pdwStubPhase);
800
801ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
802 IUnknown __RPC_FAR *This);
803
804void __RPC_STUB IUnknown_AddRef_Stub(
805 IRpcStubBuffer *This,
806 IRpcChannelBuffer *_pRpcChannelBuffer,
807 PRPC_MESSAGE _pRpcMessage,
808 DWORD *_pdwStubPhase);
809
810ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
811 IUnknown __RPC_FAR *This);
812
813void __RPC_STUB IUnknown_Release_Stub(
814 IRpcStubBuffer *This,
815 IRpcChannelBuffer *_pRpcChannelBuffer,
816 PRPC_MESSAGE _pRpcMessage,
817 DWORD *_pdwStubPhase);
818#else
819
821
822#if defined(__cplusplus) && !defined(CINTERFACE)
823
824MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
825IUnknown {
826public:
828 virtual HRESULT STDMETHODCALLTYPE QueryInterface(
829 /* [in] */ REFIID riid,
830 /* [annotation][iid_is][out] */
831 _COM_Outptr_ void **ppvObject) = 0;
832
833 virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0;
834
835 virtual ULONG STDMETHODCALLTYPE Release(void) = 0;
836
838};
839
840#else /* C style interface */
841
842typedef struct IUnknownVtbl {
844
845 HRESULT(STDMETHODCALLTYPE *QueryInterface)
846 (
847 IUnknown *This,
848 /* [in] */ REFIID riid,
849 /* [annotation][iid_is][out] */
850 _COM_Outptr_ void **ppvObject);
851
852 ULONG(STDMETHODCALLTYPE *AddRef)
853 (
855
856 ULONG(STDMETHODCALLTYPE *Release)
857 (
858 IUnknown *This);
859
862
863interface IUnknown {
864 CONST_VTBL struct IUnknownVtbl *lpVtbl;
865};
866
867#ifdef COBJMACROS
868
869#define IUnknown_QueryInterface(This, riid, ppvObject) \
870 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
871
872#define IUnknown_AddRef(This) \
873 ((This)->lpVtbl->AddRef(This))
874
875#define IUnknown_Release(This) \
876 ((This)->lpVtbl->Release(This))
877
878#endif /* COBJMACROS */
879
880#endif /* C style interface */
881
882#if 0
883HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(
884 IUnknown * This,
885 /* [in] */ REFIID riid,
886 /* [annotation][iid_is][out] */
887 _COM_Outptr_ void **ppvObject);
888
889
890void __RPC_STUB IUnknown_QueryInterface_Stub(
892 IRpcChannelBuffer *_pRpcChannelBuffer,
893 PRPC_MESSAGE _pRpcMessage,
894 DWORD *_pdwStubPhase);
895
896
897ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
898 IUnknown * This);
899
900
901void __RPC_STUB IUnknown_AddRef_Stub(
903 IRpcChannelBuffer *_pRpcChannelBuffer,
904 PRPC_MESSAGE _pRpcMessage,
905 DWORD *_pdwStubPhase);
906
907
908ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
909 IUnknown * This);
910
911
912void __RPC_STUB IUnknown_Release_Stub(
914 IRpcChannelBuffer *_pRpcChannelBuffer,
915 PRPC_MESSAGE _pRpcMessage,
916 DWORD *_pdwStubPhase);
917#endif
918
919#endif /* LEGACY MSVC CHECK */
920
921#endif /* __IUnknown_INTERFACE_DEFINED__ */
922
923/* WTypesbase.h */
924#if defined(_WIN32) && !defined(OLE2ANSI)
925typedef WCHAR OLECHAR;
926
927typedef /* [string] */ __RPC_string OLECHAR *LPOLESTR;
928
929typedef /* [string] */ __RPC_string const OLECHAR *LPCOLESTR;
930
931#define OLESTR(str) L##str
932
933#else
934
935typedef char OLECHAR;
938#define OLESTR(str) str
939#endif
940
941/* d3dcommon.h */
942#ifdef __cplusplus
943extern "C" {
944#endif
945
946typedef enum D3D_FEATURE_LEVEL {
957
1054
1055#ifdef __cplusplus
1056}
1057#endif
1058
1059/* dxgiformat.h */
1060typedef enum DXGI_FORMAT {
1177 DXGI_FORMAT_FORCE_UINT = 0xffffffff
1179
1180/* dxgitype.h */
1181typedef struct DXGI_SAMPLE_DESC {
1185
1186/* d3dcommon.h */
1187typedef enum _D3D_INCLUDE_TYPE {
1192 D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
1194
1195typedef interface ID3DInclude ID3DInclude;
1196#undef INTERFACE
1197#define INTERFACE ID3DInclude
1199 STDMETHOD(Open)
1200 (THIS_ D3D_INCLUDE_TYPE IncludeType, LPCSTR pFileName, LPCVOID pParentData, LPCVOID * ppData, UINT * pBytes) PURE;
1201 STDMETHOD(Close)
1202 (THIS_ LPCVOID pData) PURE;
1203};
1204
1205typedef struct _D3D_SHADER_MACRO {
1209
1211
1212#if defined(__cplusplus) && !defined(CINTERFACE)
1213
1214MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102")
1215ID3D10Blob : public IUnknown {
1216public:
1217 virtual LPVOID STDMETHODCALLTYPE GetBufferPointer() = 0;
1218
1219 virtual SIZE_T STDMETHODCALLTYPE GetBufferSize() = 0;
1220};
1221
1222#else /* C style interface */
1223
1224#ifndef __ID3D10Blob_FWD_DEFINED__
1225#define __ID3D10Blob_FWD_DEFINED__
1226typedef interface ID3D10Blob ID3D10Blob;
1227
1228#endif /* __ID3D10Blob_FWD_DEFINED__ */
1229
1230typedef struct ID3D10BlobVtbl {
1232
1233 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1234 (
1236 /* [in] */ REFIID riid,
1237 /* [annotation][iid_is][out] */
1238 _COM_Outptr_ void **ppvObject);
1239
1240 ULONG(STDMETHODCALLTYPE *AddRef)
1241 (
1243
1244 ULONG(STDMETHODCALLTYPE *Release)
1245 (
1246 ID3D10Blob *This);
1247
1248 LPVOID(STDMETHODCALLTYPE *GetBufferPointer)
1249 (
1250 ID3D10Blob *This);
1251
1252 SIZE_T(STDMETHODCALLTYPE *GetBufferSize)
1253 (
1254 ID3D10Blob *This);
1255
1258
1259interface ID3D10Blob {
1260 CONST_VTBL struct ID3D10BlobVtbl *lpVtbl;
1261};
1262
1263#ifdef COBJMACROS
1264
1265#define ID3D10Blob_QueryInterface(This, riid, ppvObject) \
1266 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1267
1268#define ID3D10Blob_AddRef(This) \
1269 ((This)->lpVtbl->AddRef(This))
1270
1271#define ID3D10Blob_Release(This) \
1272 ((This)->lpVtbl->Release(This))
1273
1274#define ID3D10Blob_GetBufferPointer(This) \
1275 ((This)->lpVtbl->GetBufferPointer(This))
1276
1277#define ID3D10Blob_GetBufferSize(This) \
1278 ((This)->lpVtbl->GetBufferSize(This))
1279
1280#endif /* COBJMACROS */
1281
1282#endif /* C style interface */
1283
1284typedef interface ID3D10Blob *LPD3D10BLOB;
1286
1288#define IID_ID3DBlob IID_ID3D10Blob
1289
1290/* d3d12.h */
1291/* Forward Declarations */
1292
1293#ifndef __ID3D12Object_FWD_DEFINED__
1294#define __ID3D12Object_FWD_DEFINED__
1295typedef interface ID3D12Object ID3D12Object;
1296
1297#endif /* __ID3D12Object_FWD_DEFINED__ */
1298
1299#ifndef __ID3D12DeviceChild_FWD_DEFINED__
1300#define __ID3D12DeviceChild_FWD_DEFINED__
1302
1303#endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
1304
1305#ifndef __ID3D12RootSignature_FWD_DEFINED__
1306#define __ID3D12RootSignature_FWD_DEFINED__
1308
1309#endif /* __ID3D12RootSignature_FWD_DEFINED__ */
1310
1311#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
1312#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
1314
1315#endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
1316
1317#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
1318#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
1320
1321#endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
1322
1323#ifndef __ID3D12Pageable_FWD_DEFINED__
1324#define __ID3D12Pageable_FWD_DEFINED__
1326
1327#endif /* __ID3D12Pageable_FWD_DEFINED__ */
1328
1329#ifndef __ID3D12Heap_FWD_DEFINED__
1330#define __ID3D12Heap_FWD_DEFINED__
1331typedef interface ID3D12Heap ID3D12Heap;
1332
1333#endif /* __ID3D12Heap_FWD_DEFINED__ */
1334
1335#ifndef __ID3D12Resource_FWD_DEFINED__
1336#define __ID3D12Resource_FWD_DEFINED__
1338
1339#endif /* __ID3D12Resource_FWD_DEFINED__ */
1340
1341#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
1342#define __ID3D12CommandAllocator_FWD_DEFINED__
1344
1345#endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
1346
1347#ifndef __ID3D12Fence_FWD_DEFINED__
1348#define __ID3D12Fence_FWD_DEFINED__
1349typedef interface ID3D12Fence ID3D12Fence;
1350
1351#endif /* __ID3D12Fence_FWD_DEFINED__ */
1352
1353#ifndef __ID3D12PipelineState_FWD_DEFINED__
1354#define __ID3D12PipelineState_FWD_DEFINED__
1356
1357#endif /* __ID3D12PipelineState_FWD_DEFINED__ */
1358
1359#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
1360#define __ID3D12DescriptorHeap_FWD_DEFINED__
1362
1363#endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
1364
1365#ifndef __ID3D12QueryHeap_FWD_DEFINED__
1366#define __ID3D12QueryHeap_FWD_DEFINED__
1368
1369#endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
1370
1371#ifndef __ID3D12CommandSignature_FWD_DEFINED__
1372#define __ID3D12CommandSignature_FWD_DEFINED__
1374
1375#endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
1376
1377#ifndef __ID3D12CommandList_FWD_DEFINED__
1378#define __ID3D12CommandList_FWD_DEFINED__
1380
1381#endif /* __ID3D12CommandList_FWD_DEFINED__ */
1382
1383#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
1384#define __ID3D12GraphicsCommandList_FWD_DEFINED__
1386
1387#endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
1388
1389#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
1390#define __ID3D12GraphicsCommandList1_FWD_DEFINED__
1392
1393#endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
1394
1395#ifndef __ID3D12CommandQueue_FWD_DEFINED__
1396#define __ID3D12CommandQueue_FWD_DEFINED__
1398
1399#endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
1400
1401#ifndef __ID3D12Device_FWD_DEFINED__
1402#define __ID3D12Device_FWD_DEFINED__
1403typedef interface ID3D12Device ID3D12Device;
1404
1405#endif /* __ID3D12Device_FWD_DEFINED__ */
1406
1407#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
1408#define __ID3D12PipelineLibrary_FWD_DEFINED__
1410
1411#endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
1412
1413#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
1414#define __ID3D12PipelineLibrary1_FWD_DEFINED__
1416
1417#endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
1418
1419#ifndef __ID3D12Device1_FWD_DEFINED__
1420#define __ID3D12Device1_FWD_DEFINED__
1422
1423#endif /* __ID3D12Device1_FWD_DEFINED__ */
1424
1425#ifndef __ID3D12Device2_FWD_DEFINED__
1426#define __ID3D12Device2_FWD_DEFINED__
1428
1429#endif /* __ID3D12Device2_FWD_DEFINED__ */
1430
1431#ifndef __ID3D12Tools_FWD_DEFINED__
1432#define __ID3D12Tools_FWD_DEFINED__
1433typedef interface ID3D12Tools ID3D12Tools;
1434
1435#endif /* __ID3D12Tools_FWD_DEFINED__ */
1436
1437#ifdef __cplusplus
1438extern "C" {
1439#endif
1440
1441#if defined(__cplusplus) && !defined(CINTERFACE)
1442
1443MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
1444ID3D12Object : public IUnknown {
1445public:
1446 virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
1447 _In_ REFGUID guid,
1448 _Inout_ UINT * pDataSize,
1449 _Out_writes_bytes_opt_(*pDataSize) void *pData) = 0;
1450
1451 virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
1452 _In_ REFGUID guid,
1453 _In_ UINT DataSize,
1454 _In_reads_bytes_opt_(DataSize) const void *pData) = 0;
1455
1456 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
1457 _In_ REFGUID guid,
1458 _In_opt_ const IUnknown *pData) = 0;
1459
1460 virtual HRESULT STDMETHODCALLTYPE SetName(
1461 _In_z_ LPCWSTR Name) = 0;
1462};
1463
1464#else /* C style interface */
1465
1466typedef struct ID3D12ObjectVtbl {
1468
1469 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1470 (
1472 REFIID riid,
1473 _COM_Outptr_ void **ppvObject);
1474
1475 ULONG(STDMETHODCALLTYPE *AddRef)
1476 (
1478
1479 ULONG(STDMETHODCALLTYPE *Release)
1480 (
1482
1483 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1484 (
1489
1490 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1491 (
1496
1497 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1498 (
1502
1503 HRESULT(STDMETHODCALLTYPE *SetName)
1504 (
1507
1510
1511interface ID3D12Object {
1512 CONST_VTBL struct ID3D12ObjectVtbl *lpVtbl;
1513};
1514
1515#ifdef COBJMACROS
1516
1517#define ID3D12Object_QueryInterface(This, riid, ppvObject) \
1518 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1519
1520#define ID3D12Object_AddRef(This) \
1521 ((This)->lpVtbl->AddRef(This))
1522
1523#define ID3D12Object_Release(This) \
1524 ((This)->lpVtbl->Release(This))
1525
1526#define ID3D12Object_GetPrivateData(This, guid, pDataSize, pData) \
1527 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1528
1529#define ID3D12Object_SetPrivateData(This, guid, DataSize, pData) \
1530 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1531
1532#define ID3D12Object_SetPrivateDataInterface(This, guid, pData) \
1533 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1534
1535#define ID3D12Object_SetName(This, Name) \
1536 ((This)->lpVtbl->SetName(This, Name))
1537
1538#endif /* COBJMACROS */
1539
1540#endif /* C style interface */
1541
1542#if defined(__cplusplus) && !defined(CINTERFACE)
1543
1544MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
1546public:
1547 virtual HRESULT STDMETHODCALLTYPE GetDevice(
1548 REFIID riid,
1549 _COM_Outptr_opt_ void **ppvDevice) = 0;
1550};
1551
1552#else /* C style interface */
1553
1556
1557 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1558 (
1560 REFIID riid,
1561 _COM_Outptr_ void **ppvObject);
1562
1563 ULONG(STDMETHODCALLTYPE *AddRef)
1564 (
1566
1567 ULONG(STDMETHODCALLTYPE *Release)
1568 (
1570
1571 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1572 (
1577
1578 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1579 (
1584
1585 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1586 (
1590
1591 HRESULT(STDMETHODCALLTYPE *SetName)
1592 (
1595
1596 HRESULT(STDMETHODCALLTYPE *GetDevice)
1597 (
1601
1604
1605interface ID3D12DeviceChild {
1606 CONST_VTBL struct ID3D12DeviceChildVtbl *lpVtbl;
1607};
1608
1609#ifdef COBJMACROS
1610
1611#define ID3D12DeviceChild_QueryInterface(This, riid, ppvObject) \
1612 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1613
1614#define ID3D12DeviceChild_AddRef(This) \
1615 ((This)->lpVtbl->AddRef(This))
1616
1617#define ID3D12DeviceChild_Release(This) \
1618 ((This)->lpVtbl->Release(This))
1619
1620#define ID3D12DeviceChild_GetPrivateData(This, guid, pDataSize, pData) \
1621 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1622
1623#define ID3D12DeviceChild_SetPrivateData(This, guid, DataSize, pData) \
1624 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1625
1626#define ID3D12DeviceChild_SetPrivateDataInterface(This, guid, pData) \
1627 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1628
1629#define ID3D12DeviceChild_SetName(This, Name) \
1630 ((This)->lpVtbl->SetName(This, Name))
1631
1632#define ID3D12DeviceChild_GetDevice(This, riid, ppvDevice) \
1633 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
1634
1635#endif /* COBJMACROS */
1636
1637#endif /* C style interface */
1638
1639#if defined(__cplusplus) && !defined(CINTERFACE)
1640
1641MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
1643 public :
1644};
1645
1646#else /* C style interface */
1647
1650
1651 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1652 (
1654 REFIID riid,
1655 _COM_Outptr_ void **ppvObject);
1656
1657 ULONG(STDMETHODCALLTYPE *AddRef)
1658 (
1660
1661 ULONG(STDMETHODCALLTYPE *Release)
1662 (
1664
1665 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1666 (
1671
1672 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1673 (
1678
1679 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1680 (
1684
1685 HRESULT(STDMETHODCALLTYPE *SetName)
1686 (
1689
1690 HRESULT(STDMETHODCALLTYPE *GetDevice)
1691 (
1695
1698
1699interface ID3D12RootSignature {
1700 CONST_VTBL struct ID3D12RootSignatureVtbl *lpVtbl;
1701};
1702
1703#ifdef COBJMACROS
1704
1705#define ID3D12RootSignature_QueryInterface(This, riid, ppvObject) \
1706 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1707
1708#define ID3D12RootSignature_AddRef(This) \
1709 ((This)->lpVtbl->AddRef(This))
1710
1711#define ID3D12RootSignature_Release(This) \
1712 ((This)->lpVtbl->Release(This))
1713
1714#define ID3D12RootSignature_GetPrivateData(This, guid, pDataSize, pData) \
1715 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1716
1717#define ID3D12RootSignature_SetPrivateData(This, guid, DataSize, pData) \
1718 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1719
1720#define ID3D12RootSignature_SetPrivateDataInterface(This, guid, pData) \
1721 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1722
1723#define ID3D12RootSignature_SetName(This, Name) \
1724 ((This)->lpVtbl->SetName(This, Name))
1725
1726#define ID3D12RootSignature_GetDevice(This, riid, ppvDevice) \
1727 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
1728
1729#endif /* COBJMACROS */
1730
1731#endif /* C style interface */
1732
1733#if defined(__cplusplus) && !defined(CINTERFACE)
1734
1735MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
1737 public :
1738};
1739
1740#else /* C style interface */
1741
1742#ifndef __ID3D12Pageable_FWD_DEFINED__
1743#define __ID3D12Pageable_FWD_DEFINED__
1744typedef interface ID3D12Pageable ID3D12Pageable;
1745
1746#endif /* __ID3D12Pageable_FWD_DEFINED__ */
1747
1748typedef struct ID3D12PageableVtbl {
1750
1751 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1752 (
1754 REFIID riid,
1755 _COM_Outptr_ void **ppvObject);
1756
1757 ULONG(STDMETHODCALLTYPE *AddRef)
1758 (
1760
1761 ULONG(STDMETHODCALLTYPE *Release)
1762 (
1764
1765 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1766 (
1771
1772 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1773 (
1778
1779 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1780 (
1784
1785 HRESULT(STDMETHODCALLTYPE *SetName)
1786 (
1789
1790 HRESULT(STDMETHODCALLTYPE *GetDevice)
1791 (
1795
1798
1799interface ID3D12Pageable {
1800 CONST_VTBL struct ID3D12PageableVtbl *lpVtbl;
1801};
1802
1803#ifdef COBJMACROS
1804
1805#define ID3D12Pageable_QueryInterface(This, riid, ppvObject) \
1806 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
1807
1808#define ID3D12Pageable_AddRef(This) \
1809 ((This)->lpVtbl->AddRef(This))
1810
1811#define ID3D12Pageable_Release(This) \
1812 ((This)->lpVtbl->Release(This))
1813
1814#define ID3D12Pageable_GetPrivateData(This, guid, pDataSize, pData) \
1815 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
1816
1817#define ID3D12Pageable_SetPrivateData(This, guid, DataSize, pData) \
1818 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
1819
1820#define ID3D12Pageable_SetPrivateDataInterface(This, guid, pData) \
1821 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
1822
1823#define ID3D12Pageable_SetName(This, Name) \
1824 ((This)->lpVtbl->SetName(This, Name))
1825
1826#define ID3D12Pageable_GetDevice(This, riid, ppvDevice) \
1827 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
1828
1829#endif /* COBJMACROS */
1830
1831#endif /* C style interface */
1832
1833typedef struct D3D12_RANGE {
1837
1838typedef struct D3D12_BOX {
1846
1853
1858
1865
1872
1874 _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
1877
1886
1890 _Field_size_full_(NumStrides) const UINT *pBufferStrides;
1894
1895typedef enum D3D12_BLEND {
1914
1915typedef enum D3D12_BLEND_OP {
1922
1923typedef enum D3D12_LOGIC_OP {
1941
1954
1955typedef struct D3D12_BLEND_DESC {
1960
1961typedef enum D3D12_FILL_MODE {
1965
1966typedef enum D3D12_CULL_MODE {
1971
1976
1990
1995
2006
2007typedef enum D3D12_STENCIL_OP {
2017
2024
2035
2040
2050
2055
2060
2066
2074
2079
2104
2112
2117
2125
2132
2142
2144typedef struct D3D12_RESOURCE_DESC {
2156
2163
2164typedef enum D3D12_MEMORY_POOL {
2169
2170typedef enum D3D12_HEAP_TYPE {
2176
2184
2185typedef enum D3D12_HEAP_FLAGS {
2200
2205
2213
2231 D3D12_RESOURCE_STATE_GENERIC_READ = (((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800),
2235
2240
2241typedef struct D3D12_CLEAR_VALUE {
2243 union {
2246 };
2248
2249typedef enum D3D12_FEATURE {
2265
2266typedef enum D3D12_CLEAR_FLAGS {
2270
2272typedef enum D3D12_FENCE_FLAGS {
2277
2286
2291
2300
2301#define D3D12_SHADER_COMPONENT_MAPPING_MASK 0x7
2302#define D3D12_SHADER_COMPONENT_MAPPING_SHIFT 3
2303#define D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES (1 << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 4))
2304#define D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(Src0, Src1, Src2, Src3) ((((Src0)&D3D12_SHADER_COMPONENT_MAPPING_MASK) | \
2305 (((Src1)&D3D12_SHADER_COMPONENT_MAPPING_MASK) << D3D12_SHADER_COMPONENT_MAPPING_SHIFT) | \
2306 (((Src2)&D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 2)) | \
2307 (((Src3)&D3D12_SHADER_COMPONENT_MAPPING_MASK) << (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * 3)) | \
2308 D3D12_SHADER_COMPONENT_MAPPING_ALWAYS_SET_BIT_AVOIDING_ZEROMEM_MISTAKES))
2309#define D3D12_DECODE_SHADER_4_COMPONENT_MAPPING(ComponentToExtract, Mapping) \
2310 ((D3D12_SHADER_COMPONENT_MAPPING)((Mapping) >> (D3D12_SHADER_COMPONENT_MAPPING_SHIFT * (ComponentToExtract)) & D3D12_SHADER_COMPONENT_MAPPING_MASK))
2311#define D3D12_DEFAULT_SHADER_4_COMPONENT_MAPPING D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING(0, 1, 2, 3)
2312
2317
2319typedef struct D3D12_BUFFER_SRV {
2325
2326typedef struct D3D12_TEX1D_SRV {
2331
2339
2340typedef struct D3D12_TEX2D_SRV {
2346
2355
2356typedef struct D3D12_TEX3D_SRV {
2361
2362typedef struct D3D12_TEXCUBE_SRV {
2367
2375
2376typedef struct D3D12_TEX2DMS_SRV {
2379
2384
2398
2403 union {
2414 };
2416
2418
2423
2427
2431
2436
2438typedef struct D3D12_BUFFER_UAV {
2445
2446typedef struct D3D12_TEX1D_UAV {
2449
2455
2456typedef struct D3D12_TEX2D_UAV {
2460
2467
2468typedef struct D3D12_TEX3D_UAV {
2473
2483
2487 union {
2494 };
2496
2497typedef struct D3D12_BUFFER_RTV {
2501
2502typedef struct D3D12_TEX1D_RTV {
2505
2511
2512typedef struct D3D12_TEX2D_RTV {
2516
2517typedef struct D3D12_TEX2DMS_RTV {
2520
2527
2532
2533typedef struct D3D12_TEX3D_RTV {
2538
2550
2554 union {
2563 };
2565
2566typedef struct D3D12_TEX1D_DSV {
2569
2575
2576typedef struct D3D12_TEX2D_DSV {
2579
2585
2586typedef struct D3D12_TEX2DMS_DSV {
2589
2594
2595typedef enum D3D12_DSV_FLAGS {
2600
2611
2616 union {
2623 };
2625
2626typedef enum D3D12_FILTER {
2664
2672
2673typedef struct D3D12_SAMPLER_DESC {
2685
2693
2695typedef struct D3D12_HEAP_DESC {
2701
2709
2714
2721
2727
2739
2742 union {
2743 struct
2744 {
2747 struct
2748 {
2753 struct
2754 {
2757 struct
2758 {
2761 struct
2762 {
2765 };
2767
2774
2781
2782typedef struct D3D12_TILE_SHAPE {
2787
2794
2801
2809
2816
2821
2825 union {
2828 };
2830
2832
2833#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
2834
2840
2841typedef struct D3D12_VIEWPORT {
2849
2851
2858
2863
2867
2873
2880
2885 union {
2889 };
2891
2897
2903
2904typedef struct D3D12_DISCARD_REGION {
2910
2911typedef enum D3D12_QUERY_TYPE {
2921
2926
2937
2945
2952
2960
2965
2966typedef struct D3D12_ROOT_CONSTANTS {
2971
2976
2985
2986typedef struct D3D12_ROOT_PARAMETER {
2988 union {
2992 };
2995
3002
3018
3026
3034
3044
3049
3056
3063
3066 union {
3070 };
3073
3081
3087
3090 union {
3093 };
3095
3096#define D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND (0xffffffff)
3097
3098#ifndef __ID3D12Resource_INTERFACE_DEFINED__
3099#define __ID3D12Resource_INTERFACE_DEFINED__
3100
3101/* interface ID3D12Resource */
3102/* [unique][local][object][uuid] */
3103
3105
3106#if defined(__cplusplus) && !defined(CINTERFACE)
3107
3108MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
3110public:
3111 virtual HRESULT STDMETHODCALLTYPE Map(
3112 UINT Subresource,
3113 _In_opt_ const D3D12_RANGE *pReadRange,
3114 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData) = 0;
3115
3116 virtual void STDMETHODCALLTYPE Unmap(
3117 UINT Subresource,
3118 _In_opt_ const D3D12_RANGE *pWrittenRange) = 0;
3119
3120 virtual D3D12_RESOURCE_DESC STDMETHODCALLTYPE GetDesc() = 0;
3121
3122 virtual D3D12_GPU_VIRTUAL_ADDRESS STDMETHODCALLTYPE GetGPUVirtualAddress() = 0;
3123
3124 virtual HRESULT STDMETHODCALLTYPE WriteToSubresource(
3125 UINT DstSubresource,
3126 _In_opt_ const D3D12_BOX *pDstBox,
3127 _In_ const void *pSrcData,
3128 UINT SrcRowPitch,
3129 UINT SrcDepthPitch) = 0;
3130
3131 virtual HRESULT STDMETHODCALLTYPE ReadFromSubresource(
3132 _Out_ void *pDstData,
3133 UINT DstRowPitch,
3134 UINT DstDepthPitch,
3135 UINT SrcSubresource,
3136 _In_opt_ const D3D12_BOX *pSrcBox) = 0;
3137
3138 virtual HRESULT STDMETHODCALLTYPE GetHeapProperties(
3139 _Out_opt_ D3D12_HEAP_PROPERTIES * pHeapProperties,
3140 _Out_opt_ D3D12_HEAP_FLAGS * pHeapFlags) = 0;
3141};
3142
3143#else /* C style interface */
3144
3145typedef struct ID3D12ResourceVtbl {
3147
3148 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3149 (
3151 REFIID riid,
3152 _COM_Outptr_ void **ppvObject);
3153
3154 ULONG(STDMETHODCALLTYPE *AddRef)
3155 (
3157
3158 ULONG(STDMETHODCALLTYPE *Release)
3159 (
3161
3162 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3163 (
3168
3169 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3170 (
3175
3176 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3177 (
3181
3182 HRESULT(STDMETHODCALLTYPE *SetName)
3183 (
3186
3187 HRESULT(STDMETHODCALLTYPE *GetDevice)
3188 (
3192
3193 HRESULT(STDMETHODCALLTYPE *Map)
3194 (
3198 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
3199
3200 void(STDMETHODCALLTYPE *Unmap)(
3204
3206 (
3208
3209 D3D12_GPU_VIRTUAL_ADDRESS(STDMETHODCALLTYPE *GetGPUVirtualAddress)
3210 (
3212
3213 HRESULT(STDMETHODCALLTYPE *WriteToSubresource)
3214 (
3218 _In_ const void *pSrcData,
3221
3222 HRESULT(STDMETHODCALLTYPE *ReadFromSubresource)
3223 (
3230
3231 HRESULT(STDMETHODCALLTYPE *GetHeapProperties)
3232 (
3236
3239
3241 CONST_VTBL struct ID3D12ResourceVtbl *lpVtbl;
3242};
3243
3244#ifdef COBJMACROS
3245
3246#define ID3D12Resource_QueryInterface(This, riid, ppvObject) \
3247 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
3248
3249#define ID3D12Resource_AddRef(This) \
3250 ((This)->lpVtbl->AddRef(This))
3251
3252#define ID3D12Resource_Release(This) \
3253 ((This)->lpVtbl->Release(This))
3254
3255#define ID3D12Resource_GetPrivateData(This, guid, pDataSize, pData) \
3256 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
3257
3258#define ID3D12Resource_SetPrivateData(This, guid, DataSize, pData) \
3259 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
3260
3261#define ID3D12Resource_SetPrivateDataInterface(This, guid, pData) \
3262 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
3263
3264#define ID3D12Resource_SetName(This, Name) \
3265 ((This)->lpVtbl->SetName(This, Name))
3266
3267#define ID3D12Resource_GetDevice(This, riid, ppvDevice) \
3268 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
3269
3270#define ID3D12Resource_Map(This, Subresource, pReadRange, ppData) \
3271 ((This)->lpVtbl->Map(This, Subresource, pReadRange, ppData))
3272
3273#define ID3D12Resource_Unmap(This, Subresource, pWrittenRange) \
3274 ((This)->lpVtbl->Unmap(This, Subresource, pWrittenRange))
3275
3276#define ID3D12Resource_GetDesc(This) \
3277 ((This)->lpVtbl->GetDesc(This))
3278
3279#define ID3D12Resource_GetGPUVirtualAddress(This) \
3280 ((This)->lpVtbl->GetGPUVirtualAddress(This))
3281
3282#define ID3D12Resource_WriteToSubresource(This, DstSubresource, pDstBox, pSrcData, SrcRowPitch, SrcDepthPitch) \
3283 ((This)->lpVtbl->WriteToSubresource(This, DstSubresource, pDstBox, pSrcData, SrcRowPitch, SrcDepthPitch))
3284
3285#define ID3D12Resource_ReadFromSubresource(This, pDstData, DstRowPitch, DstDepthPitch, SrcSubresource, pSrcBox) \
3286 ((This)->lpVtbl->ReadFromSubresource(This, pDstData, DstRowPitch, DstDepthPitch, SrcSubresource, pSrcBox))
3287
3288#define ID3D12Resource_GetHeapProperties(This, pHeapProperties, pHeapFlags) \
3289 ((This)->lpVtbl->GetHeapProperties(This, pHeapProperties, pHeapFlags))
3290
3291#endif /* COBJMACROS */
3292
3293#endif /* C style interface */
3294
3295#endif /* __ID3D12Resource_INTERFACE_DEFINED__ */
3296
3297#ifndef __ID3D12CommandAllocator_INTERFACE_DEFINED__
3298#define __ID3D12CommandAllocator_INTERFACE_DEFINED__
3299
3300/* interface ID3D12CommandAllocator */
3301/* [unique][local][object][uuid] */
3302
3304
3305#if defined(__cplusplus) && !defined(CINTERFACE)
3306
3307MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
3309public:
3310 virtual HRESULT STDMETHODCALLTYPE Reset() = 0;
3311};
3312
3313#else /* C style interface */
3314
3317
3318 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3319 (
3321 REFIID riid,
3322 _COM_Outptr_ void **ppvObject);
3323
3324 ULONG(STDMETHODCALLTYPE *AddRef)
3325 (
3327
3328 ULONG(STDMETHODCALLTYPE *Release)
3329 (
3331
3332 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3333 (
3338
3339 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3340 (
3345
3346 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3347 (
3351
3352 HRESULT(STDMETHODCALLTYPE *SetName)
3353 (
3356
3357 HRESULT(STDMETHODCALLTYPE *GetDevice)
3358 (
3362
3363 HRESULT(STDMETHODCALLTYPE *Reset)
3364 (
3366
3369
3370interface ID3D12CommandAllocator {
3372};
3373
3374#ifdef COBJMACROS
3375
3376#define ID3D12CommandAllocator_QueryInterface(This, riid, ppvObject) \
3377 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
3378
3379#define ID3D12CommandAllocator_AddRef(This) \
3380 ((This)->lpVtbl->AddRef(This))
3381
3382#define ID3D12CommandAllocator_Release(This) \
3383 ((This)->lpVtbl->Release(This))
3384
3385#define ID3D12CommandAllocator_GetPrivateData(This, guid, pDataSize, pData) \
3386 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
3387
3388#define ID3D12CommandAllocator_SetPrivateData(This, guid, DataSize, pData) \
3389 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
3390
3391#define ID3D12CommandAllocator_SetPrivateDataInterface(This, guid, pData) \
3392 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
3393
3394#define ID3D12CommandAllocator_SetName(This, Name) \
3395 ((This)->lpVtbl->SetName(This, Name))
3396
3397#define ID3D12CommandAllocator_GetDevice(This, riid, ppvDevice) \
3398 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
3399
3400#define ID3D12CommandAllocator_Reset(This) \
3401 ((This)->lpVtbl->Reset(This))
3402
3403#endif /* COBJMACROS */
3404
3405#endif /* C style interface */
3406
3407#endif /* __ID3D12CommandAllocator_INTERFACE_DEFINED__ */
3408
3409#ifndef __ID3D12CommandList_INTERFACE_DEFINED__
3410#define __ID3D12CommandList_INTERFACE_DEFINED__
3411
3412/* interface ID3D12CommandList */
3413/* [unique][local][object][uuid] */
3414
3416
3417#if defined(__cplusplus) && !defined(CINTERFACE)
3418
3419MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
3421public:
3422 virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType() = 0;
3423};
3424
3425#else /* C style interface */
3426
3429
3430 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3431 (
3433 REFIID riid,
3434 _COM_Outptr_ void **ppvObject);
3435
3436 ULONG(STDMETHODCALLTYPE *AddRef)
3437 (
3439
3440 ULONG(STDMETHODCALLTYPE *Release)
3441 (
3443
3444 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3445 (
3450
3451 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3452 (
3457
3458 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3459 (
3463
3464 HRESULT(STDMETHODCALLTYPE *SetName)
3465 (
3468
3469 HRESULT(STDMETHODCALLTYPE *GetDevice)
3470 (
3474
3476 (
3478
3481
3482interface ID3D12CommandList {
3483 CONST_VTBL struct ID3D12CommandListVtbl *lpVtbl;
3484};
3485
3486#ifdef COBJMACROS
3487
3488#define ID3D12CommandList_QueryInterface(This, riid, ppvObject) \
3489 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
3490
3491#define ID3D12CommandList_AddRef(This) \
3492 ((This)->lpVtbl->AddRef(This))
3493
3494#define ID3D12CommandList_Release(This) \
3495 ((This)->lpVtbl->Release(This))
3496
3497#define ID3D12CommandList_GetPrivateData(This, guid, pDataSize, pData) \
3498 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
3499
3500#define ID3D12CommandList_SetPrivateData(This, guid, DataSize, pData) \
3501 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
3502
3503#define ID3D12CommandList_SetPrivateDataInterface(This, guid, pData) \
3504 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
3505
3506#define ID3D12CommandList_SetName(This, Name) \
3507 ((This)->lpVtbl->SetName(This, Name))
3508
3509#define ID3D12CommandList_GetDevice(This, riid, ppvDevice) \
3510 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
3511
3512#define ID3D12CommandList_GetType(This) \
3513 ((This)->lpVtbl->GetType(This))
3514
3515#endif /* COBJMACROS */
3516
3517#endif /* C style interface */
3518
3519#endif /* __ID3D12CommandList_INTERFACE_DEFINED__ */
3520
3521#ifndef __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
3522#define __ID3D12GraphicsCommandList_INTERFACE_DEFINED__
3523
3524/* interface ID3D12GraphicsCommandList */
3525/* [unique][local][object][uuid] */
3526
3528
3529#if defined(__cplusplus) && !defined(CINTERFACE)
3530
3531MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
3533public:
3534 virtual HRESULT STDMETHODCALLTYPE Close() = 0;
3535
3536 virtual HRESULT STDMETHODCALLTYPE Reset(
3537 _In_ ID3D12CommandAllocator * pAllocator,
3538 _In_opt_ ID3D12PipelineState * pInitialState) = 0;
3539
3540 virtual void STDMETHODCALLTYPE ClearState(
3541 _In_opt_ ID3D12PipelineState * pPipelineState) = 0;
3542
3543 virtual void STDMETHODCALLTYPE DrawInstanced(
3544 _In_ UINT VertexCountPerInstance,
3545 _In_ UINT InstanceCount,
3546 _In_ UINT StartVertexLocation,
3547 _In_ UINT StartInstanceLocation) = 0;
3548
3549 virtual void STDMETHODCALLTYPE DrawIndexedInstanced(
3550 _In_ UINT IndexCountPerInstance,
3551 _In_ UINT InstanceCount,
3552 _In_ UINT StartIndexLocation,
3553 _In_ INT BaseVertexLocation,
3554 _In_ UINT StartInstanceLocation) = 0;
3555
3556 virtual void STDMETHODCALLTYPE Dispatch(
3557 _In_ UINT ThreadGroupCountX,
3558 _In_ UINT ThreadGroupCountY,
3559 _In_ UINT ThreadGroupCountZ) = 0;
3560
3561 virtual void STDMETHODCALLTYPE CopyBufferRegion(
3562 _In_ ID3D12Resource * pDstBuffer,
3563 UINT64 DstOffset,
3564 _In_ ID3D12Resource * pSrcBuffer,
3565 UINT64 SrcOffset,
3566 UINT64 NumBytes) = 0;
3567
3568 virtual void STDMETHODCALLTYPE CopyTextureRegion(
3570 UINT DstX,
3571 UINT DstY,
3572 UINT DstZ,
3574 _In_opt_ const D3D12_BOX *pSrcBox) = 0;
3575
3576 virtual void STDMETHODCALLTYPE CopyResource(
3577 _In_ ID3D12Resource * pDstResource,
3578 _In_ ID3D12Resource * pSrcResource) = 0;
3579
3580 virtual void STDMETHODCALLTYPE CopyTiles(
3581 _In_ ID3D12Resource * pTiledResource,
3582 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
3583 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
3584 _In_ ID3D12Resource *pBuffer,
3585 UINT64 BufferStartOffsetInBytes,
3586 D3D12_TILE_COPY_FLAGS Flags) = 0;
3587
3588 virtual void STDMETHODCALLTYPE ResolveSubresource(
3589 _In_ ID3D12Resource * pDstResource,
3591 _In_ ID3D12Resource * pSrcResource,
3593 _In_ DXGI_FORMAT Format) = 0;
3594
3595 virtual void STDMETHODCALLTYPE IASetPrimitiveTopology(
3596 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology) = 0;
3597
3598 virtual void STDMETHODCALLTYPE RSSetViewports(
3600 _In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
3601
3602 virtual void STDMETHODCALLTYPE RSSetScissorRects(
3604 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3605
3606 virtual void STDMETHODCALLTYPE OMSetBlendFactor(
3607 _In_opt_ const FLOAT BlendFactor[4]) = 0;
3608
3609 virtual void STDMETHODCALLTYPE OMSetStencilRef(
3610 _In_ UINT StencilRef) = 0;
3611
3612 virtual void STDMETHODCALLTYPE SetPipelineState(
3613 _In_ ID3D12PipelineState * pPipelineState) = 0;
3614
3615 virtual void STDMETHODCALLTYPE ResourceBarrier(
3616 _In_ UINT NumBarriers,
3617 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers) = 0;
3618
3619 virtual void STDMETHODCALLTYPE ExecuteBundle(
3620 _In_ ID3D12GraphicsCommandList * pCommandList) = 0;
3621
3622 virtual void STDMETHODCALLTYPE SetDescriptorHeaps(
3623 _In_ UINT NumDescriptorHeaps,
3624 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps) = 0;
3625
3626 virtual void STDMETHODCALLTYPE SetComputeRootSignature(
3627 _In_opt_ ID3D12RootSignature * pRootSignature) = 0;
3628
3629 virtual void STDMETHODCALLTYPE SetGraphicsRootSignature(
3630 _In_opt_ ID3D12RootSignature * pRootSignature) = 0;
3631
3632 virtual void STDMETHODCALLTYPE SetComputeRootDescriptorTable(
3633 _In_ UINT RootParameterIndex,
3634 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
3635
3636 virtual void STDMETHODCALLTYPE SetGraphicsRootDescriptorTable(
3637 _In_ UINT RootParameterIndex,
3638 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor) = 0;
3639
3640 virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstant(
3641 _In_ UINT RootParameterIndex,
3642 _In_ UINT SrcData,
3643 _In_ UINT DestOffsetIn32BitValues) = 0;
3644
3645 virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstant(
3646 _In_ UINT RootParameterIndex,
3647 _In_ UINT SrcData,
3648 _In_ UINT DestOffsetIn32BitValues) = 0;
3649
3650 virtual void STDMETHODCALLTYPE SetComputeRoot32BitConstants(
3651 _In_ UINT RootParameterIndex,
3652 _In_ UINT Num32BitValuesToSet,
3653 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3654 _In_ UINT DestOffsetIn32BitValues) = 0;
3655
3656 virtual void STDMETHODCALLTYPE SetGraphicsRoot32BitConstants(
3657 _In_ UINT RootParameterIndex,
3658 _In_ UINT Num32BitValuesToSet,
3659 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3660 _In_ UINT DestOffsetIn32BitValues) = 0;
3661
3662 virtual void STDMETHODCALLTYPE SetComputeRootConstantBufferView(
3663 _In_ UINT RootParameterIndex,
3664 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3665
3666 virtual void STDMETHODCALLTYPE SetGraphicsRootConstantBufferView(
3667 _In_ UINT RootParameterIndex,
3668 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3669
3670 virtual void STDMETHODCALLTYPE SetComputeRootShaderResourceView(
3671 _In_ UINT RootParameterIndex,
3672 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3673
3674 virtual void STDMETHODCALLTYPE SetGraphicsRootShaderResourceView(
3675 _In_ UINT RootParameterIndex,
3676 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3677
3678 virtual void STDMETHODCALLTYPE SetComputeRootUnorderedAccessView(
3679 _In_ UINT RootParameterIndex,
3680 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3681
3682 virtual void STDMETHODCALLTYPE SetGraphicsRootUnorderedAccessView(
3683 _In_ UINT RootParameterIndex,
3684 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation) = 0;
3685
3686 virtual void STDMETHODCALLTYPE IASetIndexBuffer(
3687 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView) = 0;
3688
3689 virtual void STDMETHODCALLTYPE IASetVertexBuffers(
3690 _In_ UINT StartSlot,
3691 _In_ UINT NumViews,
3692 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews) = 0;
3693
3694 virtual void STDMETHODCALLTYPE SOSetTargets(
3695 _In_ UINT StartSlot,
3696 _In_ UINT NumViews,
3697 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews) = 0;
3698
3699 virtual void STDMETHODCALLTYPE OMSetRenderTargets(
3700 _In_ UINT NumRenderTargetDescriptors,
3701 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
3702 _In_ BOOL RTsSingleHandleToDescriptorRange,
3703 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor) = 0;
3704
3705 virtual void STDMETHODCALLTYPE ClearDepthStencilView(
3706 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
3707 _In_ D3D12_CLEAR_FLAGS ClearFlags,
3708 _In_ FLOAT Depth,
3709 _In_ UINT8 Stencil,
3710 _In_ UINT NumRects,
3711 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3712
3713 virtual void STDMETHODCALLTYPE ClearRenderTargetView(
3714 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
3715 _In_ const FLOAT ColorRGBA[4],
3716 _In_ UINT NumRects,
3717 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3718
3719 virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewUint(
3720 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
3721 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
3722 _In_ ID3D12Resource * pResource,
3723 _In_ const UINT Values[4],
3724 _In_ UINT NumRects,
3725 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3726
3727 virtual void STDMETHODCALLTYPE ClearUnorderedAccessViewFloat(
3728 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
3729 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
3730 _In_ ID3D12Resource * pResource,
3731 _In_ const FLOAT Values[4],
3732 _In_ UINT NumRects,
3733 _In_reads_(NumRects) const D3D12_RECT *pRects) = 0;
3734
3735 virtual void STDMETHODCALLTYPE DiscardResource(
3736 _In_ ID3D12Resource * pResource,
3737 _In_opt_ const D3D12_DISCARD_REGION *pRegion) = 0;
3738
3739 virtual void STDMETHODCALLTYPE BeginQuery(
3740 _In_ ID3D12QueryHeap * pQueryHeap,
3742 _In_ UINT Index) = 0;
3743
3744 virtual void STDMETHODCALLTYPE EndQuery(
3745 _In_ ID3D12QueryHeap * pQueryHeap,
3747 _In_ UINT Index) = 0;
3748
3749 virtual void STDMETHODCALLTYPE ResolveQueryData(
3750 _In_ ID3D12QueryHeap * pQueryHeap,
3752 _In_ UINT StartIndex,
3753 _In_ UINT NumQueries,
3754 _In_ ID3D12Resource * pDestinationBuffer,
3755 _In_ UINT64 AlignedDestinationBufferOffset) = 0;
3756
3757 virtual void STDMETHODCALLTYPE SetPredication(
3758 _In_opt_ ID3D12Resource * pBuffer,
3759 _In_ UINT64 AlignedBufferOffset,
3760 _In_ D3D12_PREDICATION_OP Operation) = 0;
3761
3762 virtual void STDMETHODCALLTYPE SetMarker(
3763 UINT Metadata,
3764 _In_reads_bytes_opt_(Size) const void *pData,
3765 UINT Size) = 0;
3766
3767 virtual void STDMETHODCALLTYPE BeginEvent(
3768 UINT Metadata,
3769 _In_reads_bytes_opt_(Size) const void *pData,
3770 UINT Size) = 0;
3771
3772 virtual void STDMETHODCALLTYPE EndEvent() = 0;
3773
3774 virtual void STDMETHODCALLTYPE ExecuteIndirect(
3775 _In_ ID3D12CommandSignature * pCommandSignature,
3776 _In_ UINT MaxCommandCount,
3777 _In_ ID3D12Resource * pArgumentBuffer,
3778 _In_ UINT64 ArgumentBufferOffset,
3779 _In_opt_ ID3D12Resource * pCountBuffer,
3780 _In_ UINT64 CountBufferOffset) = 0;
3781};
3782
3783#else /* C style interface */
3784
3787
3788 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3789 (
3791 REFIID riid,
3792 _COM_Outptr_ void **ppvObject);
3793
3794 ULONG(STDMETHODCALLTYPE *AddRef)
3795 (
3797
3798 ULONG(STDMETHODCALLTYPE *Release)
3799 (
3801
3802 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3803 (
3808
3809 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3810 (
3815
3816 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3817 (
3821
3822 HRESULT(STDMETHODCALLTYPE *SetName)
3823 (
3826
3827 HRESULT(STDMETHODCALLTYPE *GetDevice)
3828 (
3832
3834 (
3836
3837 HRESULT(STDMETHODCALLTYPE *Close)
3838 (
3840
3841 HRESULT(STDMETHODCALLTYPE *Reset)
3842 (
3846
3850
3851 void(STDMETHODCALLTYPE *DrawInstanced)(
3857
3858 void(STDMETHODCALLTYPE *DrawIndexedInstanced)(
3861 _In_ UINT InstanceCount,
3865
3871
3872 void(STDMETHODCALLTYPE *CopyBufferRegion)(
3879
3880 void(STDMETHODCALLTYPE *CopyTextureRegion)(
3888
3889 void(STDMETHODCALLTYPE *CopyResource)(
3893
3902
3903 void(STDMETHODCALLTYPE *ResolveSubresource)(
3905 _In_ ID3D12Resource *pDstResource,
3910
3911 void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(
3914
3915 void(STDMETHODCALLTYPE *RSSetViewports)(
3918 _In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports);
3919
3920 void(STDMETHODCALLTYPE *RSSetScissorRects)(
3923 _In_reads_(NumRects) const D3D12_RECT *pRects);
3924
3925 void(STDMETHODCALLTYPE *OMSetBlendFactor)(
3927 _In_opt_ const FLOAT BlendFactor[4]);
3928
3929 void(STDMETHODCALLTYPE *OMSetStencilRef)(
3932
3933 void(STDMETHODCALLTYPE *SetPipelineState)(
3936
3937 void(STDMETHODCALLTYPE *ResourceBarrier)(
3940 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
3941
3942 void(STDMETHODCALLTYPE *ExecuteBundle)(
3945
3946 void(STDMETHODCALLTYPE *SetDescriptorHeaps)(
3949 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
3950
3951 void(STDMETHODCALLTYPE *SetComputeRootSignature)(
3954
3955 void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(
3957 _In_opt_ ID3D12RootSignature *pRootSignature);
3958
3959 void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
3963
3964 void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
3966 _In_ UINT RootParameterIndex,
3967 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
3968
3969 void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
3971 _In_ UINT RootParameterIndex,
3974
3975 void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
3977 _In_ UINT RootParameterIndex,
3978 _In_ UINT SrcData,
3979 _In_ UINT DestOffsetIn32BitValues);
3980
3981 void(STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
3983 _In_ UINT RootParameterIndex,
3985 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3986 _In_ UINT DestOffsetIn32BitValues);
3987
3988 void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
3990 _In_ UINT RootParameterIndex,
3991 _In_ UINT Num32BitValuesToSet,
3992 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3993 _In_ UINT DestOffsetIn32BitValues);
3994
3995 void(STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(
3997 _In_ UINT RootParameterIndex,
3999
4000 void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
4002 _In_ UINT RootParameterIndex,
4003 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4004
4005 void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
4007 _In_ UINT RootParameterIndex,
4008 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4009
4010 void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
4012 _In_ UINT RootParameterIndex,
4013 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4014
4015 void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
4017 _In_ UINT RootParameterIndex,
4018 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4019
4020 void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
4022 _In_ UINT RootParameterIndex,
4023 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4024
4025 void(STDMETHODCALLTYPE *IASetIndexBuffer)(
4028
4029 void(STDMETHODCALLTYPE *IASetVertexBuffers)(
4034
4035 void(STDMETHODCALLTYPE *SOSetTargets)(
4037 _In_ UINT StartSlot,
4038 _In_ UINT NumViews,
4040
4041 void(STDMETHODCALLTYPE *OMSetRenderTargets)(
4047
4048 void(STDMETHODCALLTYPE *ClearDepthStencilView)(
4055 _In_reads_(NumRects) const D3D12_RECT *pRects);
4056
4057 void(STDMETHODCALLTYPE *ClearRenderTargetView)(
4060 _In_ const FLOAT ColorRGBA[4],
4062 _In_reads_(NumRects) const D3D12_RECT *pRects);
4063
4064 void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
4069 _In_ const UINT Values[4],
4071 _In_reads_(NumRects) const D3D12_RECT *pRects);
4072
4073 void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
4075 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
4076 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
4077 _In_ ID3D12Resource *pResource,
4078 _In_ const FLOAT Values[4],
4080 _In_reads_(NumRects) const D3D12_RECT *pRects);
4081
4082 void(STDMETHODCALLTYPE *DiscardResource)(
4086
4092
4095 _In_ ID3D12QueryHeap *pQueryHeap,
4097 _In_ UINT Index);
4098
4099 void(STDMETHODCALLTYPE *ResolveQueryData)(
4101 _In_ ID3D12QueryHeap *pQueryHeap,
4107
4108 void(STDMETHODCALLTYPE *SetPredication)(
4113
4117 _In_reads_bytes_opt_(Size) const void *pData,
4119
4122 UINT Metadata,
4123 _In_reads_bytes_opt_(Size) const void *pData,
4124 UINT Size);
4125
4128
4129 void(STDMETHODCALLTYPE *ExecuteIndirect)(
4137
4140
4141interface ID3D12GraphicsCommandList {
4143};
4144
4145#ifdef COBJMACROS
4146
4147#define ID3D12GraphicsCommandList_QueryInterface(This, riid, ppvObject) \
4148 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
4149
4150#define ID3D12GraphicsCommandList_AddRef(This) \
4151 ((This)->lpVtbl->AddRef(This))
4152
4153#define ID3D12GraphicsCommandList_Release(This) \
4154 ((This)->lpVtbl->Release(This))
4155
4156#define ID3D12GraphicsCommandList_GetPrivateData(This, guid, pDataSize, pData) \
4157 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
4158
4159#define ID3D12GraphicsCommandList_SetPrivateData(This, guid, DataSize, pData) \
4160 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
4161
4162#define ID3D12GraphicsCommandList_SetPrivateDataInterface(This, guid, pData) \
4163 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
4164
4165#define ID3D12GraphicsCommandList_SetName(This, Name) \
4166 ((This)->lpVtbl->SetName(This, Name))
4167
4168#define ID3D12GraphicsCommandList_GetDevice(This, riid, ppvDevice) \
4169 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
4170
4171#define ID3D12GraphicsCommandList_GetType(This) \
4172 ((This)->lpVtbl->GetType(This))
4173
4174#define ID3D12GraphicsCommandList_Close(This) \
4175 ((This)->lpVtbl->Close(This))
4176
4177#define ID3D12GraphicsCommandList_Reset(This, pAllocator, pInitialState) \
4178 ((This)->lpVtbl->Reset(This, pAllocator, pInitialState))
4179
4180#define ID3D12GraphicsCommandList_ClearState(This, pPipelineState) \
4181 ((This)->lpVtbl->ClearState(This, pPipelineState))
4182
4183#define ID3D12GraphicsCommandList_DrawInstanced(This, VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation) \
4184 ((This)->lpVtbl->DrawInstanced(This, VertexCountPerInstance, InstanceCount, StartVertexLocation, StartInstanceLocation))
4185
4186#define ID3D12GraphicsCommandList_DrawIndexedInstanced(This, IndexCountPerInstance, InstanceCount, StartIndexLocation, BaseVertexLocation, StartInstanceLocation) \
4187 ((This)->lpVtbl->DrawIndexedInstanced(This, IndexCountPerInstance, InstanceCount, StartIndexLocation, BaseVertexLocation, StartInstanceLocation))
4188
4189#define ID3D12GraphicsCommandList_Dispatch(This, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ) \
4190 ((This)->lpVtbl->Dispatch(This, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ))
4191
4192#define ID3D12GraphicsCommandList_CopyBufferRegion(This, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, NumBytes) \
4193 ((This)->lpVtbl->CopyBufferRegion(This, pDstBuffer, DstOffset, pSrcBuffer, SrcOffset, NumBytes))
4194
4195#define ID3D12GraphicsCommandList_CopyTextureRegion(This, pDst, DstX, DstY, DstZ, pSrc, pSrcBox) \
4196 ((This)->lpVtbl->CopyTextureRegion(This, pDst, DstX, DstY, DstZ, pSrc, pSrcBox))
4197
4198#define ID3D12GraphicsCommandList_CopyResource(This, pDstResource, pSrcResource) \
4199 ((This)->lpVtbl->CopyResource(This, pDstResource, pSrcResource))
4200
4201#define ID3D12GraphicsCommandList_CopyTiles(This, pTiledResource, pTileRegionStartCoordinate, pTileRegionSize, pBuffer, BufferStartOffsetInBytes, Flags) \
4202 ((This)->lpVtbl->CopyTiles(This, pTiledResource, pTileRegionStartCoordinate, pTileRegionSize, pBuffer, BufferStartOffsetInBytes, Flags))
4203
4204#define ID3D12GraphicsCommandList_ResolveSubresource(This, pDstResource, DstSubresource, pSrcResource, SrcSubresource, Format) \
4205 ((This)->lpVtbl->ResolveSubresource(This, pDstResource, DstSubresource, pSrcResource, SrcSubresource, Format))
4206
4207#define ID3D12GraphicsCommandList_IASetPrimitiveTopology(This, PrimitiveTopology) \
4208 ((This)->lpVtbl->IASetPrimitiveTopology(This, PrimitiveTopology))
4209
4210#define ID3D12GraphicsCommandList_RSSetViewports(This, NumViewports, pViewports) \
4211 ((This)->lpVtbl->RSSetViewports(This, NumViewports, pViewports))
4212
4213#define ID3D12GraphicsCommandList_RSSetScissorRects(This, NumRects, pRects) \
4214 ((This)->lpVtbl->RSSetScissorRects(This, NumRects, pRects))
4215
4216#define ID3D12GraphicsCommandList_OMSetBlendFactor(This, BlendFactor) \
4217 ((This)->lpVtbl->OMSetBlendFactor(This, BlendFactor))
4218
4219#define ID3D12GraphicsCommandList_OMSetStencilRef(This, StencilRef) \
4220 ((This)->lpVtbl->OMSetStencilRef(This, StencilRef))
4221
4222#define ID3D12GraphicsCommandList_SetPipelineState(This, pPipelineState) \
4223 ((This)->lpVtbl->SetPipelineState(This, pPipelineState))
4224
4225#define ID3D12GraphicsCommandList_ResourceBarrier(This, NumBarriers, pBarriers) \
4226 ((This)->lpVtbl->ResourceBarrier(This, NumBarriers, pBarriers))
4227
4228#define ID3D12GraphicsCommandList_ExecuteBundle(This, pCommandList) \
4229 ((This)->lpVtbl->ExecuteBundle(This, pCommandList))
4230
4231#define ID3D12GraphicsCommandList_SetDescriptorHeaps(This, NumDescriptorHeaps, ppDescriptorHeaps) \
4232 ((This)->lpVtbl->SetDescriptorHeaps(This, NumDescriptorHeaps, ppDescriptorHeaps))
4233
4234#define ID3D12GraphicsCommandList_SetComputeRootSignature(This, pRootSignature) \
4235 ((This)->lpVtbl->SetComputeRootSignature(This, pRootSignature))
4236
4237#define ID3D12GraphicsCommandList_SetGraphicsRootSignature(This, pRootSignature) \
4238 ((This)->lpVtbl->SetGraphicsRootSignature(This, pRootSignature))
4239
4240#define ID3D12GraphicsCommandList_SetComputeRootDescriptorTable(This, RootParameterIndex, BaseDescriptor) \
4241 ((This)->lpVtbl->SetComputeRootDescriptorTable(This, RootParameterIndex, BaseDescriptor))
4242
4243#define ID3D12GraphicsCommandList_SetGraphicsRootDescriptorTable(This, RootParameterIndex, BaseDescriptor) \
4244 ((This)->lpVtbl->SetGraphicsRootDescriptorTable(This, RootParameterIndex, BaseDescriptor))
4245
4246#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues) \
4247 ((This)->lpVtbl->SetComputeRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues))
4248
4249#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues) \
4250 ((This)->lpVtbl->SetGraphicsRoot32BitConstant(This, RootParameterIndex, SrcData, DestOffsetIn32BitValues))
4251
4252#define ID3D12GraphicsCommandList_SetComputeRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues) \
4253 ((This)->lpVtbl->SetComputeRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues))
4254
4255#define ID3D12GraphicsCommandList_SetGraphicsRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues) \
4256 ((This)->lpVtbl->SetGraphicsRoot32BitConstants(This, RootParameterIndex, Num32BitValuesToSet, pSrcData, DestOffsetIn32BitValues))
4257
4258#define ID3D12GraphicsCommandList_SetComputeRootConstantBufferView(This, RootParameterIndex, BufferLocation) \
4259 ((This)->lpVtbl->SetComputeRootConstantBufferView(This, RootParameterIndex, BufferLocation))
4260
4261#define ID3D12GraphicsCommandList_SetGraphicsRootConstantBufferView(This, RootParameterIndex, BufferLocation) \
4262 ((This)->lpVtbl->SetGraphicsRootConstantBufferView(This, RootParameterIndex, BufferLocation))
4263
4264#define ID3D12GraphicsCommandList_SetComputeRootShaderResourceView(This, RootParameterIndex, BufferLocation) \
4265 ((This)->lpVtbl->SetComputeRootShaderResourceView(This, RootParameterIndex, BufferLocation))
4266
4267#define ID3D12GraphicsCommandList_SetGraphicsRootShaderResourceView(This, RootParameterIndex, BufferLocation) \
4268 ((This)->lpVtbl->SetGraphicsRootShaderResourceView(This, RootParameterIndex, BufferLocation))
4269
4270#define ID3D12GraphicsCommandList_SetComputeRootUnorderedAccessView(This, RootParameterIndex, BufferLocation) \
4271 ((This)->lpVtbl->SetComputeRootUnorderedAccessView(This, RootParameterIndex, BufferLocation))
4272
4273#define ID3D12GraphicsCommandList_SetGraphicsRootUnorderedAccessView(This, RootParameterIndex, BufferLocation) \
4274 ((This)->lpVtbl->SetGraphicsRootUnorderedAccessView(This, RootParameterIndex, BufferLocation))
4275
4276#define ID3D12GraphicsCommandList_IASetIndexBuffer(This, pView) \
4277 ((This)->lpVtbl->IASetIndexBuffer(This, pView))
4278
4279#define ID3D12GraphicsCommandList_IASetVertexBuffers(This, StartSlot, NumViews, pViews) \
4280 ((This)->lpVtbl->IASetVertexBuffers(This, StartSlot, NumViews, pViews))
4281
4282#define ID3D12GraphicsCommandList_SOSetTargets(This, StartSlot, NumViews, pViews) \
4283 ((This)->lpVtbl->SOSetTargets(This, StartSlot, NumViews, pViews))
4284
4285#define ID3D12GraphicsCommandList_OMSetRenderTargets(This, NumRenderTargetDescriptors, pRenderTargetDescriptors, RTsSingleHandleToDescriptorRange, pDepthStencilDescriptor) \
4286 ((This)->lpVtbl->OMSetRenderTargets(This, NumRenderTargetDescriptors, pRenderTargetDescriptors, RTsSingleHandleToDescriptorRange, pDepthStencilDescriptor))
4287
4288#define ID3D12GraphicsCommandList_ClearDepthStencilView(This, DepthStencilView, ClearFlags, Depth, Stencil, NumRects, pRects) \
4289 ((This)->lpVtbl->ClearDepthStencilView(This, DepthStencilView, ClearFlags, Depth, Stencil, NumRects, pRects))
4290
4291#define ID3D12GraphicsCommandList_ClearRenderTargetView(This, RenderTargetView, ColorRGBA, NumRects, pRects) \
4292 ((This)->lpVtbl->ClearRenderTargetView(This, RenderTargetView, ColorRGBA, NumRects, pRects))
4293
4294#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewUint(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects) \
4295 ((This)->lpVtbl->ClearUnorderedAccessViewUint(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects))
4296
4297#define ID3D12GraphicsCommandList_ClearUnorderedAccessViewFloat(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects) \
4298 ((This)->lpVtbl->ClearUnorderedAccessViewFloat(This, ViewGPUHandleInCurrentHeap, ViewCPUHandle, pResource, Values, NumRects, pRects))
4299
4300#define ID3D12GraphicsCommandList_DiscardResource(This, pResource, pRegion) \
4301 ((This)->lpVtbl->DiscardResource(This, pResource, pRegion))
4302
4303#define ID3D12GraphicsCommandList_BeginQuery(This, pQueryHeap, Type, Index) \
4304 ((This)->lpVtbl->BeginQuery(This, pQueryHeap, Type, Index))
4305
4306#define ID3D12GraphicsCommandList_EndQuery(This, pQueryHeap, Type, Index) \
4307 ((This)->lpVtbl->EndQuery(This, pQueryHeap, Type, Index))
4308
4309#define ID3D12GraphicsCommandList_ResolveQueryData(This, pQueryHeap, Type, StartIndex, NumQueries, pDestinationBuffer, AlignedDestinationBufferOffset) \
4310 ((This)->lpVtbl->ResolveQueryData(This, pQueryHeap, Type, StartIndex, NumQueries, pDestinationBuffer, AlignedDestinationBufferOffset))
4311
4312#define ID3D12GraphicsCommandList_SetPredication(This, pBuffer, AlignedBufferOffset, Operation) \
4313 ((This)->lpVtbl->SetPredication(This, pBuffer, AlignedBufferOffset, Operation))
4314
4315#define ID3D12GraphicsCommandList_SetMarker(This, Metadata, pData, Size) \
4316 ((This)->lpVtbl->SetMarker(This, Metadata, pData, Size))
4317
4318#define ID3D12GraphicsCommandList_BeginEvent(This, Metadata, pData, Size) \
4319 ((This)->lpVtbl->BeginEvent(This, Metadata, pData, Size))
4320
4321#define ID3D12GraphicsCommandList_EndEvent(This) \
4322 ((This)->lpVtbl->EndEvent(This))
4323
4324#define ID3D12GraphicsCommandList_ExecuteIndirect(This, pCommandSignature, MaxCommandCount, pArgumentBuffer, ArgumentBufferOffset, pCountBuffer, CountBufferOffset) \
4325 ((This)->lpVtbl->ExecuteIndirect(This, pCommandSignature, MaxCommandCount, pArgumentBuffer, ArgumentBufferOffset, pCountBuffer, CountBufferOffset))
4326
4327#endif /* COBJMACROS */
4328
4329#endif /* C style interface */
4330
4331#endif /* __ID3D12GraphicsCommandList_INTERFACE_DEFINED__ */
4332
4333#ifndef __ID3D12CommandQueue_INTERFACE_DEFINED__
4334#define __ID3D12CommandQueue_INTERFACE_DEFINED__
4335
4336/* interface ID3D12CommandQueue */
4337/* [unique][local][object][uuid] */
4338
4340
4341#if defined(__cplusplus) && !defined(CINTERFACE)
4342
4343MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
4345public:
4346 virtual void STDMETHODCALLTYPE UpdateTileMappings(
4348 UINT NumResourceRegions,
4349 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
4350 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
4351 _In_opt_ ID3D12Heap *pHeap,
4352 UINT NumRanges,
4353 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
4354 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
4355 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
4357
4358 virtual void STDMETHODCALLTYPE CopyTileMappings(
4360 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
4362 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
4363 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
4365
4366 virtual void STDMETHODCALLTYPE ExecuteCommandLists(
4367 _In_ UINT NumCommandLists,
4368 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
4369
4370 virtual void STDMETHODCALLTYPE SetMarker(
4371 UINT Metadata,
4372 _In_reads_bytes_opt_(Size) const void *pData,
4373 UINT Size) = 0;
4374
4375 virtual void STDMETHODCALLTYPE BeginEvent(
4376 UINT Metadata,
4377 _In_reads_bytes_opt_(Size) const void *pData,
4378 UINT Size) = 0;
4379
4380 virtual void STDMETHODCALLTYPE EndEvent() = 0;
4381
4382 virtual HRESULT STDMETHODCALLTYPE Signal(
4383 ID3D12Fence * pFence,
4384 UINT64 Value) = 0;
4385
4386 virtual HRESULT STDMETHODCALLTYPE Wait(
4387 ID3D12Fence * pFence,
4388 UINT64 Value) = 0;
4389
4390 virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
4391 _Out_ UINT64 * pFrequency) = 0;
4392
4393 virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
4394 _Out_ UINT64 * pGpuTimestamp,
4395 _Out_ UINT64 * pCpuTimestamp) = 0;
4396
4397 virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc() = 0;
4398};
4399
4400#else /* C style interface */
4401
4404
4405 HRESULT(STDMETHODCALLTYPE *QueryInterface)
4406 (
4408 REFIID riid,
4409 _COM_Outptr_ void **ppvObject);
4410
4411 ULONG(STDMETHODCALLTYPE *AddRef)
4412 (
4414
4415 ULONG(STDMETHODCALLTYPE *Release)
4416 (
4418
4419 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4420 (
4425
4426 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4427 (
4432
4433 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4434 (
4438
4439 HRESULT(STDMETHODCALLTYPE *SetName)
4440 (
4443
4444 HRESULT(STDMETHODCALLTYPE *GetDevice)
4445 (
4449
4450 void(STDMETHODCALLTYPE *UpdateTileMappings)(
4454 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
4455 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
4458 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
4459 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
4460 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
4462
4463 void(STDMETHODCALLTYPE *CopyTileMappings)(
4471
4472 void(STDMETHODCALLTYPE *ExecuteCommandLists)(
4475 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
4476
4480 _In_reads_bytes_opt_(Size) const void *pData,
4482
4485 UINT Metadata,
4486 _In_reads_bytes_opt_(Size) const void *pData,
4487 UINT Size);
4488
4491
4492 HRESULT(STDMETHODCALLTYPE *Signal)
4493 (
4497
4498 HRESULT(STDMETHODCALLTYPE *Wait)
4499 (
4501 ID3D12Fence *pFence,
4502 UINT64 Value);
4503
4504 HRESULT(STDMETHODCALLTYPE *GetTimestampFrequency)
4505 (
4508
4509 HRESULT(STDMETHODCALLTYPE *GetClockCalibration)
4510 (
4514
4516 (
4518
4521
4522interface ID3D12CommandQueue {
4523 CONST_VTBL struct ID3D12CommandQueueVtbl *lpVtbl;
4524};
4525
4526#ifdef COBJMACROS
4527
4528#define ID3D12CommandQueue_QueryInterface(This, riid, ppvObject) \
4529 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
4530
4531#define ID3D12CommandQueue_AddRef(This) \
4532 ((This)->lpVtbl->AddRef(This))
4533
4534#define ID3D12CommandQueue_Release(This) \
4535 ((This)->lpVtbl->Release(This))
4536
4537#define ID3D12CommandQueue_GetPrivateData(This, guid, pDataSize, pData) \
4538 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
4539
4540#define ID3D12CommandQueue_SetPrivateData(This, guid, DataSize, pData) \
4541 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
4542
4543#define ID3D12CommandQueue_SetPrivateDataInterface(This, guid, pData) \
4544 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
4545
4546#define ID3D12CommandQueue_SetName(This, Name) \
4547 ((This)->lpVtbl->SetName(This, Name))
4548
4549#define ID3D12CommandQueue_GetDevice(This, riid, ppvDevice) \
4550 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
4551
4552#define ID3D12CommandQueue_UpdateTileMappings(This, pResource, NumResourceRegions, pResourceRegionStartCoordinates, pResourceRegionSizes, pHeap, NumRanges, pRangeFlags, pHeapRangeStartOffsets, pRangeTileCounts, Flags) \
4553 ((This)->lpVtbl->UpdateTileMappings(This, pResource, NumResourceRegions, pResourceRegionStartCoordinates, pResourceRegionSizes, pHeap, NumRanges, pRangeFlags, pHeapRangeStartOffsets, pRangeTileCounts, Flags))
4554
4555#define ID3D12CommandQueue_CopyTileMappings(This, pDstResource, pDstRegionStartCoordinate, pSrcResource, pSrcRegionStartCoordinate, pRegionSize, Flags) \
4556 ((This)->lpVtbl->CopyTileMappings(This, pDstResource, pDstRegionStartCoordinate, pSrcResource, pSrcRegionStartCoordinate, pRegionSize, Flags))
4557
4558#define ID3D12CommandQueue_ExecuteCommandLists(This, NumCommandLists, ppCommandLists) \
4559 ((This)->lpVtbl->ExecuteCommandLists(This, NumCommandLists, ppCommandLists))
4560
4561#define ID3D12CommandQueue_SetMarker(This, Metadata, pData, Size) \
4562 ((This)->lpVtbl->SetMarker(This, Metadata, pData, Size))
4563
4564#define ID3D12CommandQueue_BeginEvent(This, Metadata, pData, Size) \
4565 ((This)->lpVtbl->BeginEvent(This, Metadata, pData, Size))
4566
4567#define ID3D12CommandQueue_EndEvent(This) \
4568 ((This)->lpVtbl->EndEvent(This))
4569
4570#define ID3D12CommandQueue_Signal(This, pFence, Value) \
4571 ((This)->lpVtbl->Signal(This, pFence, Value))
4572
4573#define ID3D12CommandQueue_Wait(This, pFence, Value) \
4574 ((This)->lpVtbl->Wait(This, pFence, Value))
4575
4576#define ID3D12CommandQueue_GetTimestampFrequency(This, pFrequency) \
4577 ((This)->lpVtbl->GetTimestampFrequency(This, pFrequency))
4578
4579#define ID3D12CommandQueue_GetClockCalibration(This, pGpuTimestamp, pCpuTimestamp) \
4580 ((This)->lpVtbl->GetClockCalibration(This, pGpuTimestamp, pCpuTimestamp))
4581
4582#define ID3D12CommandQueue_GetDesc(This) \
4583 ((This)->lpVtbl->GetDesc(This))
4584
4585#endif /* COBJMACROS */
4586
4587#endif /* C style interface */
4588
4589#endif /* __ID3D12CommandQueue_INTERFACE_DEFINED__ */
4590
4591#ifdef __midl
4592#ifndef LUID_DEFINED
4593#define LUID_DEFINED 1
4594typedef struct __LUID {
4598
4599typedef struct __LUID *PLUID;
4600
4601#endif
4602#endif
4603
4604#define D3D12_REQ_SUBRESOURCES (30720)
4605
4606#ifndef __ID3D12Device_INTERFACE_DEFINED__
4607#define __ID3D12Device_INTERFACE_DEFINED__
4608
4609/* interface ID3D12Device */
4610/* [unique][local][object][uuid] */
4611
4613
4614#if defined(__cplusplus) && !defined(CINTERFACE)
4615
4616MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
4617ID3D12Device : public ID3D12Object {
4618public:
4619 virtual UINT STDMETHODCALLTYPE GetNodeCount() = 0;
4620
4621 virtual HRESULT STDMETHODCALLTYPE CreateCommandQueue(
4622 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
4623 REFIID riid,
4624 _COM_Outptr_ void **ppCommandQueue) = 0;
4625
4626 virtual HRESULT STDMETHODCALLTYPE CreateCommandAllocator(
4628 REFIID riid,
4629 _COM_Outptr_ void **ppCommandAllocator) = 0;
4630
4631 virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
4633 REFIID riid,
4634 _COM_Outptr_ void **ppPipelineState) = 0;
4635
4636 virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
4638 REFIID riid,
4639 _COM_Outptr_ void **ppPipelineState) = 0;
4640
4641 virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
4642 _In_ UINT nodeMask,
4644 _In_ ID3D12CommandAllocator * pCommandAllocator,
4645 _In_opt_ ID3D12PipelineState * pInitialState,
4646 REFIID riid,
4647 _COM_Outptr_ void **ppCommandList) = 0;
4648
4649 virtual HRESULT STDMETHODCALLTYPE CheckFeatureSupport(
4650 D3D12_FEATURE Feature,
4651 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
4652 UINT FeatureSupportDataSize) = 0;
4653
4654 virtual HRESULT STDMETHODCALLTYPE CreateDescriptorHeap(
4655 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
4656 REFIID riid,
4657 _COM_Outptr_ void **ppvHeap) = 0;
4658
4659 virtual UINT STDMETHODCALLTYPE GetDescriptorHandleIncrementSize(
4660 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType) = 0;
4661
4662 virtual HRESULT STDMETHODCALLTYPE CreateRootSignature(
4663 _In_ UINT nodeMask,
4664 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
4665 _In_ SIZE_T blobLengthInBytes,
4666 REFIID riid,
4667 _COM_Outptr_ void **ppvRootSignature) = 0;
4668
4669 virtual void STDMETHODCALLTYPE CreateConstantBufferView(
4671 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4672
4673 virtual void STDMETHODCALLTYPE CreateShaderResourceView(
4674 _In_opt_ ID3D12Resource * pResource,
4676 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4677
4678 virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
4679 _In_opt_ ID3D12Resource * pResource,
4680 _In_opt_ ID3D12Resource * pCounterResource,
4682 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4683
4684 virtual void STDMETHODCALLTYPE CreateRenderTargetView(
4685 _In_opt_ ID3D12Resource * pResource,
4687 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4688
4689 virtual void STDMETHODCALLTYPE CreateDepthStencilView(
4690 _In_opt_ ID3D12Resource * pResource,
4692 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4693
4694 virtual void STDMETHODCALLTYPE CreateSampler(
4695 _In_ const D3D12_SAMPLER_DESC *pDesc,
4696 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4697
4698 virtual void STDMETHODCALLTYPE CopyDescriptors(
4699 _In_ UINT NumDestDescriptorRanges,
4700 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
4701 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
4702 _In_ UINT NumSrcDescriptorRanges,
4703 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
4704 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
4705 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
4706
4707 virtual void STDMETHODCALLTYPE CopyDescriptorsSimple(
4708 _In_ UINT NumDescriptors,
4709 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
4710 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
4711 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType) = 0;
4712
4713 virtual D3D12_RESOURCE_ALLOCATION_INFO STDMETHODCALLTYPE GetResourceAllocationInfo(
4714 _In_ UINT visibleMask,
4715 _In_ UINT numResourceDescs,
4716 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs) = 0;
4717
4718 virtual D3D12_HEAP_PROPERTIES STDMETHODCALLTYPE GetCustomHeapProperties(
4719 _In_ UINT nodeMask,
4720 D3D12_HEAP_TYPE heapType) = 0;
4721
4722 virtual HRESULT STDMETHODCALLTYPE CreateCommittedResource(
4724 D3D12_HEAP_FLAGS HeapFlags,
4725 _In_ const D3D12_RESOURCE_DESC *pDesc,
4726 D3D12_RESOURCE_STATES InitialResourceState,
4727 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
4728 REFIID riidResource,
4729 _COM_Outptr_opt_ void **ppvResource) = 0;
4730
4731 virtual HRESULT STDMETHODCALLTYPE CreateHeap(
4732 _In_ const D3D12_HEAP_DESC *pDesc,
4733 REFIID riid,
4734 _COM_Outptr_opt_ void **ppvHeap) = 0;
4735
4736 virtual HRESULT STDMETHODCALLTYPE CreatePlacedResource(
4737 _In_ ID3D12Heap * pHeap,
4738 UINT64 HeapOffset,
4739 _In_ const D3D12_RESOURCE_DESC *pDesc,
4740 D3D12_RESOURCE_STATES InitialState,
4741 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
4742 REFIID riid,
4743 _COM_Outptr_opt_ void **ppvResource) = 0;
4744
4745 virtual HRESULT STDMETHODCALLTYPE CreateReservedResource(
4746 _In_ const D3D12_RESOURCE_DESC *pDesc,
4747 D3D12_RESOURCE_STATES InitialState,
4748 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
4749 REFIID riid,
4750 _COM_Outptr_opt_ void **ppvResource) = 0;
4751
4752 virtual HRESULT STDMETHODCALLTYPE CreateSharedHandle(
4753 _In_ ID3D12DeviceChild * pObject,
4754 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
4755 DWORD Access,
4757 _Out_ HANDLE *pHandle) = 0;
4758
4759 virtual HRESULT STDMETHODCALLTYPE OpenSharedHandle(
4760 _In_ HANDLE NTHandle,
4761 REFIID riid,
4762 _COM_Outptr_opt_ void **ppvObj) = 0;
4763
4764 virtual HRESULT STDMETHODCALLTYPE OpenSharedHandleByName(
4766 DWORD Access,
4767 /* [annotation][out] */
4768 _Out_ HANDLE * pNTHandle) = 0;
4769
4770 virtual HRESULT STDMETHODCALLTYPE MakeResident(
4771 UINT NumObjects,
4772 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
4773
4774 virtual HRESULT STDMETHODCALLTYPE Evict(
4775 UINT NumObjects,
4776 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects) = 0;
4777
4778 virtual HRESULT STDMETHODCALLTYPE CreateFence(
4779 UINT64 InitialValue,
4780 D3D12_FENCE_FLAGS Flags,
4781 REFIID riid,
4782 _COM_Outptr_ void **ppFence) = 0;
4783
4784 virtual HRESULT STDMETHODCALLTYPE GetDeviceRemovedReason() = 0;
4785
4786 virtual void STDMETHODCALLTYPE GetCopyableFootprints(
4787 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
4788 _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
4789 _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources,
4790 UINT64 BaseOffset,
4791 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
4792 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
4793 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
4794 _Out_opt_ UINT64 *pTotalBytes) = 0;
4795
4796 virtual HRESULT STDMETHODCALLTYPE CreateQueryHeap(
4797 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
4798 REFIID riid,
4799 _COM_Outptr_opt_ void **ppvHeap) = 0;
4800
4801 virtual HRESULT STDMETHODCALLTYPE SetStablePowerState(
4802 BOOL Enable) = 0;
4803
4804 virtual HRESULT STDMETHODCALLTYPE CreateCommandSignature(
4806 _In_opt_ ID3D12RootSignature *pRootSignature,
4807 REFIID riid,
4808 _COM_Outptr_opt_ void **ppvCommandSignature) = 0;
4809
4810 virtual void STDMETHODCALLTYPE GetResourceTiling(
4811 _In_ ID3D12Resource * pTiledResource,
4812 _Out_opt_ UINT * pNumTilesForEntireResource,
4813 _Out_opt_ D3D12_PACKED_MIP_INFO * pPackedMipDesc,
4814 _Out_opt_ D3D12_TILE_SHAPE * pStandardTileShapeForNonPackedMips,
4815 _Inout_opt_ UINT * pNumSubresourceTilings,
4816 _In_ UINT FirstSubresourceTilingToGet,
4817 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips) = 0;
4818
4819 virtual LUID STDMETHODCALLTYPE GetAdapterLuid() = 0;
4820};
4821
4822#else /* C style interface */
4823
4824typedef struct ID3D12DeviceVtbl {
4826
4827 HRESULT(STDMETHODCALLTYPE *QueryInterface)
4828 (
4830 REFIID riid,
4831 _COM_Outptr_ void **ppvObject);
4832
4833 ULONG(STDMETHODCALLTYPE *AddRef)
4834 (
4836
4837 ULONG(STDMETHODCALLTYPE *Release)
4838 (
4840
4841 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4842 (
4847
4848 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4849 (
4854
4855 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4856 (
4860
4861 HRESULT(STDMETHODCALLTYPE *SetName)
4862 (
4865
4866 UINT(STDMETHODCALLTYPE *GetNodeCount)
4867 (
4869
4870 HRESULT(STDMETHODCALLTYPE *CreateCommandQueue)
4871 (
4876
4877 HRESULT(STDMETHODCALLTYPE *CreateCommandAllocator)
4878 (
4883
4884 HRESULT(STDMETHODCALLTYPE *CreateGraphicsPipelineState)
4885 (
4890
4891 HRESULT(STDMETHODCALLTYPE *CreateComputePipelineState)
4892 (
4897
4898 HRESULT(STDMETHODCALLTYPE *CreateCommandList)
4899 (
4907
4908 HRESULT(STDMETHODCALLTYPE *CheckFeatureSupport)
4909 (
4912 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
4914
4915 HRESULT(STDMETHODCALLTYPE *CreateDescriptorHeap)
4916 (
4921
4922 UINT(STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)
4923 (
4926
4927 HRESULT(STDMETHODCALLTYPE *CreateRootSignature)
4928 (
4930 _In_ UINT nodeMask,
4931 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
4935
4936 void(STDMETHODCALLTYPE *CreateConstantBufferView)(
4940
4941 void(STDMETHODCALLTYPE *CreateShaderResourceView)(
4946
4947 void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(
4949 _In_opt_ ID3D12Resource *pResource,
4953
4954 void(STDMETHODCALLTYPE *CreateRenderTargetView)(
4956 _In_opt_ ID3D12Resource *pResource,
4959
4960 void(STDMETHODCALLTYPE *CreateDepthStencilView)(
4962 _In_opt_ ID3D12Resource *pResource,
4965
4966 void(STDMETHODCALLTYPE *CreateSampler)(
4970
4971 void(STDMETHODCALLTYPE *CopyDescriptors)(
4974 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
4975 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
4977 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
4978 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
4980
4981 void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(
4987
4988 D3D12_RESOURCE_ALLOCATION_INFO(STDMETHODCALLTYPE *GetResourceAllocationInfo)
4989 (
4993 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
4994
4995 D3D12_HEAP_PROPERTIES(STDMETHODCALLTYPE *GetCustomHeapProperties)
4996 (
4998 _In_ UINT nodeMask,
5000
5001 HRESULT(STDMETHODCALLTYPE *CreateCommittedResource)
5002 (
5011
5012 HRESULT(STDMETHODCALLTYPE *CreateHeap)
5013 (
5018
5019 HRESULT(STDMETHODCALLTYPE *CreatePlacedResource)
5020 (
5029
5030 HRESULT(STDMETHODCALLTYPE *CreateReservedResource)
5031 (
5038
5039 HRESULT(STDMETHODCALLTYPE *CreateSharedHandle)
5040 (
5047
5048 HRESULT(STDMETHODCALLTYPE *OpenSharedHandle)
5049 (
5054
5055 HRESULT(STDMETHODCALLTYPE *OpenSharedHandleByName)
5056 (
5060 /* [annotation][out] */
5062
5063 HRESULT(STDMETHODCALLTYPE *MakeResident)
5064 (
5067 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5068
5069 HRESULT(STDMETHODCALLTYPE *Evict)
5070 (
5072 UINT NumObjects,
5073 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5074
5075 HRESULT(STDMETHODCALLTYPE *CreateFence)
5076 (
5082
5083 HRESULT(STDMETHODCALLTYPE *GetDeviceRemovedReason)
5084 (
5086
5087 void(STDMETHODCALLTYPE *GetCopyableFootprints)(
5091 _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources,
5094 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
5095 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
5097
5098 HRESULT(STDMETHODCALLTYPE *CreateQueryHeap)
5099 (
5104
5105 HRESULT(STDMETHODCALLTYPE *SetStablePowerState)
5106 (
5109
5110 HRESULT(STDMETHODCALLTYPE *CreateCommandSignature)
5111 (
5117
5118 void(STDMETHODCALLTYPE *GetResourceTiling)(
5127
5128 LUID(STDMETHODCALLTYPE *GetAdapterLuid)
5129 (
5131
5134
5135interface ID3D12Device {
5136 CONST_VTBL struct ID3D12DeviceVtbl *lpVtbl;
5137};
5138
5139#ifdef COBJMACROS
5140
5141#define ID3D12Device_QueryInterface(This, riid, ppvObject) \
5142 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5143
5144#define ID3D12Device_AddRef(This) \
5145 ((This)->lpVtbl->AddRef(This))
5146
5147#define ID3D12Device_Release(This) \
5148 ((This)->lpVtbl->Release(This))
5149
5150#define ID3D12Device_GetPrivateData(This, guid, pDataSize, pData) \
5151 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5152
5153#define ID3D12Device_SetPrivateData(This, guid, DataSize, pData) \
5154 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5155
5156#define ID3D12Device_SetPrivateDataInterface(This, guid, pData) \
5157 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5158
5159#define ID3D12Device_SetName(This, Name) \
5160 ((This)->lpVtbl->SetName(This, Name))
5161
5162#define ID3D12Device_GetNodeCount(This) \
5163 ((This)->lpVtbl->GetNodeCount(This))
5164
5165#define ID3D12Device_CreateCommandQueue(This, pDesc, riid, ppCommandQueue) \
5166 ((This)->lpVtbl->CreateCommandQueue(This, pDesc, riid, ppCommandQueue))
5167
5168#define ID3D12Device_CreateCommandAllocator(This, type, riid, ppCommandAllocator) \
5169 ((This)->lpVtbl->CreateCommandAllocator(This, type, riid, ppCommandAllocator))
5170
5171#define ID3D12Device_CreateGraphicsPipelineState(This, pDesc, riid, ppPipelineState) \
5172 ((This)->lpVtbl->CreateGraphicsPipelineState(This, pDesc, riid, ppPipelineState))
5173
5174#define ID3D12Device_CreateComputePipelineState(This, pDesc, riid, ppPipelineState) \
5175 ((This)->lpVtbl->CreateComputePipelineState(This, pDesc, riid, ppPipelineState))
5176
5177#define ID3D12Device_CreateCommandList(This, nodeMask, type, pCommandAllocator, pInitialState, riid, ppCommandList) \
5178 ((This)->lpVtbl->CreateCommandList(This, nodeMask, type, pCommandAllocator, pInitialState, riid, ppCommandList))
5179
5180#define ID3D12Device_CheckFeatureSupport(This, Feature, pFeatureSupportData, FeatureSupportDataSize) \
5181 ((This)->lpVtbl->CheckFeatureSupport(This, Feature, pFeatureSupportData, FeatureSupportDataSize))
5182
5183#define ID3D12Device_CreateDescriptorHeap(This, pDescriptorHeapDesc, riid, ppvHeap) \
5184 ((This)->lpVtbl->CreateDescriptorHeap(This, pDescriptorHeapDesc, riid, ppvHeap))
5185
5186#define ID3D12Device_GetDescriptorHandleIncrementSize(This, DescriptorHeapType) \
5187 ((This)->lpVtbl->GetDescriptorHandleIncrementSize(This, DescriptorHeapType))
5188
5189#define ID3D12Device_CreateRootSignature(This, nodeMask, pBlobWithRootSignature, blobLengthInBytes, riid, ppvRootSignature) \
5190 ((This)->lpVtbl->CreateRootSignature(This, nodeMask, pBlobWithRootSignature, blobLengthInBytes, riid, ppvRootSignature))
5191
5192#define ID3D12Device_CreateConstantBufferView(This, pDesc, DestDescriptor) \
5193 ((This)->lpVtbl->CreateConstantBufferView(This, pDesc, DestDescriptor))
5194
5195#define ID3D12Device_CreateShaderResourceView(This, pResource, pDesc, DestDescriptor) \
5196 ((This)->lpVtbl->CreateShaderResourceView(This, pResource, pDesc, DestDescriptor))
5197
5198#define ID3D12Device_CreateUnorderedAccessView(This, pResource, pCounterResource, pDesc, DestDescriptor) \
5199 ((This)->lpVtbl->CreateUnorderedAccessView(This, pResource, pCounterResource, pDesc, DestDescriptor))
5200
5201#define ID3D12Device_CreateRenderTargetView(This, pResource, pDesc, DestDescriptor) \
5202 ((This)->lpVtbl->CreateRenderTargetView(This, pResource, pDesc, DestDescriptor))
5203
5204#define ID3D12Device_CreateDepthStencilView(This, pResource, pDesc, DestDescriptor) \
5205 ((This)->lpVtbl->CreateDepthStencilView(This, pResource, pDesc, DestDescriptor))
5206
5207#define ID3D12Device_CreateSampler(This, pDesc, DestDescriptor) \
5208 ((This)->lpVtbl->CreateSampler(This, pDesc, DestDescriptor))
5209
5210#define ID3D12Device_CopyDescriptors(This, NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType) \
5211 ((This)->lpVtbl->CopyDescriptors(This, NumDestDescriptorRanges, pDestDescriptorRangeStarts, pDestDescriptorRangeSizes, NumSrcDescriptorRanges, pSrcDescriptorRangeStarts, pSrcDescriptorRangeSizes, DescriptorHeapsType))
5212
5213#define ID3D12Device_CopyDescriptorsSimple(This, NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType) \
5214 ((This)->lpVtbl->CopyDescriptorsSimple(This, NumDescriptors, DestDescriptorRangeStart, SrcDescriptorRangeStart, DescriptorHeapsType))
5215
5216#define ID3D12Device_GetResourceAllocationInfo(This, visibleMask, numResourceDescs, pResourceDescs) \
5217 ((This)->lpVtbl->GetResourceAllocationInfo(This, visibleMask, numResourceDescs, pResourceDescs))
5218
5219#define ID3D12Device_GetCustomHeapProperties(This, nodeMask, heapType) \
5220 ((This)->lpVtbl->GetCustomHeapProperties(This, nodeMask, heapType))
5221
5222#define ID3D12Device_CreateCommittedResource(This, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource, ppvResource) \
5223 ((This)->lpVtbl->CreateCommittedResource(This, pHeapProperties, HeapFlags, pDesc, InitialResourceState, pOptimizedClearValue, riidResource, ppvResource))
5224
5225#define ID3D12Device_CreateHeap(This, pDesc, riid, ppvHeap) \
5226 ((This)->lpVtbl->CreateHeap(This, pDesc, riid, ppvHeap))
5227
5228#define ID3D12Device_CreatePlacedResource(This, pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource) \
5229 ((This)->lpVtbl->CreatePlacedResource(This, pHeap, HeapOffset, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource))
5230
5231#define ID3D12Device_CreateReservedResource(This, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource) \
5232 ((This)->lpVtbl->CreateReservedResource(This, pDesc, InitialState, pOptimizedClearValue, riid, ppvResource))
5233
5234#define ID3D12Device_CreateSharedHandle(This, pObject, pAttributes, Access, Name, pHandle) \
5235 ((This)->lpVtbl->CreateSharedHandle(This, pObject, pAttributes, Access, Name, pHandle))
5236
5237#define ID3D12Device_OpenSharedHandle(This, NTHandle, riid, ppvObj) \
5238 ((This)->lpVtbl->OpenSharedHandle(This, NTHandle, riid, ppvObj))
5239
5240#define ID3D12Device_OpenSharedHandleByName(This, Name, Access, pNTHandle) \
5241 ((This)->lpVtbl->OpenSharedHandleByName(This, Name, Access, pNTHandle))
5242
5243#define ID3D12Device_MakeResident(This, NumObjects, ppObjects) \
5244 ((This)->lpVtbl->MakeResident(This, NumObjects, ppObjects))
5245
5246#define ID3D12Device_Evict(This, NumObjects, ppObjects) \
5247 ((This)->lpVtbl->Evict(This, NumObjects, ppObjects))
5248
5249#define ID3D12Device_CreateFence(This, InitialValue, Flags, riid, ppFence) \
5250 ((This)->lpVtbl->CreateFence(This, InitialValue, Flags, riid, ppFence))
5251
5252#define ID3D12Device_GetDeviceRemovedReason(This) \
5253 ((This)->lpVtbl->GetDeviceRemovedReason(This))
5254
5255#define ID3D12Device_GetCopyableFootprints(This, pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes) \
5256 ((This)->lpVtbl->GetCopyableFootprints(This, pResourceDesc, FirstSubresource, NumSubresources, BaseOffset, pLayouts, pNumRows, pRowSizeInBytes, pTotalBytes))
5257
5258#define ID3D12Device_CreateQueryHeap(This, pDesc, riid, ppvHeap) \
5259 ((This)->lpVtbl->CreateQueryHeap(This, pDesc, riid, ppvHeap))
5260
5261#define ID3D12Device_SetStablePowerState(This, Enable) \
5262 ((This)->lpVtbl->SetStablePowerState(This, Enable))
5263
5264#define ID3D12Device_CreateCommandSignature(This, pDesc, pRootSignature, riid, ppvCommandSignature) \
5265 ((This)->lpVtbl->CreateCommandSignature(This, pDesc, pRootSignature, riid, ppvCommandSignature))
5266
5267#define ID3D12Device_GetResourceTiling(This, pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips) \
5268 ((This)->lpVtbl->GetResourceTiling(This, pTiledResource, pNumTilesForEntireResource, pPackedMipDesc, pStandardTileShapeForNonPackedMips, pNumSubresourceTilings, FirstSubresourceTilingToGet, pSubresourceTilingsForNonPackedMips))
5269
5270#define ID3D12Device_GetAdapterLuid(This) \
5271 ((This)->lpVtbl->GetAdapterLuid(This))
5272
5273#endif /* COBJMACROS */
5274
5275#endif /* C style interface */
5276
5277#endif /* __ID3D12Device_INTERFACE_DEFINED__ */
5278
5279#ifndef __ID3D12Fence_INTERFACE_DEFINED__
5280#define __ID3D12Fence_INTERFACE_DEFINED__
5281
5282/* interface ID3D12Fence */
5283/* [unique][local][object][uuid] */
5284
5286
5287#if defined(__cplusplus) && !defined(CINTERFACE)
5288
5289MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
5290ID3D12Fence : public ID3D12Pageable {
5291public:
5292 virtual UINT64 STDMETHODCALLTYPE GetCompletedValue() = 0;
5293
5294 virtual HRESULT STDMETHODCALLTYPE SetEventOnCompletion(
5295 UINT64 Value,
5296 HANDLE hEvent) = 0;
5297
5298 virtual HRESULT STDMETHODCALLTYPE Signal(
5299 UINT64 Value) = 0;
5300};
5301
5302#else /* C style interface */
5303
5304typedef struct ID3D12FenceVtbl {
5306
5307 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5308 (
5310 REFIID riid,
5311 _COM_Outptr_ void **ppvObject);
5312
5313 ULONG(STDMETHODCALLTYPE *AddRef)
5314 (
5316
5317 ULONG(STDMETHODCALLTYPE *Release)
5318 (
5319 ID3D12Fence *This);
5320
5321 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5322 (
5327
5328 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5329 (
5334
5335 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5336 (
5340
5341 HRESULT(STDMETHODCALLTYPE *SetName)
5342 (
5345
5346 HRESULT(STDMETHODCALLTYPE *GetDevice)
5347 (
5351
5352 UINT64(STDMETHODCALLTYPE *GetCompletedValue)
5353 (
5354 ID3D12Fence *This);
5355
5356 HRESULT(STDMETHODCALLTYPE *SetEventOnCompletion)
5357 (
5361
5362 HRESULT(STDMETHODCALLTYPE *Signal)
5363 (
5365 UINT64 Value);
5366
5369
5370interface ID3D12Fence {
5371 CONST_VTBL struct ID3D12FenceVtbl *lpVtbl;
5372};
5373
5374#ifdef COBJMACROS
5375
5376#define ID3D12Fence_QueryInterface(This, riid, ppvObject) \
5377 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5378
5379#define ID3D12Fence_AddRef(This) \
5380 ((This)->lpVtbl->AddRef(This))
5381
5382#define ID3D12Fence_Release(This) \
5383 ((This)->lpVtbl->Release(This))
5384
5385#define ID3D12Fence_GetPrivateData(This, guid, pDataSize, pData) \
5386 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5387
5388#define ID3D12Fence_SetPrivateData(This, guid, DataSize, pData) \
5389 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5390
5391#define ID3D12Fence_SetPrivateDataInterface(This, guid, pData) \
5392 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5393
5394#define ID3D12Fence_SetName(This, Name) \
5395 ((This)->lpVtbl->SetName(This, Name))
5396
5397#define ID3D12Fence_GetDevice(This, riid, ppvDevice) \
5398 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5399
5400#define ID3D12Fence_GetCompletedValue(This) \
5401 ((This)->lpVtbl->GetCompletedValue(This))
5402
5403#define ID3D12Fence_SetEventOnCompletion(This, Value, hEvent) \
5404 ((This)->lpVtbl->SetEventOnCompletion(This, Value, hEvent))
5405
5406#define ID3D12Fence_Signal(This, Value) \
5407 ((This)->lpVtbl->Signal(This, Value))
5408
5409#endif /* COBJMACROS */
5410
5411#endif /* C style interface */
5412
5413#endif /* __ID3D12Fence_INTERFACE_DEFINED__ */
5414
5415#ifndef __ID3D12PipelineState_INTERFACE_DEFINED__
5416#define __ID3D12PipelineState_INTERFACE_DEFINED__
5417
5418/* interface ID3D12PipelineState */
5419/* [unique][local][object][uuid] */
5420
5422
5423#if defined(__cplusplus) && !defined(CINTERFACE)
5424
5425MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
5427public:
5428 virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
5429 _COM_Outptr_ ID3DBlob * *ppBlob) = 0;
5430};
5431
5432#else /* C style interface */
5433
5436
5437 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5438 (
5440 REFIID riid,
5441 _COM_Outptr_ void **ppvObject);
5442
5443 ULONG(STDMETHODCALLTYPE *AddRef)
5444 (
5446
5447 ULONG(STDMETHODCALLTYPE *Release)
5448 (
5450
5451 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5452 (
5457
5458 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5459 (
5464
5465 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5466 (
5470
5471 HRESULT(STDMETHODCALLTYPE *SetName)
5472 (
5475
5476 HRESULT(STDMETHODCALLTYPE *GetDevice)
5477 (
5481
5482 HRESULT(STDMETHODCALLTYPE *GetCachedBlob)
5483 (
5486
5489
5490interface ID3D12PipelineState {
5491 CONST_VTBL struct ID3D12PipelineStateVtbl *lpVtbl;
5492};
5493
5494#ifdef COBJMACROS
5495
5496#define ID3D12PipelineState_QueryInterface(This, riid, ppvObject) \
5497 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5498
5499#define ID3D12PipelineState_AddRef(This) \
5500 ((This)->lpVtbl->AddRef(This))
5501
5502#define ID3D12PipelineState_Release(This) \
5503 ((This)->lpVtbl->Release(This))
5504
5505#define ID3D12PipelineState_GetPrivateData(This, guid, pDataSize, pData) \
5506 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5507
5508#define ID3D12PipelineState_SetPrivateData(This, guid, DataSize, pData) \
5509 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5510
5511#define ID3D12PipelineState_SetPrivateDataInterface(This, guid, pData) \
5512 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5513
5514#define ID3D12PipelineState_SetName(This, Name) \
5515 ((This)->lpVtbl->SetName(This, Name))
5516
5517#define ID3D12PipelineState_GetDevice(This, riid, ppvDevice) \
5518 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5519
5520#define ID3D12PipelineState_GetCachedBlob(This, ppBlob) \
5521 ((This)->lpVtbl->GetCachedBlob(This, ppBlob))
5522
5523#endif /* COBJMACROS */
5524
5525#endif /* C style interface */
5526
5527#endif /* __ID3D12PipelineState_INTERFACE_DEFINED__ */
5528
5529#ifndef __ID3D12DescriptorHeap_INTERFACE_DEFINED__
5530#define __ID3D12DescriptorHeap_INTERFACE_DEFINED__
5531
5532/* interface ID3D12DescriptorHeap */
5533/* [unique][local][object][uuid] */
5534
5536
5537#if defined(__cplusplus) && !defined(CINTERFACE)
5538
5539MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
5541public:
5542 virtual D3D12_DESCRIPTOR_HEAP_DESC STDMETHODCALLTYPE GetDesc() = 0;
5543
5544 virtual D3D12_CPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetCPUDescriptorHandleForHeapStart() = 0;
5545
5546 virtual D3D12_GPU_DESCRIPTOR_HANDLE STDMETHODCALLTYPE GetGPUDescriptorHandleForHeapStart() = 0;
5547};
5548
5549#else /* C style interface */
5550
5553
5554 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5555 (
5557 REFIID riid,
5558 _COM_Outptr_ void **ppvObject);
5559
5560 ULONG(STDMETHODCALLTYPE *AddRef)
5561 (
5563
5564 ULONG(STDMETHODCALLTYPE *Release)
5565 (
5567
5568 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5569 (
5574
5575 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5576 (
5581
5582 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5583 (
5587
5588 HRESULT(STDMETHODCALLTYPE *SetName)
5589 (
5592
5593 HRESULT(STDMETHODCALLTYPE *GetDevice)
5594 (
5598
5600 (
5602
5603 D3D12_CPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart)
5604 (
5606
5607 D3D12_GPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart)
5608 (
5610
5613
5614interface ID3D12DescriptorHeap {
5615 CONST_VTBL struct ID3D12DescriptorHeapVtbl *lpVtbl;
5616};
5617
5618#ifdef COBJMACROS
5619
5620#define ID3D12DescriptorHeap_QueryInterface(This, riid, ppvObject) \
5621 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5622
5623#define ID3D12DescriptorHeap_AddRef(This) \
5624 ((This)->lpVtbl->AddRef(This))
5625
5626#define ID3D12DescriptorHeap_Release(This) \
5627 ((This)->lpVtbl->Release(This))
5628
5629#define ID3D12DescriptorHeap_GetPrivateData(This, guid, pDataSize, pData) \
5630 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5631
5632#define ID3D12DescriptorHeap_SetPrivateData(This, guid, DataSize, pData) \
5633 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5634
5635#define ID3D12DescriptorHeap_SetPrivateDataInterface(This, guid, pData) \
5636 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5637
5638#define ID3D12DescriptorHeap_SetName(This, Name) \
5639 ((This)->lpVtbl->SetName(This, Name))
5640
5641#define ID3D12DescriptorHeap_GetDevice(This, riid, ppvDevice) \
5642 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5643
5644#define ID3D12DescriptorHeap_GetDesc(This) \
5645 ((This)->lpVtbl->GetDesc(This))
5646
5647#define ID3D12DescriptorHeap_GetCPUDescriptorHandleForHeapStart(This) \
5648 ((This)->lpVtbl->GetCPUDescriptorHandleForHeapStart(This))
5649
5650#define ID3D12DescriptorHeap_GetGPUDescriptorHandleForHeapStart(This) \
5651 ((This)->lpVtbl->GetGPUDescriptorHandleForHeapStart(This))
5652
5653#endif /* COBJMACROS */
5654
5655#endif /* C style interface */
5656
5657#endif /* __ID3D12DescriptorHeap_INTERFACE_DEFINED__ */
5658
5659#ifndef __ID3D12QueryHeap_INTERFACE_DEFINED__
5660#define __ID3D12QueryHeap_INTERFACE_DEFINED__
5661
5662/* interface ID3D12QueryHeap */
5663/* [unique][local][object][uuid] */
5664
5666
5667#if defined(__cplusplus) && !defined(CINTERFACE)
5668
5669MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
5671 public :
5672};
5673
5674#else /* C style interface */
5675
5676typedef struct ID3D12QueryHeapVtbl {
5678
5679 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5680 (
5682 REFIID riid,
5683 _COM_Outptr_ void **ppvObject);
5684
5685 ULONG(STDMETHODCALLTYPE *AddRef)
5686 (
5688
5689 ULONG(STDMETHODCALLTYPE *Release)
5690 (
5692
5693 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5694 (
5699
5700 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5701 (
5706
5707 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5708 (
5712
5713 HRESULT(STDMETHODCALLTYPE *SetName)
5714 (
5717
5718 HRESULT(STDMETHODCALLTYPE *GetDevice)
5719 (
5723
5726
5727interface ID3D12QueryHeap {
5728 CONST_VTBL struct ID3D12QueryHeapVtbl *lpVtbl;
5729};
5730
5731#ifdef COBJMACROS
5732
5733#define ID3D12QueryHeap_QueryInterface(This, riid, ppvObject) \
5734 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5735
5736#define ID3D12QueryHeap_AddRef(This) \
5737 ((This)->lpVtbl->AddRef(This))
5738
5739#define ID3D12QueryHeap_Release(This) \
5740 ((This)->lpVtbl->Release(This))
5741
5742#define ID3D12QueryHeap_GetPrivateData(This, guid, pDataSize, pData) \
5743 ((This)->lpVtbl->GetPrivateData(This, guid, pDataSize, pData))
5744
5745#define ID3D12QueryHeap_SetPrivateData(This, guid, DataSize, pData) \
5746 ((This)->lpVtbl->SetPrivateData(This, guid, DataSize, pData))
5747
5748#define ID3D12QueryHeap_SetPrivateDataInterface(This, guid, pData) \
5749 ((This)->lpVtbl->SetPrivateDataInterface(This, guid, pData))
5750
5751#define ID3D12QueryHeap_SetName(This, Name) \
5752 ((This)->lpVtbl->SetName(This, Name))
5753
5754#define ID3D12QueryHeap_GetDevice(This, riid, ppvDevice) \
5755 ((This)->lpVtbl->GetDevice(This, riid, ppvDevice))
5756
5757#endif /* COBJMACROS */
5758
5759#endif /* C style interface */
5760
5761#endif /* __ID3D12QueryHeap_INTERFACE_DEFINED__ */
5762
5765 _In_ REFIID, _COM_Outptr_opt_ void **);
5766
5768 _In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature,
5770 _Out_ ID3DBlob **ppBlob,
5771 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob);
5772
5774
5775DEFINE_GUID(IID_ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8);
5776DEFINE_GUID(IID_ID3D12DeviceChild, 0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57);
5777DEFINE_GUID(IID_ID3D12RootSignature, 0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14);
5778DEFINE_GUID(IID_ID3D12RootSignatureDeserializer, 0x34AB647B, 0x3CC8, 0x46AC, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46);
5779DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer, 0x7F91CE67, 0x090C, 0x4BB7, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0);
5780DEFINE_GUID(IID_ID3D12Pageable, 0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6);
5781DEFINE_GUID(IID_ID3D12Heap, 0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3);
5782DEFINE_GUID(IID_ID3D12Resource, 0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad);
5783DEFINE_GUID(IID_ID3D12CommandAllocator, 0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24);
5784DEFINE_GUID(IID_ID3D12Fence, 0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76);
5785DEFINE_GUID(IID_ID3D12PipelineState, 0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45);
5786DEFINE_GUID(IID_ID3D12DescriptorHeap, 0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51);
5787DEFINE_GUID(IID_ID3D12QueryHeap, 0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4);
5788DEFINE_GUID(IID_ID3D12CommandSignature, 0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1);
5789DEFINE_GUID(IID_ID3D12CommandList, 0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5);
5790DEFINE_GUID(IID_ID3D12GraphicsCommandList, 0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55);
5791DEFINE_GUID(IID_ID3D12GraphicsCommandList1, 0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7);
5792DEFINE_GUID(IID_ID3D12CommandQueue, 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed);
5793DEFINE_GUID(IID_ID3D12Device, 0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7);
5794DEFINE_GUID(IID_ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f);
5795DEFINE_GUID(IID_ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3);
5796DEFINE_GUID(IID_ID3D12Device1, 0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e);
5797DEFINE_GUID(IID_ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28);
5798DEFINE_GUID(IID_ID3D12Tools, 0x7071e1f0, 0xe84b, 0x4b33, 0x97, 0x4f, 0x12, 0xfa, 0x49, 0xde, 0x65, 0xc5);
5799
5800#ifdef __cplusplus
5801}
5802#endif
5803
5804/* d3d12sdklayers.h */
5805#ifndef __ID3D12Debug_FWD_DEFINED__
5806#define __ID3D12Debug_FWD_DEFINED__
5807typedef interface ID3D12Debug ID3D12Debug;
5808
5809#endif /* __ID3D12Debug_FWD_DEFINED__ */
5810
5811#ifdef __cplusplus
5812extern "C" {
5813#endif
5814
5815#ifndef __ID3D12Debug_INTERFACE_DEFINED__
5816#define __ID3D12Debug_INTERFACE_DEFINED__
5817
5818/* interface ID3D12Debug */
5819/* [unique][local][object][uuid] */
5820
5822
5823#if defined(__cplusplus) && !defined(CINTERFACE)
5824
5825MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
5826ID3D12Debug : public IUnknown {
5827public:
5828 virtual void STDMETHODCALLTYPE EnableDebugLayer() = 0;
5829};
5830
5831#else /* C style interface */
5832
5833typedef struct ID3D12DebugVtbl {
5835
5836 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5837 (
5839 REFIID riid,
5840 _COM_Outptr_ void **ppvObject);
5841
5842 ULONG(STDMETHODCALLTYPE *AddRef)
5843 (
5845
5846 ULONG(STDMETHODCALLTYPE *Release)
5847 (
5848 ID3D12Debug *This);
5849
5850 void(STDMETHODCALLTYPE *EnableDebugLayer)(
5851 ID3D12Debug *This);
5852
5855
5856interface ID3D12Debug {
5857 CONST_VTBL struct ID3D12DebugVtbl *lpVtbl;
5858};
5859
5860#ifdef COBJMACROS
5861
5862#define ID3D12Debug_QueryInterface(This, riid, ppvObject) \
5863 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
5864
5865#define ID3D12Debug_AddRef(This) \
5866 ((This)->lpVtbl->AddRef(This))
5867
5868#define ID3D12Debug_Release(This) \
5869 ((This)->lpVtbl->Release(This))
5870
5871#define ID3D12Debug_EnableDebugLayer(This) \
5872 ((This)->lpVtbl->EnableDebugLayer(This))
5873
5874#endif /* COBJMACROS */
5875
5876#endif /* C style interface */
5877
5878#endif /* __ID3D12Debug_INTERFACE_DEFINED__ */
5879
5880DEFINE_GUID(IID_ID3D12Debug, 0x344488b7, 0x6846, 0x474b, 0xb9, 0x89, 0xf0, 0x27, 0x44, 0x82, 0x45, 0xe0);
5881
5882#ifdef __cplusplus
5883}
5884#endif
5885
5886/* dxgi.h */
5887#ifndef __IDXGIObject_FWD_DEFINED__
5888#define __IDXGIObject_FWD_DEFINED__
5889typedef interface IDXGIObject IDXGIObject;
5890
5891#endif /* __IDXGIObject_FWD_DEFINED__ */
5892
5893#ifndef __IDXGIAdapter_FWD_DEFINED__
5894#define __IDXGIAdapter_FWD_DEFINED__
5895typedef interface IDXGIAdapter IDXGIAdapter;
5896
5897#endif /* __IDXGIAdapter_FWD_DEFINED__ */
5898
5899#ifndef __IDXGIOutput_FWD_DEFINED__
5900#define __IDXGIOutput_FWD_DEFINED__
5901typedef interface IDXGIOutput IDXGIOutput;
5902
5903#endif /* __IDXGIOutput_FWD_DEFINED__ */
5904
5905#ifndef __IDXGISwapChain_FWD_DEFINED__
5906#define __IDXGISwapChain_FWD_DEFINED__
5908
5909#endif /* __IDXGISwapChain_FWD_DEFINED__ */
5910
5911#ifndef __IDXGIFactory_FWD_DEFINED__
5912#define __IDXGIFactory_FWD_DEFINED__
5913typedef interface IDXGIFactory IDXGIFactory;
5914
5915#endif /* __IDXGIFactory_FWD_DEFINED__ */
5916
5917#ifndef __IDXGIFactory1_FWD_DEFINED__
5918#define __IDXGIFactory1_FWD_DEFINED__
5920
5921#endif /* __IDXGIFactory1_FWD_DEFINED__ */
5922
5923#ifndef __IDXGIAdapter1_FWD_DEFINED__
5924#define __IDXGIAdapter1_FWD_DEFINED__
5926
5927#endif /* __IDXGIAdapter1_FWD_DEFINED__ */
5928
5929typedef struct DXGI_ADAPTER_DESC {
5940
5941typedef enum DXGI_ADAPTER_FLAG {
5947
5948typedef struct DXGI_ADAPTER_DESC1 {
5960
5962
5963#ifndef __IDXGIObject_INTERFACE_DEFINED__
5964#define __IDXGIObject_INTERFACE_DEFINED__
5965
5966/* interface IDXGIObject */
5967/* [unique][local][uuid][object] */
5968
5970
5971#if defined(__cplusplus) && !defined(CINTERFACE)
5972
5973MIDL_INTERFACE("aec22fb8-76f3-4639-9be0-28eb43a67a2e")
5974IDXGIObject : public IUnknown {
5975public:
5976 virtual HRESULT STDMETHODCALLTYPE SetPrivateData(
5977 /* [annotation][in] */
5978 _In_ REFGUID Name,
5979 /* [in] */ UINT DataSize,
5980 /* [annotation][in] */
5981 _In_reads_bytes_(DataSize) const void *pData) = 0;
5982
5983 virtual HRESULT STDMETHODCALLTYPE SetPrivateDataInterface(
5984 /* [annotation][in] */
5985 _In_ REFGUID Name,
5986 /* [annotation][in] */
5987 _In_opt_ const IUnknown *pUnknown) = 0;
5988
5989 virtual HRESULT STDMETHODCALLTYPE GetPrivateData(
5990 /* [annotation][in] */
5991 _In_ REFGUID Name,
5992 /* [annotation][out][in] */
5993 _Inout_ UINT * pDataSize,
5994 /* [annotation][out] */
5995 _Out_writes_bytes_(*pDataSize) void *pData) = 0;
5996
5997 virtual HRESULT STDMETHODCALLTYPE GetParent(
5998 /* [annotation][in] */
5999 _In_ REFIID riid,
6000 /* [annotation][retval][out] */
6001 _COM_Outptr_ void **ppParent) = 0;
6002};
6003
6004#else /* C style interface */
6005
6006typedef struct IDXGIObjectVtbl {
6008
6009 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6010 (
6012 /* [in] */ REFIID riid,
6013 /* [annotation][iid_is][out] */
6014 _COM_Outptr_ void **ppvObject);
6015
6016 ULONG(STDMETHODCALLTYPE *AddRef)
6017 (
6019
6020 ULONG(STDMETHODCALLTYPE *Release)
6021 (
6022 IDXGIObject *This);
6023
6024 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6025 (
6027 /* [annotation][in] */
6029 /* [in] */ UINT DataSize,
6030 /* [annotation][in] */
6032
6033 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6034 (
6036 /* [annotation][in] */
6038 /* [annotation][in] */
6040
6041 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6042 (
6044 /* [annotation][in] */
6046 /* [annotation][out][in] */
6048 /* [annotation][out] */
6050
6051 HRESULT(STDMETHODCALLTYPE *GetParent)
6052 (
6054 /* [annotation][in] */
6056 /* [annotation][retval][out] */
6058
6061
6062interface IDXGIObject {
6063 CONST_VTBL struct IDXGIObjectVtbl *lpVtbl;
6064};
6065
6066#ifdef COBJMACROS
6067
6068#define IDXGIObject_QueryInterface(This, riid, ppvObject) \
6069 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6070
6071#define IDXGIObject_AddRef(This) \
6072 ((This)->lpVtbl->AddRef(This))
6073
6074#define IDXGIObject_Release(This) \
6075 ((This)->lpVtbl->Release(This))
6076
6077#define IDXGIObject_SetPrivateData(This, Name, DataSize, pData) \
6078 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6079
6080#define IDXGIObject_SetPrivateDataInterface(This, Name, pUnknown) \
6081 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6082
6083#define IDXGIObject_GetPrivateData(This, Name, pDataSize, pData) \
6084 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6085
6086#define IDXGIObject_GetParent(This, riid, ppParent) \
6087 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6088
6089#endif /* COBJMACROS */
6090
6091#endif /* C style interface */
6092
6093#endif /* __IDXGIObject_INTERFACE_DEFINED__ */
6094
6095#ifndef __IDXGIFactory_INTERFACE_DEFINED__
6096#define __IDXGIFactory_INTERFACE_DEFINED__
6097
6098/* interface IDXGIFactory */
6099/* [unique][local][uuid][object] */
6100
6102
6103#if defined(__cplusplus) && !defined(CINTERFACE)
6104
6105MIDL_INTERFACE("7b7166ec-21c7-44ae-b21a-c9ae321ae369")
6106IDXGIFactory : public IDXGIObject {
6107public:
6108 virtual HRESULT STDMETHODCALLTYPE EnumAdapters(
6109 /* [in] */ UINT Adapter,
6110 /* [annotation][out] */
6111 _COM_Outptr_ IDXGIAdapter * *ppAdapter) = 0;
6112
6113 virtual HRESULT STDMETHODCALLTYPE MakeWindowAssociation(
6114 HWND WindowHandle,
6115 UINT Flags) = 0;
6116
6117 virtual HRESULT STDMETHODCALLTYPE GetWindowAssociation(
6118 /* [annotation][out] */
6119 _Out_ HWND * pWindowHandle) = 0;
6120
6121 virtual HRESULT STDMETHODCALLTYPE CreateSwapChain(
6122 /* [annotation][in] */
6123 _In_ IUnknown * pDevice,
6124 /* [annotation][in] */
6125 _In_ DXGI_SWAP_CHAIN_DESC * pDesc,
6126 /* [annotation][out] */
6127 _COM_Outptr_ IDXGISwapChain * *ppSwapChain) = 0;
6128
6129 virtual HRESULT STDMETHODCALLTYPE CreateSoftwareAdapter(
6130 /* [in] */ HMODULE Module,
6131 /* [annotation][out] */
6132 _COM_Outptr_ IDXGIAdapter * *ppAdapter) = 0;
6133};
6134
6135#else /* C style interface */
6136
6137typedef struct IDXGIFactoryVtbl {
6139
6140 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6141 (
6143 /* [in] */ REFIID riid,
6144 /* [annotation][iid_is][out] */
6145 _COM_Outptr_ void **ppvObject);
6146
6147 ULONG(STDMETHODCALLTYPE *AddRef)
6148 (
6150
6151 ULONG(STDMETHODCALLTYPE *Release)
6152 (
6154
6155 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6156 (
6158 /* [annotation][in] */
6160 /* [in] */ UINT DataSize,
6161 /* [annotation][in] */
6163
6164 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6165 (
6167 /* [annotation][in] */
6169 /* [annotation][in] */
6171
6172 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6173 (
6175 /* [annotation][in] */
6177 /* [annotation][out][in] */
6179 /* [annotation][out] */
6181
6182 HRESULT(STDMETHODCALLTYPE *GetParent)
6183 (
6185 /* [annotation][in] */
6187 /* [annotation][retval][out] */
6189
6190 HRESULT(STDMETHODCALLTYPE *EnumAdapters)
6191 (
6193 /* [in] */ UINT Adapter,
6194 /* [annotation][out] */
6196
6197 HRESULT(STDMETHODCALLTYPE *MakeWindowAssociation)
6198 (
6202
6203 HRESULT(STDMETHODCALLTYPE *GetWindowAssociation)
6204 (
6206 /* [annotation][out] */
6208
6209 HRESULT(STDMETHODCALLTYPE *CreateSwapChain)
6210 (
6212 /* [annotation][in] */
6214 /* [annotation][in] */
6216 /* [annotation][out] */
6218
6219 HRESULT(STDMETHODCALLTYPE *CreateSoftwareAdapter)
6220 (
6222 /* [in] */ HMODULE Module,
6223 /* [annotation][out] */
6225
6228
6229interface IDXGIFactory {
6230 CONST_VTBL struct IDXGIFactoryVtbl *lpVtbl;
6231};
6232
6233#ifdef COBJMACROS
6234
6235#define IDXGIFactory_QueryInterface(This, riid, ppvObject) \
6236 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6237
6238#define IDXGIFactory_AddRef(This) \
6239 ((This)->lpVtbl->AddRef(This))
6240
6241#define IDXGIFactory_Release(This) \
6242 ((This)->lpVtbl->Release(This))
6243
6244#define IDXGIFactory_SetPrivateData(This, Name, DataSize, pData) \
6245 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6246
6247#define IDXGIFactory_SetPrivateDataInterface(This, Name, pUnknown) \
6248 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6249
6250#define IDXGIFactory_GetPrivateData(This, Name, pDataSize, pData) \
6251 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6252
6253#define IDXGIFactory_GetParent(This, riid, ppParent) \
6254 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6255
6256#define IDXGIFactory_EnumAdapters(This, Adapter, ppAdapter) \
6257 ((This)->lpVtbl->EnumAdapters(This, Adapter, ppAdapter))
6258
6259#define IDXGIFactory_MakeWindowAssociation(This, WindowHandle, Flags) \
6260 ((This)->lpVtbl->MakeWindowAssociation(This, WindowHandle, Flags))
6261
6262#define IDXGIFactory_GetWindowAssociation(This, pWindowHandle) \
6263 ((This)->lpVtbl->GetWindowAssociation(This, pWindowHandle))
6264
6265#define IDXGIFactory_CreateSwapChain(This, pDevice, pDesc, ppSwapChain) \
6266 ((This)->lpVtbl->CreateSwapChain(This, pDevice, pDesc, ppSwapChain))
6267
6268#define IDXGIFactory_CreateSoftwareAdapter(This, Module, ppAdapter) \
6269 ((This)->lpVtbl->CreateSoftwareAdapter(This, Module, ppAdapter))
6270
6271#endif /* COBJMACROS */
6272
6273#endif /* C style interface */
6274
6275#endif /* __IDXGIFactory_INTERFACE_DEFINED__ */
6276
6277struct DXGI_ADAPTER_DESC;
6278
6279#ifndef __IDXGIAdapter_INTERFACE_DEFINED__
6280#define __IDXGIAdapter_INTERFACE_DEFINED__
6281
6282/* interface IDXGIAdapter */
6283/* [unique][local][uuid][object] */
6284
6286
6287#if defined(__cplusplus) && !defined(CINTERFACE)
6288
6289MIDL_INTERFACE("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")
6290IDXGIAdapter : public IDXGIObject {
6291public:
6292 virtual HRESULT STDMETHODCALLTYPE EnumOutputs(
6293 /* [in] */ UINT Output,
6294 /* [annotation][out][in] */
6295 _COM_Outptr_ IDXGIOutput * *ppOutput) = 0;
6296
6297 virtual HRESULT STDMETHODCALLTYPE GetDesc(
6298 /* [annotation][out] */
6299 _Out_ DXGI_ADAPTER_DESC * pDesc) = 0;
6300
6301 virtual HRESULT STDMETHODCALLTYPE CheckInterfaceSupport(
6302 /* [annotation][in] */
6303 _In_ REFGUID InterfaceName,
6304 /* [annotation][out] */
6305 _Out_ LARGE_INTEGER * pUMDVersion) = 0;
6306};
6307
6308#else /* C style interface */
6309
6310typedef struct IDXGIAdapterVtbl {
6312
6313 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6314 (
6316 /* [in] */ REFIID riid,
6317 /* [annotation][iid_is][out] */
6318 _COM_Outptr_ void **ppvObject);
6319
6320 ULONG(STDMETHODCALLTYPE *AddRef)
6321 (
6323
6324 ULONG(STDMETHODCALLTYPE *Release)
6325 (
6327
6328 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6329 (
6331 /* [annotation][in] */
6333 /* [in] */ UINT DataSize,
6334 /* [annotation][in] */
6336
6337 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6338 (
6340 /* [annotation][in] */
6342 /* [annotation][in] */
6344
6345 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6346 (
6348 /* [annotation][in] */
6350 /* [annotation][out][in] */
6352 /* [annotation][out] */
6354
6355 HRESULT(STDMETHODCALLTYPE *GetParent)
6356 (
6358 /* [annotation][in] */
6360 /* [annotation][retval][out] */
6362
6363 HRESULT(STDMETHODCALLTYPE *EnumOutputs)
6364 (
6366 /* [in] */ UINT Output,
6367 /* [annotation][out][in] */
6369
6370 HRESULT(STDMETHODCALLTYPE *GetDesc)
6371 (
6373 /* [annotation][out] */
6375
6376 HRESULT(STDMETHODCALLTYPE *CheckInterfaceSupport)
6377 (
6379 /* [annotation][in] */
6381 /* [annotation][out] */
6383
6386
6387interface IDXGIAdapter {
6388 CONST_VTBL struct IDXGIAdapterVtbl *lpVtbl;
6389};
6390
6391#ifdef COBJMACROS
6392
6393#define IDXGIAdapter_QueryInterface(This, riid, ppvObject) \
6394 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6395
6396#define IDXGIAdapter_AddRef(This) \
6397 ((This)->lpVtbl->AddRef(This))
6398
6399#define IDXGIAdapter_Release(This) \
6400 ((This)->lpVtbl->Release(This))
6401
6402#define IDXGIAdapter_SetPrivateData(This, Name, DataSize, pData) \
6403 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6404
6405#define IDXGIAdapter_SetPrivateDataInterface(This, Name, pUnknown) \
6406 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6407
6408#define IDXGIAdapter_GetPrivateData(This, Name, pDataSize, pData) \
6409 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6410
6411#define IDXGIAdapter_GetParent(This, riid, ppParent) \
6412 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6413
6414#define IDXGIAdapter_EnumOutputs(This, Output, ppOutput) \
6415 ((This)->lpVtbl->EnumOutputs(This, Output, ppOutput))
6416
6417#define IDXGIAdapter_GetDesc(This, pDesc) \
6418 ((This)->lpVtbl->GetDesc(This, pDesc))
6419
6420#define IDXGIAdapter_CheckInterfaceSupport(This, InterfaceName, pUMDVersion) \
6421 ((This)->lpVtbl->CheckInterfaceSupport(This, InterfaceName, pUMDVersion))
6422
6423#endif /* COBJMACROS */
6424
6425#endif /* C style interface */
6426
6427#endif /* __IDXGIAdapter_INTERFACE_DEFINED__ */
6428
6429#ifndef __IDXGIFactory1_INTERFACE_DEFINED__
6430#define __IDXGIFactory1_INTERFACE_DEFINED__
6431
6432/* interface IDXGIFactory1 */
6433/* [unique][local][uuid][object] */
6434
6436
6437#if defined(__cplusplus) && !defined(CINTERFACE)
6438
6439MIDL_INTERFACE("770aae78-f26f-4dba-a829-253c83d1b387")
6440IDXGIFactory1 : public IDXGIFactory {
6441public:
6442 virtual HRESULT STDMETHODCALLTYPE EnumAdapters1(
6443 /* [in] */ UINT Adapter,
6444 /* [annotation][out] */
6445 _COM_Outptr_ IDXGIAdapter1 * *ppAdapter) = 0;
6446
6447 virtual BOOL STDMETHODCALLTYPE IsCurrent() = 0;
6448};
6449
6450#else /* C style interface */
6451
6452typedef struct IDXGIFactory1Vtbl {
6454
6455 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6456 (
6458 /* [in] */ REFIID riid,
6459 /* [annotation][iid_is][out] */
6460 _COM_Outptr_ void **ppvObject);
6461
6462 ULONG(STDMETHODCALLTYPE *AddRef)
6463 (
6465
6466 ULONG(STDMETHODCALLTYPE *Release)
6467 (
6469
6470 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6471 (
6473 /* [annotation][in] */
6475 /* [in] */ UINT DataSize,
6476 /* [annotation][in] */
6478
6479 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6480 (
6482 /* [annotation][in] */
6484 /* [annotation][in] */
6486
6487 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6488 (
6490 /* [annotation][in] */
6492 /* [annotation][out][in] */
6494 /* [annotation][out] */
6496
6497 HRESULT(STDMETHODCALLTYPE *GetParent)
6498 (
6500 /* [annotation][in] */
6502 /* [annotation][retval][out] */
6504
6505 HRESULT(STDMETHODCALLTYPE *EnumAdapters)
6506 (
6508 /* [in] */ UINT Adapter,
6509 /* [annotation][out] */
6511
6512 HRESULT(STDMETHODCALLTYPE *MakeWindowAssociation)
6513 (
6517
6518 HRESULT(STDMETHODCALLTYPE *GetWindowAssociation)
6519 (
6521 /* [annotation][out] */
6523
6524 HRESULT(STDMETHODCALLTYPE *CreateSwapChain)
6525 (
6527 /* [annotation][in] */
6529 /* [annotation][in] */
6531 /* [annotation][out] */
6533
6534 HRESULT(STDMETHODCALLTYPE *CreateSoftwareAdapter)
6535 (
6537 /* [in] */ HMODULE Module,
6538 /* [annotation][out] */
6540
6541 HRESULT(STDMETHODCALLTYPE *EnumAdapters1)
6542 (
6544 /* [in] */ UINT Adapter,
6545 /* [annotation][out] */
6547
6548 BOOL(STDMETHODCALLTYPE *IsCurrent)
6549 (
6551
6554
6555interface IDXGIFactory1 {
6556 CONST_VTBL struct IDXGIFactory1Vtbl *lpVtbl;
6557};
6558
6559#ifdef COBJMACROS
6560
6561#define IDXGIFactory1_QueryInterface(This, riid, ppvObject) \
6562 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6563
6564#define IDXGIFactory1_AddRef(This) \
6565 ((This)->lpVtbl->AddRef(This))
6566
6567#define IDXGIFactory1_Release(This) \
6568 ((This)->lpVtbl->Release(This))
6569
6570#define IDXGIFactory1_SetPrivateData(This, Name, DataSize, pData) \
6571 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6572
6573#define IDXGIFactory1_SetPrivateDataInterface(This, Name, pUnknown) \
6574 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6575
6576#define IDXGIFactory1_GetPrivateData(This, Name, pDataSize, pData) \
6577 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6578
6579#define IDXGIFactory1_GetParent(This, riid, ppParent) \
6580 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6581
6582#define IDXGIFactory1_EnumAdapters(This, Adapter, ppAdapter) \
6583 ((This)->lpVtbl->EnumAdapters(This, Adapter, ppAdapter))
6584
6585#define IDXGIFactory1_MakeWindowAssociation(This, WindowHandle, Flags) \
6586 ((This)->lpVtbl->MakeWindowAssociation(This, WindowHandle, Flags))
6587
6588#define IDXGIFactory1_GetWindowAssociation(This, pWindowHandle) \
6589 ((This)->lpVtbl->GetWindowAssociation(This, pWindowHandle))
6590
6591#define IDXGIFactory1_CreateSwapChain(This, pDevice, pDesc, ppSwapChain) \
6592 ((This)->lpVtbl->CreateSwapChain(This, pDevice, pDesc, ppSwapChain))
6593
6594#define IDXGIFactory1_CreateSoftwareAdapter(This, Module, ppAdapter) \
6595 ((This)->lpVtbl->CreateSoftwareAdapter(This, Module, ppAdapter))
6596
6597#define IDXGIFactory1_EnumAdapters1(This, Adapter, ppAdapter) \
6598 ((This)->lpVtbl->EnumAdapters1(This, Adapter, ppAdapter))
6599
6600#define IDXGIFactory1_IsCurrent(This) \
6601 ((This)->lpVtbl->IsCurrent(This))
6602
6603#endif /* COBJMACROS */
6604
6605#endif /* C style interface */
6606
6607#endif /* __IDXGIFactory1_INTERFACE_DEFINED__ */
6608
6609#ifndef __IDXGIAdapter1_INTERFACE_DEFINED__
6610#define __IDXGIAdapter1_INTERFACE_DEFINED__
6611
6612/* interface IDXGIAdapter1 */
6613/* [unique][local][uuid][object] */
6614
6616
6617#if defined(__cplusplus) && !defined(CINTERFACE)
6618
6619MIDL_INTERFACE("29038f61-3839-4626-91fd-086879011a05")
6620IDXGIAdapter1 : public IDXGIAdapter {
6621public:
6622 virtual HRESULT STDMETHODCALLTYPE GetDesc1(
6623 /* [annotation][out] */
6625};
6626
6627#else /* C style interface */
6628
6629typedef struct IDXGIAdapter1Vtbl {
6631
6632 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6633 (
6635 /* [in] */ REFIID riid,
6636 /* [annotation][iid_is][out] */
6637 _COM_Outptr_ void **ppvObject);
6638
6639 ULONG(STDMETHODCALLTYPE *AddRef)
6640 (
6642
6643 ULONG(STDMETHODCALLTYPE *Release)
6644 (
6646
6647 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6648 (
6650 /* [annotation][in] */
6652 /* [in] */ UINT DataSize,
6653 /* [annotation][in] */
6655
6656 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6657 (
6659 /* [annotation][in] */
6661 /* [annotation][in] */
6663
6664 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6665 (
6667 /* [annotation][in] */
6669 /* [annotation][out][in] */
6671 /* [annotation][out] */
6673
6674 HRESULT(STDMETHODCALLTYPE *GetParent)
6675 (
6677 /* [annotation][in] */
6679 /* [annotation][retval][out] */
6681
6682 HRESULT(STDMETHODCALLTYPE *EnumOutputs)
6683 (
6685 /* [in] */ UINT Output,
6686 /* [annotation][out][in] */
6688
6689 HRESULT(STDMETHODCALLTYPE *GetDesc)
6690 (
6692 /* [annotation][out] */
6694
6695 HRESULT(STDMETHODCALLTYPE *CheckInterfaceSupport)
6696 (
6698 /* [annotation][in] */
6700 /* [annotation][out] */
6702
6703 HRESULT(STDMETHODCALLTYPE *GetDesc1)
6704 (
6706 /* [annotation][out] */
6708
6711
6712interface IDXGIAdapter1 {
6713 CONST_VTBL struct IDXGIAdapter1Vtbl *lpVtbl;
6714};
6715
6716#ifdef COBJMACROS
6717
6718#define IDXGIAdapter1_QueryInterface(This, riid, ppvObject) \
6719 ((This)->lpVtbl->QueryInterface(This, riid, ppvObject))
6720
6721#define IDXGIAdapter1_AddRef(This) \
6722 ((This)->lpVtbl->AddRef(This))
6723
6724#define IDXGIAdapter1_Release(This) \
6725 ((This)->lpVtbl->Release(This))
6726
6727#define IDXGIAdapter1_SetPrivateData(This, Name, DataSize, pData) \
6728 ((This)->lpVtbl->SetPrivateData(This, Name, DataSize, pData))
6729
6730#define IDXGIAdapter1_SetPrivateDataInterface(This, Name, pUnknown) \
6731 ((This)->lpVtbl->SetPrivateDataInterface(This, Name, pUnknown))
6732
6733#define IDXGIAdapter1_GetPrivateData(This, Name, pDataSize, pData) \
6734 ((This)->lpVtbl->GetPrivateData(This, Name, pDataSize, pData))
6735
6736#define IDXGIAdapter1_GetParent(This, riid, ppParent) \
6737 ((This)->lpVtbl->GetParent(This, riid, ppParent))
6738
6739#define IDXGIAdapter1_EnumOutputs(This, Output, ppOutput) \
6740 ((This)->lpVtbl->EnumOutputs(This, Output, ppOutput))
6741
6742#define IDXGIAdapter1_GetDesc(This, pDesc) \
6743 ((This)->lpVtbl->GetDesc(This, pDesc))
6744
6745#define IDXGIAdapter1_CheckInterfaceSupport(This, InterfaceName, pUMDVersion) \
6746 ((This)->lpVtbl->CheckInterfaceSupport(This, InterfaceName, pUMDVersion))
6747
6748#define IDXGIAdapter1_GetDesc1(This, pDesc) \
6749 ((This)->lpVtbl->GetDesc1(This, pDesc))
6750
6751#endif /* COBJMACROS */
6752
6753#endif /* C style interface */
6754
6755#endif /* __IDXGIAdapter1_INTERFACE_DEFINED__ */
6756
6757// NOTE(marcos): declaring CreateDXGIFactory "1" since it works on UWP as well
6758//HRESULT WINAPI CreateDXGIFactory1(REFIID riid, _COM_Outptr_ void **ppFactory);
6759typedef HRESULT(WINAPI *PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory);
6760
6761DEFINE_GUID(IID_IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e);
6762DEFINE_GUID(IID_IDXGIDeviceSubObject, 0x3d3e0379, 0xf9de, 0x4d58, 0xbb, 0x6c, 0x18, 0xd6, 0x29, 0x92, 0xf1, 0xa6);
6763DEFINE_GUID(IID_IDXGIResource, 0x035f3ab4, 0x482e, 0x4e50, 0xb4, 0x1f, 0x8a, 0x7f, 0x8b, 0xd8, 0x96, 0x0b);
6764DEFINE_GUID(IID_IDXGIKeyedMutex, 0x9d8e1289, 0xd7b3, 0x465f, 0x81, 0x26, 0x25, 0x0e, 0x34, 0x9a, 0xf8, 0x5d);
6765DEFINE_GUID(IID_IDXGISurface, 0xcafcb56c, 0x6ac3, 0x4889, 0xbf, 0x47, 0x9e, 0x23, 0xbb, 0xd2, 0x60, 0xec);
6766DEFINE_GUID(IID_IDXGISurface1, 0x4AE63092, 0x6327, 0x4c1b, 0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86);
6767DEFINE_GUID(IID_IDXGIAdapter, 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd, 0x14, 0x97, 0x98, 0xe8, 0x53, 0x4d, 0xc0);
6768DEFINE_GUID(IID_IDXGIOutput, 0xae02eedb, 0xc735, 0x4690, 0x8d, 0x52, 0x5a, 0x8d, 0xc2, 0x02, 0x13, 0xaa);
6769DEFINE_GUID(IID_IDXGISwapChain, 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa, 0x04, 0x6a, 0x9d, 0x23, 0xb8, 0x88, 0x6a);
6770DEFINE_GUID(IID_IDXGIFactory, 0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69);
6771DEFINE_GUID(IID_IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c);
6772DEFINE_GUID(IID_IDXGIFactory1, 0x770aae78, 0xf26f, 0x4dba, 0xa8, 0x29, 0x25, 0x3c, 0x83, 0xd1, 0xb3, 0x87);
6773DEFINE_GUID(IID_IDXGIAdapter1, 0x29038f61, 0x3839, 0x4626, 0x91, 0xfd, 0x08, 0x68, 0x79, 0x01, 0x1a, 0x05);
6774DEFINE_GUID(IID_IDXGIDevice1, 0x77db970f, 0x6276, 0x48ba, 0xba, 0x28, 0x07, 0x01, 0x43, 0xb4, 0x39, 0x2c);
6775
6776/* d3dcompiler.h */
6777typedef HRESULT(WINAPI *PFN_D3DCOMPILE)(
6778 _In_reads_bytes_(SrcDataSize) LPCVOID pSrcData,
6779 _In_ SIZE_T SrcDataSize,
6780 _In_opt_ LPCSTR pSourceName,
6781 _In_reads_opt_(_Inexpressible_(pDefines->Name != nullptr)) CONST D3D_SHADER_MACRO *pDefines,
6782 _In_opt_ ID3DInclude *pInclude,
6783 _In_opt_ LPCSTR pEntrypoint,
6784 _In_ LPCSTR pTarget,
6785 _In_ UINT Flags1,
6786 _In_ UINT Flags2,
6787 _Out_ ID3DBlob **ppCode,
6788 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs);
6789
6790#define D3DCOMPILE_DEBUG (1 << 0)
6791#define D3DCOMPILE_SKIP_VALIDATION (1 << 1)
6792#define D3DCOMPILE_SKIP_OPTIMIZATION (1 << 2)
6793#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR (1 << 3)
6794#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR (1 << 4)
6795#define D3DCOMPILE_PARTIAL_PRECISION (1 << 5)
6796#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT (1 << 6)
6797#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT (1 << 7)
6798#define D3DCOMPILE_NO_PRESHADER (1 << 8)
6799#define D3DCOMPILE_AVOID_FLOW_CONTROL (1 << 9)
6800#define D3DCOMPILE_PREFER_FLOW_CONTROL (1 << 10)
6801#define D3DCOMPILE_ENABLE_STRICTNESS (1 << 11)
6802#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY (1 << 12)
6803#define D3DCOMPILE_IEEE_STRICTNESS (1 << 13)
6804#define D3DCOMPILE_OPTIMIZATION_LEVEL0 (1 << 14)
6805#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0
6806#define D3DCOMPILE_OPTIMIZATION_LEVEL2 ((1 << 14) | (1 << 15))
6807#define D3DCOMPILE_OPTIMIZATION_LEVEL3 (1 << 15)
6808#define D3DCOMPILE_RESERVED16 (1 << 16)
6809#define D3DCOMPILE_RESERVED17 (1 << 17)
6810#define D3DCOMPILE_WARNINGS_ARE_ERRORS (1 << 18)
6811#define D3DCOMPILE_RESOURCES_MAY_ALIAS (1 << 19)
6812#define D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES (1 << 20)
6813#define D3DCOMPILE_ALL_RESOURCES_BOUND (1 << 21)
6814
6815#ifdef __clang__
6816#pragma clang diagnostic pop
6817#endif
6818
6819// Mini Win32 for D3D12
6820
6821#if !defined(WINBASEAPI)
6822#if !defined(_KERNEL32_)
6823#define WINBASEAPI DECLSPEC_IMPORT
6824#else
6825#define WINBASEAPI
6826#endif
6827#endif
6828
6829#define _Ret_maybenull_
6830#define _Post_ptr_invalid_
6831
6832#define STATUS_WAIT_0 ((DWORD)0x00000000L)
6833#define WAIT_OBJECT_0 ((STATUS_WAIT_0) + 0)
6834
6835extern "C" {
6836
6838BOOL
6839 WINAPI
6842
6845 HANDLE
6846 WINAPI
6848 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6849 _In_ BOOL bManualReset,
6850 _In_ BOOL bInitialState,
6851 _In_opt_ LPCSTR lpName);
6852
6855 HANDLE
6856 WINAPI
6858 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6859 _In_ BOOL bManualReset,
6860 _In_ BOOL bInitialState,
6861 _In_opt_ LPCWSTR lpName);
6862
6864DWORD
6865WINAPI
6867 _In_ HANDLE hHandle,
6868 _In_ DWORD dwMilliseconds);
6869}
6870
6871#ifdef UNICODE
6872#define CreateEvent CreateEventW
6873#else
6874#define CreateEvent CreateEventA
6875#endif // !UNICODE
6876
6877// end of Mini Win32 for D3D12
6878
6879#endif /*__mini_d3d12_h__*/
struct D3D12_RESOURCE_TRANSITION_BARRIER D3D12_RESOURCE_TRANSITION_BARRIER
interface ID3D12Device2 ID3D12Device2
Definition: mini_d3d12.h:1427
struct D3D12_INPUT_LAYOUT_DESC D3D12_INPUT_LAYOUT_DESC
ULONG_PTR * PSIZE_T
Definition: mini_d3d12.h:259
struct D3D12_SUBRESOURCE_FOOTPRINT D3D12_SUBRESOURCE_FOOTPRINT
_Null_terminated_ CONST CHAR * LPCSTR
Definition: mini_d3d12.h:205
struct D3D12_UNORDERED_ACCESS_VIEW_DESC D3D12_UNORDERED_ACCESS_VIEW_DESC
interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList
Definition: mini_d3d12.h:1385
_W64 UINT32 UINT_PTR
Definition: mini_d3d12.h:251
#define __RPC_string
Definition: mini_d3d12.h:150
struct D3D12_TEX2DMS_ARRAY_SRV D3D12_TEX2DMS_ARRAY_SRV
#define far
Definition: mini_d3d12.h:187
struct D3D12_RENDER_TARGET_VIEW_DESC D3D12_RENDER_TARGET_VIEW_DESC
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)
Definition: mini_d3d12.h:5767
struct ID3D12ObjectVtbl ID3D12ObjectVtbl
void far * LPVOID
Definition: mini_d3d12.h:190
struct D3D12_SAMPLER_DESC D3D12_SAMPLER_DESC
#define CONST
Definition: mini_d3d12.h:186
#define _Out_opt_
Definition: mini_d3d12.h:45
EXTERN_C const IID IID_ID3D12PipelineState
Definition: mini_d3d12.h:5421
D3D_FEATURE_LEVEL
Definition: mini_d3d12.h:946
@ D3D_FEATURE_LEVEL_10_0
Definition: mini_d3d12.h:950
@ D3D_FEATURE_LEVEL_9_1
Definition: mini_d3d12.h:947
@ D3D_FEATURE_LEVEL_9_2
Definition: mini_d3d12.h:948
@ D3D_FEATURE_LEVEL_9_3
Definition: mini_d3d12.h:949
@ D3D_FEATURE_LEVEL_10_1
Definition: mini_d3d12.h:951
@ D3D_FEATURE_LEVEL_12_1
Definition: mini_d3d12.h:955
@ D3D_FEATURE_LEVEL_12_0
Definition: mini_d3d12.h:954
@ D3D_FEATURE_LEVEL_11_0
Definition: mini_d3d12.h:952
@ D3D_FEATURE_LEVEL_11_1
Definition: mini_d3d12.h:953
struct DXGI_ADAPTER_DESC DXGI_ADAPTER_DESC
struct ID3D12CommandListVtbl ID3D12CommandListVtbl
#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:935
struct D3D12_RESOURCE_ALLOCATION_INFO D3D12_RESOURCE_ALLOCATION_INFO
struct D3D12_RESOURCE_UAV_BARRIER D3D12_RESOURCE_UAV_BARRIER
#define _In_reads_bytes_(size)
Definition: mini_d3d12.h:97
GUID IID
Definition: mini_d3d12.h:473
struct D3D12_TEX1D_ARRAY_RTV D3D12_TEX1D_ARRAY_RTV
EXTERN_C const IID IID_ID3D12Resource
Definition: mini_d3d12.h:3104
struct D3D12_HEAP_PROPERTIES D3D12_HEAP_PROPERTIES
_D3D_INCLUDE_TYPE
Definition: mini_d3d12.h:1187
@ D3D_INCLUDE_SYSTEM
Definition: mini_d3d12.h:1189
@ D3D10_INCLUDE_SYSTEM
Definition: mini_d3d12.h:1191
@ D3D_INCLUDE_FORCE_DWORD
Definition: mini_d3d12.h:1192
@ D3D_INCLUDE_LOCAL
Definition: mini_d3d12.h:1188
@ D3D10_INCLUDE_LOCAL
Definition: mini_d3d12.h:1190
unsigned short WORD
Definition: mini_d3d12.h:169
#define _Post_ptr_invalid_
Definition: mini_d3d12.h:6830
#define _Inout_
Definition: mini_d3d12.h:49
interface ID3D12DescriptorHeap ID3D12DescriptorHeap
Definition: mini_d3d12.h:1361
#define _Out_writes_bytes_(size)
Definition: mini_d3d12.h:113
interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1
Definition: mini_d3d12.h:1415
struct DXGI_SAMPLE_DESC DXGI_SAMPLE_DESC
LONG_PTR SSIZE_T
Definition: mini_d3d12.h:260
WORD * PUINT16
Definition: mini_d3d12.h:224
D3D12_STATIC_BORDER_COLOR
Definition: mini_d3d12.h:2997
@ D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK
Definition: mini_d3d12.h:2998
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE
Definition: mini_d3d12.h:3000
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK
Definition: mini_d3d12.h:2999
struct D3D12_TEX1D_RTV D3D12_TEX1D_RTV
D3D12_DESCRIPTOR_RANGE_TYPE
Definition: mini_d3d12.h:2946
@ D3D12_DESCRIPTOR_RANGE_TYPE_SRV
Definition: mini_d3d12.h:2947
@ D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
Definition: mini_d3d12.h:2950
@ D3D12_DESCRIPTOR_RANGE_TYPE_CBV
Definition: mini_d3d12.h:2949
@ D3D12_DESCRIPTOR_RANGE_TYPE_UAV
Definition: mini_d3d12.h:2948
EXTERN_C const IID IID_IDXGIObject
Definition: mini_d3d12.h:5969
#define CONST_VTBL
Definition: mini_d3d12.h:724
LPSTR LPOLESTR
Definition: mini_d3d12.h:936
__int64 INT64
Definition: mini_d3d12.h:230
D3D12_FILL_MODE
Definition: mini_d3d12.h:1961
@ D3D12_FILL_MODE_SOLID
Definition: mini_d3d12.h:1963
@ D3D12_FILL_MODE_WIREFRAME
Definition: mini_d3d12.h:1962
D3D12_CULL_MODE
Definition: mini_d3d12.h:1966
@ D3D12_CULL_MODE_NONE
Definition: mini_d3d12.h:1967
@ D3D12_CULL_MODE_BACK
Definition: mini_d3d12.h:1969
@ D3D12_CULL_MODE_FRONT
Definition: mini_d3d12.h:1968
D3D12_RESOURCE_STATES
Definition: mini_d3d12.h:2215
@ D3D12_RESOURCE_STATE_GENERIC_READ
Definition: mini_d3d12.h:2231
@ D3D12_RESOURCE_STATE_RESOLVE_DEST
Definition: mini_d3d12.h:2229
@ D3D12_RESOURCE_STATE_INDEX_BUFFER
Definition: mini_d3d12.h:2218
@ D3D12_RESOURCE_STATE_COPY_DEST
Definition: mini_d3d12.h:2227
@ D3D12_RESOURCE_STATE_RENDER_TARGET
Definition: mini_d3d12.h:2219
@ D3D12_RESOURCE_STATE_COPY_SOURCE
Definition: mini_d3d12.h:2228
@ D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
Definition: mini_d3d12.h:2224
@ D3D12_RESOURCE_STATE_UNORDERED_ACCESS
Definition: mini_d3d12.h:2220
@ D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT
Definition: mini_d3d12.h:2226
@ D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
Definition: mini_d3d12.h:2223
@ D3D12_RESOURCE_STATE_DEPTH_WRITE
Definition: mini_d3d12.h:2221
@ D3D12_RESOURCE_STATE_DEPTH_READ
Definition: mini_d3d12.h:2222
@ D3D12_RESOURCE_STATE_STREAM_OUT
Definition: mini_d3d12.h:2225
@ D3D12_RESOURCE_STATE_COMMON
Definition: mini_d3d12.h:2216
@ D3D12_RESOURCE_STATE_PREDICATION
Definition: mini_d3d12.h:2233
@ D3D12_RESOURCE_STATE_RESOLVE_SOURCE
Definition: mini_d3d12.h:2230
@ D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
Definition: mini_d3d12.h:2217
@ D3D12_RESOURCE_STATE_PRESENT
Definition: mini_d3d12.h:2232
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
Definition: mini_d3d12.h:3082
@ D3D_ROOT_SIGNATURE_VERSION_1_0
Definition: mini_d3d12.h:3084
@ D3D_ROOT_SIGNATURE_VERSION_1
Definition: mini_d3d12.h:3083
@ D3D_ROOT_SIGNATURE_VERSION_1_1
Definition: mini_d3d12.h:3085
#define _COM_Outptr_opt_
Definition: mini_d3d12.h:61
struct D3D12_TEX2D_SRV D3D12_TEX2D_SRV
struct D3D12_BOX D3D12_BOX
#define MIDL_INTERFACE(x)
Definition: mini_d3d12.h:594
_Null_terminated_ CHAR * NPSTR
Definition: mini_d3d12.h:204
D3D12_TEXTURE_ADDRESS_MODE
Definition: mini_d3d12.h:2665
@ D3D12_TEXTURE_ADDRESS_MODE_BORDER
Definition: mini_d3d12.h:2669
@ D3D12_TEXTURE_ADDRESS_MODE_WRAP
Definition: mini_d3d12.h:2666
@ D3D12_TEXTURE_ADDRESS_MODE_CLAMP
Definition: mini_d3d12.h:2668
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR
Definition: mini_d3d12.h:2667
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
Definition: mini_d3d12.h:2670
struct D3D12_INDIRECT_ARGUMENT_DESC D3D12_INDIRECT_ARGUMENT_DESC
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
struct D3D12_SHADER_BYTECODE D3D12_SHADER_BYTECODE
interface IDXGIFactory1 IDXGIFactory1
Definition: mini_d3d12.h:5919
#define _Ret_maybenull_
Definition: mini_d3d12.h:6829
struct D3D12_TEX2DMS_SRV D3D12_TEX2DMS_SRV
long LONG
Definition: mini_d3d12.h:178
struct D3D12_BUFFER_RTV D3D12_BUFFER_RTV
struct D3D12_RESOURCE_ALIASING_BARRIER D3D12_RESOURCE_ALIASING_BARRIER
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE)
Definition: mini_d3d12.h:414
struct D3D12_TEX2D_UAV D3D12_TEX2D_UAV
interface ID3D12QueryHeap ID3D12QueryHeap
Definition: mini_d3d12.h:1367
D3D12_INPUT_CLASSIFICATION
Definition: mini_d3d12.h:2036
@ D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA
Definition: mini_d3d12.h:2037
@ D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
Definition: mini_d3d12.h:2038
EXTERN_C const IID IID_IUnknown
Definition: mini_d3d12.h:820
WORD UINT16
Definition: mini_d3d12.h:224
interface ID3D12CommandAllocator ID3D12CommandAllocator
Definition: mini_d3d12.h:1343
struct _RPC_VERSION RPC_VERSION
unsigned int UINT
Definition: mini_d3d12.h:181
#define _W64
Definition: mini_d3d12.h:237
struct D3D12_ROOT_DESCRIPTOR_TABLE D3D12_ROOT_DESCRIPTOR_TABLE
struct D3D12_GPU_DESCRIPTOR_HANDLE D3D12_GPU_DESCRIPTOR_HANDLE
GUID UUID
Definition: mini_d3d12.h:536
D3D12_PREDICATION_OP
Definition: mini_d3d12.h:2922
@ D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
Definition: mini_d3d12.h:2924
@ D3D12_PREDICATION_OP_EQUAL_ZERO
Definition: mini_d3d12.h:2923
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
Definition: mini_d3d12.h:1295
D3D12_SHADER_COMPONENT_MAPPING
Definition: mini_d3d12.h:2292
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
Definition: mini_d3d12.h:2294
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
Definition: mini_d3d12.h:2297
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
Definition: mini_d3d12.h:2296
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
Definition: mini_d3d12.h:2298
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
Definition: mini_d3d12.h:2293
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
Definition: mini_d3d12.h:2295
EXTERN_C const IID IID_ID3D12GraphicsCommandList
Definition: mini_d3d12.h:3527
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
struct IDXGIFactoryVtbl IDXGIFactoryVtbl
interface ID3D12CommandList ID3D12CommandList
Definition: mini_d3d12.h:1379
struct D3D12_VIEWPORT D3D12_VIEWPORT
EXTERN_C const IID IID_ID3D12Fence
Definition: mini_d3d12.h:5285
struct IDXGIObjectVtbl IDXGIObjectVtbl
struct D3D12_RESOURCE_DESC D3D12_RESOURCE_DESC
struct D3D12_TEXCUBE_ARRAY_SRV D3D12_TEXCUBE_ARRAY_SRV
interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1
Definition: mini_d3d12.h:1391
#define _In_z_
Definition: mini_d3d12.h:33
struct D3D12_QUERY_HEAP_DESC D3D12_QUERY_HEAP_DESC
struct D3D12_DESCRIPTOR_HEAP_DESC D3D12_DESCRIPTOR_HEAP_DESC
unsigned char BYTE
Definition: mini_d3d12.h:168
#define THIS_
Definition: mini_d3d12.h:710
D3D12_RTV_DIMENSION
Definition: mini_d3d12.h:2539
@ D3D12_RTV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2542
@ D3D12_RTV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2540
@ D3D12_RTV_DIMENSION_BUFFER
Definition: mini_d3d12.h:2541
@ D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY
Definition: mini_d3d12.h:2547
@ D3D12_RTV_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2548
@ D3D12_RTV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2543
@ D3D12_RTV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2544
@ D3D12_RTV_DIMENSION_TEXTURE2DMS
Definition: mini_d3d12.h:2546
@ D3D12_RTV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2545
struct D3D12_TEX1D_ARRAY_SRV D3D12_TEX1D_ARRAY_SRV
struct ID3D12PageableVtbl ID3D12PageableVtbl
struct D3D12_INDEX_BUFFER_VIEW D3D12_INDEX_BUFFER_VIEW
EXTERN_C const IID IID_ID3D12CommandQueue
Definition: mini_d3d12.h:4339
D3D12_RESOURCE_BARRIER_FLAGS
Definition: mini_d3d12.h:2868
@ D3D12_RESOURCE_BARRIER_FLAG_NONE
Definition: mini_d3d12.h:2869
@ D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY
Definition: mini_d3d12.h:2870
@ D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
Definition: mini_d3d12.h:2871
struct _RPC_MESSAGE * PRPC_MESSAGE
#define _Outptr_opt_result_bytebuffer_(size)
Definition: mini_d3d12.h:133
D3D12_PRIMITIVE_TOPOLOGY_TYPE
Definition: mini_d3d12.h:2067
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE
Definition: mini_d3d12.h:2071
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED
Definition: mini_d3d12.h:2068
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT
Definition: mini_d3d12.h:2069
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
Definition: mini_d3d12.h:2072
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE
Definition: mini_d3d12.h:2070
struct D3D12_PACKED_MIP_INFO D3D12_PACKED_MIP_INFO
SHORT INT16
Definition: mini_d3d12.h:221
struct D3D12_SHADER_RESOURCE_VIEW_DESC D3D12_SHADER_RESOURCE_VIEW_DESC
_Null_terminated_ CHAR * LPSTR
Definition: mini_d3d12.h:204
D3D12_COMMAND_LIST_TYPE
Definition: mini_d3d12.h:1847
@ D3D12_COMMAND_LIST_TYPE_COPY
Definition: mini_d3d12.h:1851
@ D3D12_COMMAND_LIST_TYPE_BUNDLE
Definition: mini_d3d12.h:1849
@ D3D12_COMMAND_LIST_TYPE_DIRECT
Definition: mini_d3d12.h:1848
@ D3D12_COMMAND_LIST_TYPE_COMPUTE
Definition: mini_d3d12.h:1850
#define __RPC_FAR
Definition: mini_d3d12.h:529
INT BOOL
Definition: mini_d3d12.h:192
struct D3D12_ROOT_PARAMETER D3D12_ROOT_PARAMETER
RECT D3D12_RECT
Definition: mini_d3d12.h:2850
_W64 INT32 INT_PTR
Definition: mini_d3d12.h:250
struct IDXGIAdapterVtbl IDXGIAdapterVtbl
D3D12_LOGIC_OP
Definition: mini_d3d12.h:1923
@ D3D12_LOGIC_OP_OR_INVERTED
Definition: mini_d3d12.h:1939
@ D3D12_LOGIC_OP_XOR
Definition: mini_d3d12.h:1934
@ D3D12_LOGIC_OP_SET
Definition: mini_d3d12.h:1925
@ D3D12_LOGIC_OP_AND_REVERSE
Definition: mini_d3d12.h:1936
@ D3D12_LOGIC_OP_EQUIV
Definition: mini_d3d12.h:1935
@ D3D12_LOGIC_OP_OR_REVERSE
Definition: mini_d3d12.h:1938
@ D3D12_LOGIC_OP_CLEAR
Definition: mini_d3d12.h:1924
@ D3D12_LOGIC_OP_NOOP
Definition: mini_d3d12.h:1928
@ D3D12_LOGIC_OP_NOR
Definition: mini_d3d12.h:1933
@ D3D12_LOGIC_OP_INVERT
Definition: mini_d3d12.h:1929
@ D3D12_LOGIC_OP_OR
Definition: mini_d3d12.h:1932
@ D3D12_LOGIC_OP_AND_INVERTED
Definition: mini_d3d12.h:1937
@ D3D12_LOGIC_OP_AND
Definition: mini_d3d12.h:1930
@ D3D12_LOGIC_OP_COPY
Definition: mini_d3d12.h:1926
@ D3D12_LOGIC_OP_COPY_INVERTED
Definition: mini_d3d12.h:1927
@ D3D12_LOGIC_OP_NAND
Definition: mini_d3d12.h:1931
struct tagRECT RECT
struct D3D12_CLEAR_VALUE D3D12_CLEAR_VALUE
struct D3D12_DISCARD_REGION D3D12_DISCARD_REGION
interface IDXGIAdapter1 IDXGIAdapter1
Definition: mini_d3d12.h:5925
D3D12_TILE_MAPPING_FLAGS
Definition: mini_d3d12.h:2201
@ D3D12_TILE_MAPPING_FLAG_NONE
Definition: mini_d3d12.h:2202
@ D3D12_TILE_MAPPING_FLAG_NO_HAZARD
Definition: mini_d3d12.h:2203
D3D12_COMMAND_QUEUE_PRIORITY
Definition: mini_d3d12.h:1860
@ D3D12_COMMAND_QUEUE_PRIORITY_HIGH
Definition: mini_d3d12.h:1862
@ D3D12_COMMAND_QUEUE_PRIORITY_NORMAL
Definition: mini_d3d12.h:1861
@ D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
Definition: mini_d3d12.h:1863
BYTE * PUINT8
Definition: mini_d3d12.h:223
D3D12_MEMORY_POOL
Definition: mini_d3d12.h:2164
@ D3D12_MEMORY_POOL_UNKNOWN
Definition: mini_d3d12.h:2165
@ D3D12_MEMORY_POOL_L1
Definition: mini_d3d12.h:2167
@ D3D12_MEMORY_POOL_L0
Definition: mini_d3d12.h:2166
D3D12_TILE_RANGE_FLAGS
Definition: mini_d3d12.h:2810
@ D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
Definition: mini_d3d12.h:2814
@ D3D12_TILE_RANGE_FLAG_SKIP
Definition: mini_d3d12.h:2813
@ D3D12_TILE_RANGE_FLAG_NONE
Definition: mini_d3d12.h:2811
@ D3D12_TILE_RANGE_FLAG_NULL
Definition: mini_d3d12.h:2812
D3D12_CONSERVATIVE_RASTERIZATION_MODE
Definition: mini_d3d12.h:1972
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF
Definition: mini_d3d12.h:1973
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
Definition: mini_d3d12.h:1974
struct D3D12_GRAPHICS_PIPELINE_STATE_DESC D3D12_GRAPHICS_PIPELINE_STATE_DESC
D3D12_RESOURCE_DIMENSION
Definition: mini_d3d12.h:2118
@ D3D12_RESOURCE_DIMENSION_BUFFER
Definition: mini_d3d12.h:2120
@ D3D12_RESOURCE_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2121
@ D3D12_RESOURCE_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2123
@ D3D12_RESOURCE_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2119
@ D3D12_RESOURCE_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2122
struct D3D12_TEX1D_ARRAY_DSV D3D12_TEX1D_ARRAY_DSV
_W64 UINT32 * PULONG_PTR
Definition: mini_d3d12.h:254
EXTERN_C const IID IID_ID3D12DescriptorHeap
Definition: mini_d3d12.h:5535
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
struct D3D12_ROOT_SIGNATURE_DESC1 D3D12_ROOT_SIGNATURE_DESC1
#define _Out_writes_(size)
Definition: mini_d3d12.h:105
struct D3D12_TEX3D_SRV D3D12_TEX3D_SRV
struct D3D12_TEX3D_RTV D3D12_TEX3D_RTV
D3D12_DEPTH_WRITE_MASK
Definition: mini_d3d12.h:1991
@ D3D12_DEPTH_WRITE_MASK_ALL
Definition: mini_d3d12.h:1993
@ D3D12_DEPTH_WRITE_MASK_ZERO
Definition: mini_d3d12.h:1992
interface ID3D12Pageable ID3D12Pageable
Definition: mini_d3d12.h:1325
struct __LUID LUID
DXGI_FORMAT
Definition: mini_d3d12.h:1060
@ DXGI_FORMAT_R16_UINT
Definition: mini_d3d12.h:1118
@ DXGI_FORMAT_B8G8R8A8_UNORM
Definition: mini_d3d12.h:1148
@ DXGI_FORMAT_R8_TYPELESS
Definition: mini_d3d12.h:1121
@ DXGI_FORMAT_Y410
Definition: mini_d3d12.h:1162
@ DXGI_FORMAT_BC3_UNORM_SRGB
Definition: mini_d3d12.h:1139
@ DXGI_FORMAT_R8G8_B8G8_UNORM
Definition: mini_d3d12.h:1129
@ DXGI_FORMAT_R32G32B32_TYPELESS
Definition: mini_d3d12.h:1066
@ DXGI_FORMAT_BC3_TYPELESS
Definition: mini_d3d12.h:1137
@ DXGI_FORMAT_R16G16_SNORM
Definition: mini_d3d12.h:1098
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
Definition: mini_d3d12.h:1081
@ DXGI_FORMAT_R32G32B32A32_SINT
Definition: mini_d3d12.h:1065
@ DXGI_FORMAT_BC5_UNORM
Definition: mini_d3d12.h:1144
@ DXGI_FORMAT_Y216
Definition: mini_d3d12.h:1170
@ DXGI_FORMAT_BC1_UNORM
Definition: mini_d3d12.h:1132
@ DXGI_FORMAT_R8G8_UINT
Definition: mini_d3d12.h:1111
@ DXGI_FORMAT_420_OPAQUE
Definition: mini_d3d12.h:1167
@ DXGI_FORMAT_R32G32B32A32_UINT
Definition: mini_d3d12.h:1064
@ DXGI_FORMAT_R16G16B16A16_SNORM
Definition: mini_d3d12.h:1074
@ DXGI_FORMAT_R32_FLOAT
Definition: mini_d3d12.h:1102
@ DXGI_FORMAT_R16G16B16A16_UNORM
Definition: mini_d3d12.h:1072
@ DXGI_FORMAT_R32_SINT
Definition: mini_d3d12.h:1104
@ DXGI_FORMAT_R8G8_UNORM
Definition: mini_d3d12.h:1110
@ DXGI_FORMAT_R16G16_UNORM
Definition: mini_d3d12.h:1096
@ DXGI_FORMAT_BC1_UNORM_SRGB
Definition: mini_d3d12.h:1133
@ DXGI_FORMAT_A8P8
Definition: mini_d3d12.h:1175
@ DXGI_FORMAT_R16G16_SINT
Definition: mini_d3d12.h:1099
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
Definition: mini_d3d12.h:1107
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
Definition: mini_d3d12.h:1088
@ DXGI_FORMAT_BC2_TYPELESS
Definition: mini_d3d12.h:1134
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
Definition: mini_d3d12.h:1082
@ DXGI_FORMAT_R32G32B32_FLOAT
Definition: mini_d3d12.h:1067
@ DXGI_FORMAT_R32G32B32_SINT
Definition: mini_d3d12.h:1069
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
Definition: mini_d3d12.h:1062
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
Definition: mini_d3d12.h:1152
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
Definition: mini_d3d12.h:1153
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
Definition: mini_d3d12.h:1151
@ DXGI_FORMAT_UNKNOWN
Definition: mini_d3d12.h:1061
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
Definition: mini_d3d12.h:1108
@ DXGI_FORMAT_R16_SINT
Definition: mini_d3d12.h:1120
@ DXGI_FORMAT_R1_UNORM
Definition: mini_d3d12.h:1127
@ DXGI_FORMAT_R16G16B16A16_UINT
Definition: mini_d3d12.h:1073
@ DXGI_FORMAT_R16_UNORM
Definition: mini_d3d12.h:1117
@ DXGI_FORMAT_R8G8B8A8_SINT
Definition: mini_d3d12.h:1093
@ DXGI_FORMAT_D24_UNORM_S8_UINT
Definition: mini_d3d12.h:1106
@ DXGI_FORMAT_R8G8B8A8_SNORM
Definition: mini_d3d12.h:1092
@ DXGI_FORMAT_A8_UNORM
Definition: mini_d3d12.h:1126
@ DXGI_FORMAT_FORCE_UINT
Definition: mini_d3d12.h:1177
@ DXGI_FORMAT_R8G8B8A8_UINT
Definition: mini_d3d12.h:1091
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
Definition: mini_d3d12.h:1084
@ DXGI_FORMAT_R32G32_FLOAT
Definition: mini_d3d12.h:1077
@ DXGI_FORMAT_BC6H_UF16
Definition: mini_d3d12.h:1156
@ DXGI_FORMAT_BC6H_SF16
Definition: mini_d3d12.h:1157
@ DXGI_FORMAT_R10G10B10A2_UNORM
Definition: mini_d3d12.h:1085
@ DXGI_FORMAT_R8_SNORM
Definition: mini_d3d12.h:1124
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
Definition: mini_d3d12.h:1128
@ DXGI_FORMAT_P010
Definition: mini_d3d12.h:1165
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
Definition: mini_d3d12.h:1070
@ DXGI_FORMAT_R16G16B16A16_FLOAT
Definition: mini_d3d12.h:1071
@ DXGI_FORMAT_BC7_TYPELESS
Definition: mini_d3d12.h:1158
@ DXGI_FORMAT_P016
Definition: mini_d3d12.h:1166
@ DXGI_FORMAT_R32_TYPELESS
Definition: mini_d3d12.h:1100
@ DXGI_FORMAT_R8_UNORM
Definition: mini_d3d12.h:1122
@ DXGI_FORMAT_R32G32_UINT
Definition: mini_d3d12.h:1078
@ DXGI_FORMAT_R11G11B10_FLOAT
Definition: mini_d3d12.h:1087
@ DXGI_FORMAT_R8G8B8A8_UNORM
Definition: mini_d3d12.h:1089
@ DXGI_FORMAT_AYUV
Definition: mini_d3d12.h:1161
@ DXGI_FORMAT_Y416
Definition: mini_d3d12.h:1163
@ DXGI_FORMAT_G8R8_G8B8_UNORM
Definition: mini_d3d12.h:1130
@ DXGI_FORMAT_YUY2
Definition: mini_d3d12.h:1168
@ DXGI_FORMAT_D16_UNORM
Definition: mini_d3d12.h:1116
@ DXGI_FORMAT_R16_FLOAT
Definition: mini_d3d12.h:1115
@ DXGI_FORMAT_Y210
Definition: mini_d3d12.h:1169
@ DXGI_FORMAT_R10G10B10A2_UINT
Definition: mini_d3d12.h:1086
@ DXGI_FORMAT_BC6H_TYPELESS
Definition: mini_d3d12.h:1155
@ DXGI_FORMAT_BC7_UNORM
Definition: mini_d3d12.h:1159
@ DXGI_FORMAT_BC5_TYPELESS
Definition: mini_d3d12.h:1143
@ DXGI_FORMAT_R32G32_SINT
Definition: mini_d3d12.h:1079
@ DXGI_FORMAT_BC2_UNORM_SRGB
Definition: mini_d3d12.h:1136
@ DXGI_FORMAT_R16_SNORM
Definition: mini_d3d12.h:1119
@ DXGI_FORMAT_R8_SINT
Definition: mini_d3d12.h:1125
@ DXGI_FORMAT_BC5_SNORM
Definition: mini_d3d12.h:1145
@ DXGI_FORMAT_R32_UINT
Definition: mini_d3d12.h:1103
@ DXGI_FORMAT_BC4_TYPELESS
Definition: mini_d3d12.h:1140
@ DXGI_FORMAT_R32G32B32A32_FLOAT
Definition: mini_d3d12.h:1063
@ DXGI_FORMAT_R24G8_TYPELESS
Definition: mini_d3d12.h:1105
@ DXGI_FORMAT_IA44
Definition: mini_d3d12.h:1173
@ DXGI_FORMAT_NV11
Definition: mini_d3d12.h:1171
@ DXGI_FORMAT_R8G8_SINT
Definition: mini_d3d12.h:1113
@ DXGI_FORMAT_R16_TYPELESS
Definition: mini_d3d12.h:1114
@ DXGI_FORMAT_BC3_UNORM
Definition: mini_d3d12.h:1138
@ DXGI_FORMAT_R32G32B32_UINT
Definition: mini_d3d12.h:1068
@ DXGI_FORMAT_R16G16_TYPELESS
Definition: mini_d3d12.h:1094
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
Definition: mini_d3d12.h:1090
@ DXGI_FORMAT_R16G16_UINT
Definition: mini_d3d12.h:1097
@ DXGI_FORMAT_D32_FLOAT
Definition: mini_d3d12.h:1101
@ DXGI_FORMAT_R8G8_TYPELESS
Definition: mini_d3d12.h:1109
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
Definition: mini_d3d12.h:1150
@ DXGI_FORMAT_R16G16B16A16_SINT
Definition: mini_d3d12.h:1075
@ DXGI_FORMAT_BC1_TYPELESS
Definition: mini_d3d12.h:1131
@ DXGI_FORMAT_BC7_UNORM_SRGB
Definition: mini_d3d12.h:1160
@ DXGI_FORMAT_BC2_UNORM
Definition: mini_d3d12.h:1135
@ DXGI_FORMAT_R32G32_TYPELESS
Definition: mini_d3d12.h:1076
@ DXGI_FORMAT_R32G8X24_TYPELESS
Definition: mini_d3d12.h:1080
@ DXGI_FORMAT_B4G4R4A4_UNORM
Definition: mini_d3d12.h:1176
@ DXGI_FORMAT_AI44
Definition: mini_d3d12.h:1172
@ DXGI_FORMAT_R16G16_FLOAT
Definition: mini_d3d12.h:1095
@ DXGI_FORMAT_B5G6R5_UNORM
Definition: mini_d3d12.h:1146
@ DXGI_FORMAT_BC4_UNORM
Definition: mini_d3d12.h:1141
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
Definition: mini_d3d12.h:1083
@ DXGI_FORMAT_R8G8_SNORM
Definition: mini_d3d12.h:1112
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
Definition: mini_d3d12.h:1154
@ DXGI_FORMAT_P8
Definition: mini_d3d12.h:1174
@ DXGI_FORMAT_R8_UINT
Definition: mini_d3d12.h:1123
@ DXGI_FORMAT_BC4_SNORM
Definition: mini_d3d12.h:1142
@ DXGI_FORMAT_NV12
Definition: mini_d3d12.h:1164
@ DXGI_FORMAT_B5G5R5A1_UNORM
Definition: mini_d3d12.h:1147
@ DXGI_FORMAT_B8G8R8X8_UNORM
Definition: mini_d3d12.h:1149
interface IDXGIAdapter IDXGIAdapter
Definition: mini_d3d12.h:5895
#define _Out_writes_opt_(size)
Definition: mini_d3d12.h:109
D3D12_RESOURCE_FLAGS
Definition: mini_d3d12.h:2133
@ D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
Definition: mini_d3d12.h:2137
@ D3D12_RESOURCE_FLAG_NONE
Definition: mini_d3d12.h:2134
@ D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
Definition: mini_d3d12.h:2136
@ D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
Definition: mini_d3d12.h:2139
@ D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
Definition: mini_d3d12.h:2138
@ D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
Definition: mini_d3d12.h:2140
@ D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
Definition: mini_d3d12.h:2135
struct tagRECT * LPRECT
struct _SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
struct D3D12_TEX3D_UAV D3D12_TEX3D_UAV
EXTERN_C const IID IID_ID3D12CommandAllocator
Definition: mini_d3d12.h:3303
struct D3D12_CPU_DESCRIPTOR_HANDLE D3D12_CPU_DESCRIPTOR_HANDLE
#define REFGUID
Definition: mini_d3d12.h:491
__int64 LONGLONG
Definition: mini_d3d12.h:279
struct D3D12_TEX2D_RTV D3D12_TEX2D_RTV
#define DECLARE_INTERFACE(iface)
Definition: mini_d3d12.h:725
struct _D3D_SHADER_MACRO * LPD3D_SHADER_MACRO
Definition: mini_d3d12.h:1210
_W64 UINT32 ULONG_PTR
Definition: mini_d3d12.h:254
struct D3D12_TEX1D_SRV D3D12_TEX1D_SRV
struct D3D12_TEXCUBE_SRV D3D12_TEXCUBE_SRV
interface ID3D10Blob ID3D10Blob
Definition: mini_d3d12.h:1226
struct D3D12_TEX2DMS_ARRAY_RTV D3D12_TEX2DMS_ARRAY_RTV
EXTERN_C const IID IID_IDXGIAdapter
Definition: mini_d3d12.h:6285
HANDLE * PHANDLE
Definition: mini_d3d12.h:442
#define _Null_terminated_
Definition: mini_d3d12.h:69
interface IDXGIFactory IDXGIFactory
Definition: mini_d3d12.h:5913
_Null_terminated_ CONST WCHAR * PCWSTR
Definition: mini_d3d12.h:206
#define RPC_MGR_EPV
Definition: mini_d3d12.h:546
interface ID3D12Device ID3D12Device
Definition: mini_d3d12.h:1403
interface IDXGISwapChain IDXGISwapChain
Definition: mini_d3d12.h:5907
struct D3D12_ROOT_DESCRIPTOR1 D3D12_ROOT_DESCRIPTOR1
_W64 INT32 * PINT_PTR
Definition: mini_d3d12.h:250
D3D12_DSV_DIMENSION
Definition: mini_d3d12.h:2602
@ D3D12_DSV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2603
@ D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY
Definition: mini_d3d12.h:2609
@ D3D12_DSV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2604
@ D3D12_DSV_DIMENSION_TEXTURE2DMS
Definition: mini_d3d12.h:2608
@ D3D12_DSV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2606
@ D3D12_DSV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2605
@ D3D12_DSV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2607
struct D3D12_ROOT_DESCRIPTOR_TABLE1 D3D12_ROOT_DESCRIPTOR_TABLE1
struct D3D12_TEX2D_DSV D3D12_TEX2D_DSV
#define STDMETHODCALLTYPE
Definition: mini_d3d12.h:300
interface ID3D12DeviceChild ID3D12DeviceChild
Definition: mini_d3d12.h:1301
D3D12_CLEAR_FLAGS
Definition: mini_d3d12.h:2266
@ D3D12_CLEAR_FLAG_STENCIL
Definition: mini_d3d12.h:2268
@ D3D12_CLEAR_FLAG_DEPTH
Definition: mini_d3d12.h:2267
struct D3D12_TEX2DMS_ARRAY_DSV D3D12_TEX2DMS_ARRAY_DSV
#define END_INTERFACE
Definition: mini_d3d12.h:598
struct D3D12_DESCRIPTOR_RANGE D3D12_DESCRIPTOR_RANGE
struct _RPC_SYNTAX_IDENTIFIER * PRPC_SYNTAX_IDENTIFIER
interface ID3D12Heap ID3D12Heap
Definition: mini_d3d12.h:1331
struct D3D12_SO_DECLARATION_ENTRY D3D12_SO_DECLARATION_ENTRY
EXTERN_C const IID IID_ID3D12Debug
Definition: mini_d3d12.h:5821
#define _Return_type_success_(expr)
Definition: mini_d3d12.h:73
D3D12_DESCRIPTOR_HEAP_FLAGS
Definition: mini_d3d12.h:2287
@ D3D12_DESCRIPTOR_HEAP_FLAG_NONE
Definition: mini_d3d12.h:2288
@ D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
Definition: mini_d3d12.h:2289
interface ID3D12Resource ID3D12Resource
Definition: mini_d3d12.h:1337
D3D12_QUERY_TYPE
Definition: mini_d3d12.h:2911
@ D3D12_QUERY_TYPE_OCCLUSION
Definition: mini_d3d12.h:2912
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
Definition: mini_d3d12.h:2919
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
Definition: mini_d3d12.h:2918
@ D3D12_QUERY_TYPE_BINARY_OCCLUSION
Definition: mini_d3d12.h:2913
@ D3D12_QUERY_TYPE_TIMESTAMP
Definition: mini_d3d12.h:2914
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
Definition: mini_d3d12.h:2916
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
Definition: mini_d3d12.h:2917
@ D3D12_QUERY_TYPE_PIPELINE_STATISTICS
Definition: mini_d3d12.h:2915
#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
Definition: mini_d3d12.h:2833
D3D12_BUFFER_UAV_FLAGS
Definition: mini_d3d12.h:2432
@ D3D12_BUFFER_UAV_FLAG_NONE
Definition: mini_d3d12.h:2433
@ D3D12_BUFFER_UAV_FLAG_RAW
Definition: mini_d3d12.h:2434
struct D3D12_DEPTH_STENCIL_VALUE D3D12_DEPTH_STENCIL_VALUE
float FLOAT
Definition: mini_d3d12.h:184
#define NEAR
Definition: mini_d3d12.h:209
#define _Post_satisfies_(expr)
Definition: mini_d3d12.h:81
struct D3D12_COMPUTE_PIPELINE_STATE_DESC D3D12_COMPUTE_PIPELINE_STATE_DESC
struct D3D12_COMMAND_SIGNATURE_DESC D3D12_COMMAND_SIGNATURE_DESC
_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
Definition: mini_d3d12.h:2313
@ D3D12_BUFFER_SRV_FLAG_NONE
Definition: mini_d3d12.h:2314
@ D3D12_BUFFER_SRV_FLAG_RAW
Definition: mini_d3d12.h:2315
struct D3D12_BLEND_DESC D3D12_BLEND_DESC
struct ID3D12FenceVtbl ID3D12FenceVtbl
RPC_BINDING_HANDLE handle_t
Definition: mini_d3d12.h:543
interface ID3DInclude ID3DInclude
Definition: mini_d3d12.h:1195
#define __RPC_STUB
Definition: mini_d3d12.h:525
HRESULT(WINAPI * PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **)
Definition: mini_d3d12.h:5773
struct ID3D12GraphicsCommandListVtbl ID3D12GraphicsCommandListVtbl
struct D3D12_DESCRIPTOR_RANGE1 D3D12_DESCRIPTOR_RANGE1
D3D12_TEXTURE_COPY_TYPE
Definition: mini_d3d12.h:2817
@ D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
Definition: mini_d3d12.h:2819
@ D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX
Definition: mini_d3d12.h:2818
IUnknown * LPUNKNOWN
Definition: mini_d3d12.h:754
#define _Inout_opt_
Definition: mini_d3d12.h:53
D3D12_ROOT_SIGNATURE_FLAGS
Definition: mini_d3d12.h:2927
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2931
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
Definition: mini_d3d12.h:2935
@ D3D12_ROOT_SIGNATURE_FLAG_NONE
Definition: mini_d3d12.h:2928
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
Definition: mini_d3d12.h:2929
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2933
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2930
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2934
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2932
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
Definition: mini_d3d12.h:2474
@ D3D12_UAV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2475
@ D3D12_UAV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2479
@ D3D12_UAV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2478
@ D3D12_UAV_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2481
@ D3D12_UAV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2480
@ D3D12_UAV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2477
@ D3D12_UAV_DIMENSION_BUFFER
Definition: mini_d3d12.h:2476
union _LARGE_INTEGER LARGE_INTEGER
D3D12_HEAP_FLAGS
Definition: mini_d3d12.h:2185
@ D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH
Definition: mini_d3d12.h:2194
@ D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
Definition: mini_d3d12.h:2192
@ D3D12_HEAP_FLAG_ALLOW_DISPLAY
Definition: mini_d3d12.h:2189
@ D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
Definition: mini_d3d12.h:2191
@ D3D12_HEAP_FLAG_HARDWARE_PROTECTED
Definition: mini_d3d12.h:2193
@ D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES
Definition: mini_d3d12.h:2198
@ D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS
Definition: mini_d3d12.h:2196
@ D3D12_HEAP_FLAG_SHARED
Definition: mini_d3d12.h:2187
@ D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER
Definition: mini_d3d12.h:2190
@ D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES
Definition: mini_d3d12.h:2195
@ D3D12_HEAP_FLAG_NONE
Definition: mini_d3d12.h:2186
@ D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES
Definition: mini_d3d12.h:2197
@ D3D12_HEAP_FLAG_DENY_BUFFERS
Definition: mini_d3d12.h:2188
D3D12_DSV_FLAGS
Definition: mini_d3d12.h:2595
@ D3D12_DSV_FLAG_NONE
Definition: mini_d3d12.h:2596
@ D3D12_DSV_FLAG_READ_ONLY_STENCIL
Definition: mini_d3d12.h:2598
@ D3D12_DSV_FLAG_READ_ONLY_DEPTH
Definition: mini_d3d12.h:2597
interface ID3D12CommandSignature ID3D12CommandSignature
Definition: mini_d3d12.h:1373
#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 **)
Definition: mini_d3d12.h:5763
#define WINBASEAPI
Definition: mini_d3d12.h:6823
#define _In_reads_opt_(size)
Definition: mini_d3d12.h:93
interface ID3D12Debug ID3D12Debug
Definition: mini_d3d12.h:5807
struct ID3D12RootSignatureVtbl ID3D12RootSignatureVtbl
struct ID3D12CommandQueueVtbl ID3D12CommandQueueVtbl
struct D3D12_TILED_RESOURCE_COORDINATE D3D12_TILED_RESOURCE_COORDINATE
D3D12_DESCRIPTOR_RANGE_FLAGS
Definition: mini_d3d12.h:3027
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
Definition: mini_d3d12.h:3032
@ D3D12_DESCRIPTOR_RANGE_FLAG_NONE
Definition: mini_d3d12.h:3028
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Definition: mini_d3d12.h:3031
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
Definition: mini_d3d12.h:3030
@ D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
Definition: mini_d3d12.h:3029
D3D12_FILTER
Definition: mini_d3d12.h:2626
@ D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2630
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2643
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2641
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2636
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2656
@ D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2646
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2650
@ D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2631
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2649
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2645
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2640
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2639
@ D3D12_FILTER_MINIMUM_ANISOTROPIC
Definition: mini_d3d12.h:2653
@ D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2628
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2647
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2638
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2654
@ D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2637
@ D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2632
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2657
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2648
@ D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2655
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2658
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2659
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2661
@ D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2660
@ D3D12_FILTER_COMPARISON_ANISOTROPIC
Definition: mini_d3d12.h:2644
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2652
@ D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2642
@ D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2633
@ D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2629
@ D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2651
@ D3D12_FILTER_MAXIMUM_ANISOTROPIC
Definition: mini_d3d12.h:2662
@ D3D12_FILTER_ANISOTROPIC
Definition: mini_d3d12.h:2635
@ D3D12_FILTER_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2627
@ D3D12_FILTER_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2634
#define _COM_Outptr_
Definition: mini_d3d12.h:57
HRESULT(WINAPI * PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory)
Definition: mini_d3d12.h:6759
CHAR INT8
Definition: mini_d3d12.h:220
struct D3D12_TEX2D_ARRAY_SRV D3D12_TEX2D_ARRAY_SRV
struct D3D12_CACHED_PIPELINE_STATE D3D12_CACHED_PIPELINE_STATE
struct D3D12_TEX1D_ARRAY_UAV D3D12_TEX1D_ARRAY_UAV
DXGI_ADAPTER_FLAG
Definition: mini_d3d12.h:5941
@ DXGI_ADAPTER_FLAG_REMOTE
Definition: mini_d3d12.h:5943
@ DXGI_ADAPTER_FLAG_SOFTWARE
Definition: mini_d3d12.h:5944
@ DXGI_ADAPTER_FLAG_FORCE_DWORD
Definition: mini_d3d12.h:5945
@ DXGI_ADAPTER_FLAG_NONE
Definition: mini_d3d12.h:5942
struct _RPC_MESSAGE RPC_MESSAGE
struct IUnknownVtbl IUnknownVtbl
#define _In_
Definition: mini_d3d12.h:29
interface ID3D12PipelineLibrary ID3D12PipelineLibrary
Definition: mini_d3d12.h:1409
void * HANDLE
Definition: mini_d3d12.h:426
struct D3D12_TILE_REGION_SIZE D3D12_TILE_REGION_SIZE
interface ID3D12Device1 ID3D12Device1
Definition: mini_d3d12.h:1421
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)
Definition: mini_d3d12.h:6777
D3D12_CPU_PAGE_PROPERTY
Definition: mini_d3d12.h:2157
@ D3D12_CPU_PAGE_PROPERTY_UNKNOWN
Definition: mini_d3d12.h:2158
@ D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
Definition: mini_d3d12.h:2161
@ D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE
Definition: mini_d3d12.h:2160
@ D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE
Definition: mini_d3d12.h:2159
#define _In_reads_bytes_opt_(size)
Definition: mini_d3d12.h:101
D3D12_TEXTURE_LAYOUT
Definition: mini_d3d12.h:2126
@ D3D12_TEXTURE_LAYOUT_UNKNOWN
Definition: mini_d3d12.h:2127
@ D3D12_TEXTURE_LAYOUT_ROW_MAJOR
Definition: mini_d3d12.h:2128
@ D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
Definition: mini_d3d12.h:2130
@ D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
Definition: mini_d3d12.h:2129
_W64 INT32 LONG_PTR
Definition: mini_d3d12.h:253
interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer
Definition: mini_d3d12.h:1319
EXTERN_C const IID IID_ID3D12CommandList
Definition: mini_d3d12.h:3415
struct D3D12_VERTEX_BUFFER_VIEW D3D12_VERTEX_BUFFER_VIEW
wchar_t WCHAR
Definition: mini_d3d12.h:198
interface IUnknown IUnknown
Definition: mini_d3d12.h:744
unsigned __int64 UINT64
Definition: mini_d3d12.h:231
D3D12_SRV_DIMENSION
Definition: mini_d3d12.h:2385
@ D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY
Definition: mini_d3d12.h:2393
@ D3D12_SRV_DIMENSION_TEXTURECUBE
Definition: mini_d3d12.h:2395
@ D3D12_SRV_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2394
@ D3D12_SRV_DIMENSION_TEXTURECUBEARRAY
Definition: mini_d3d12.h:2396
@ D3D12_SRV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2391
@ D3D12_SRV_DIMENSION_TEXTURE2DMS
Definition: mini_d3d12.h:2392
@ D3D12_SRV_DIMENSION_BUFFER
Definition: mini_d3d12.h:2387
@ D3D12_SRV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2388
@ D3D12_SRV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2390
@ D3D12_SRV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2389
@ D3D12_SRV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2386
struct D3D12_DEPTH_STENCILOP_DESC D3D12_DEPTH_STENCILOP_DESC
D3D12_STENCIL_OP
Definition: mini_d3d12.h:2007
@ D3D12_STENCIL_OP_KEEP
Definition: mini_d3d12.h:2008
@ D3D12_STENCIL_OP_INVERT
Definition: mini_d3d12.h:2013
@ D3D12_STENCIL_OP_REPLACE
Definition: mini_d3d12.h:2010
@ D3D12_STENCIL_OP_ZERO
Definition: mini_d3d12.h:2009
@ D3D12_STENCIL_OP_INCR_SAT
Definition: mini_d3d12.h:2011
@ D3D12_STENCIL_OP_DECR
Definition: mini_d3d12.h:2015
@ D3D12_STENCIL_OP_INCR
Definition: mini_d3d12.h:2014
@ D3D12_STENCIL_OP_DECR_SAT
Definition: mini_d3d12.h:2012
#define _In_opt_
Definition: mini_d3d12.h:37
struct IDXGIFactory1Vtbl IDXGIFactory1Vtbl
EXTERN_C const IID IID_ID3D12Device
Definition: mini_d3d12.h:4612
EXTERN_C const IID IID_ID3D12QueryHeap
Definition: mini_d3d12.h:5665
IID * LPIID
Definition: mini_d3d12.h:474
ID3D10Blob ID3DBlob
Definition: mini_d3d12.h:1285
struct IDXGIAdapter1Vtbl IDXGIAdapter1Vtbl
EXTERN_C const IID IID_IDXGIAdapter1
Definition: mini_d3d12.h:6615
D3D12_INDIRECT_ARGUMENT_TYPE
Definition: mini_d3d12.h:2728
@ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
Definition: mini_d3d12.h:2732
@ D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW
Definition: mini_d3d12.h:2736
@ D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH
Definition: mini_d3d12.h:2731
@ D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
Definition: mini_d3d12.h:2733
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW
Definition: mini_d3d12.h:2729
@ D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW
Definition: mini_d3d12.h:2737
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT
Definition: mini_d3d12.h:2734
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
Definition: mini_d3d12.h:2730
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW
Definition: mini_d3d12.h:2735
#define D3D12_REQ_SUBRESOURCES
Definition: mini_d3d12.h:4604
D3D12_BLEND_OP
Definition: mini_d3d12.h:1915
@ D3D12_BLEND_OP_MAX
Definition: mini_d3d12.h:1920
@ D3D12_BLEND_OP_SUBTRACT
Definition: mini_d3d12.h:1917
@ D3D12_BLEND_OP_MIN
Definition: mini_d3d12.h:1919
@ D3D12_BLEND_OP_REV_SUBTRACT
Definition: mini_d3d12.h:1918
@ D3D12_BLEND_OP_ADD
Definition: mini_d3d12.h:1916
struct D3D12_TEX2D_ARRAY_UAV D3D12_TEX2D_ARRAY_UAV
struct DXGI_ADAPTER_DESC1 DXGI_ADAPTER_DESC1
struct ID3D12PipelineStateVtbl ID3D12PipelineStateVtbl
#define EXTERN_C
Definition: mini_d3d12.h:327
struct D3D12_DEPTH_STENCIL_VIEW_DESC D3D12_DEPTH_STENCIL_VIEW_DESC
struct D3D12_TEX1D_DSV D3D12_TEX1D_DSV
struct D3D12_STREAM_OUTPUT_BUFFER_VIEW D3D12_STREAM_OUTPUT_BUFFER_VIEW
D3D12_ROOT_PARAMETER_TYPE
Definition: mini_d3d12.h:2938
@ D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
Definition: mini_d3d12.h:2939
@ D3D12_ROOT_PARAMETER_TYPE_SRV
Definition: mini_d3d12.h:2942
@ D3D12_ROOT_PARAMETER_TYPE_UAV
Definition: mini_d3d12.h:2943
@ D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
Definition: mini_d3d12.h:2940
@ D3D12_ROOT_PARAMETER_TYPE_CBV
Definition: mini_d3d12.h:2941
struct D3D12_INPUT_ELEMENT_DESC D3D12_INPUT_ELEMENT_DESC
struct D3D12_STREAM_OUTPUT_DESC D3D12_STREAM_OUTPUT_DESC
struct D3D12_STATIC_SAMPLER_DESC D3D12_STATIC_SAMPLER_DESC
struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC D3D12_VERSIONED_ROOT_SIGNATURE_DESC
struct ID3D12CommandAllocatorVtbl ID3D12CommandAllocatorVtbl
_Null_terminated_ CONST WCHAR * LPCWSTR
Definition: mini_d3d12.h:206
struct D3D12_RESOURCE_BARRIER D3D12_RESOURCE_BARRIER
D3D12_QUERY_HEAP_TYPE
Definition: mini_d3d12.h:2715
@ D3D12_QUERY_HEAP_TYPE_TIMESTAMP
Definition: mini_d3d12.h:2717
@ D3D12_QUERY_HEAP_TYPE_SO_STATISTICS
Definition: mini_d3d12.h:2719
@ D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS
Definition: mini_d3d12.h:2718
@ D3D12_QUERY_HEAP_TYPE_OCCLUSION
Definition: mini_d3d12.h:2716
struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC
Definition: mini_d3d12.h:5961
struct D3D12_RENDER_TARGET_BLEND_DESC D3D12_RENDER_TARGET_BLEND_DESC
struct D3D12_DEPTH_STENCIL_DESC D3D12_DEPTH_STENCIL_DESC
struct D3D12_TEX2D_ARRAY_RTV D3D12_TEX2D_ARRAY_RTV
LPCSTR LPCOLESTR
Definition: mini_d3d12.h:937
interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer
Definition: mini_d3d12.h:1313
interface ID3D12Fence ID3D12Fence
Definition: mini_d3d12.h:1349
struct D3D12_SUBRESOURCE_TILING D3D12_SUBRESOURCE_TILING
#define PURE
Definition: mini_d3d12.h:709
D3D12_RESOURCE_BARRIER_TYPE
Definition: mini_d3d12.h:2875
@ D3D12_RESOURCE_BARRIER_TYPE_UAV
Definition: mini_d3d12.h:2878
@ D3D12_RESOURCE_BARRIER_TYPE_TRANSITION
Definition: mini_d3d12.h:2876
@ D3D12_RESOURCE_BARRIER_TYPE_ALIASING
Definition: mini_d3d12.h:2877
ID3DBlob * LPD3DBLOB
Definition: mini_d3d12.h:1287
enum _D3D_INCLUDE_TYPE D3D_INCLUDE_TYPE
struct D3D12_TEX2DMS_DSV D3D12_TEX2DMS_DSV
interface IDXGIObject IDXGIObject
Definition: mini_d3d12.h:5889
struct D3D12_TEXTURE_COPY_LOCATION D3D12_TEXTURE_COPY_LOCATION
interface ID3D10Blob * LPD3D10BLOB
Definition: mini_d3d12.h:1284
struct D3D12_TEX2DMS_RTV D3D12_TEX2DMS_RTV
struct D3D12_BUFFER_SRV D3D12_BUFFER_SRV
struct D3D12_BUFFER_UAV D3D12_BUFFER_UAV
unsigned long DWORD
Definition: mini_d3d12.h:182
EXTERN_C const IID IID_IDXGIFactory1
Definition: mini_d3d12.h:6435
unsigned __int64 * PUINT64
Definition: mini_d3d12.h:231
D3D12_TILE_COPY_FLAGS
Definition: mini_d3d12.h:2207
@ D3D12_TILE_COPY_FLAG_NONE
Definition: mini_d3d12.h:2208
@ D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
Definition: mini_d3d12.h:2211
@ D3D12_TILE_COPY_FLAG_NO_HAZARD
Definition: mini_d3d12.h:2209
@ D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
Definition: mini_d3d12.h:2210
#define BEGIN_INTERFACE
Definition: mini_d3d12.h:597
D3D12_DESCRIPTOR_HEAP_TYPE
Definition: mini_d3d12.h:2279
@ D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
Definition: mini_d3d12.h:2280
@ D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
Definition: mini_d3d12.h:2284
@ D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
Definition: mini_d3d12.h:2281
@ D3D12_DESCRIPTOR_HEAP_TYPE_RTV
Definition: mini_d3d12.h:2282
@ D3D12_DESCRIPTOR_HEAP_TYPE_DSV
Definition: mini_d3d12.h:2283
interface ID3D12Tools ID3D12Tools
Definition: mini_d3d12.h:1433
__int64 * PINT64
Definition: mini_d3d12.h:230
SHORT * PINT16
Definition: mini_d3d12.h:221
struct ID3D12DescriptorHeapVtbl ID3D12DescriptorHeapVtbl
struct _D3D_SHADER_MACRO D3D_SHADER_MACRO
CONST void far * LPCVOID
Definition: mini_d3d12.h:189
D3D12_COMPARISON_FUNC
Definition: mini_d3d12.h:1996
@ D3D12_COMPARISON_FUNC_GREATER_EQUAL
Definition: mini_d3d12.h:2003
@ D3D12_COMPARISON_FUNC_ALWAYS
Definition: mini_d3d12.h:2004
@ D3D12_COMPARISON_FUNC_NOT_EQUAL
Definition: mini_d3d12.h:2002
@ D3D12_COMPARISON_FUNC_LESS_EQUAL
Definition: mini_d3d12.h:2000
@ D3D12_COMPARISON_FUNC_LESS
Definition: mini_d3d12.h:1998
@ D3D12_COMPARISON_FUNC_NEVER
Definition: mini_d3d12.h:1997
@ D3D12_COMPARISON_FUNC_EQUAL
Definition: mini_d3d12.h:1999
@ D3D12_COMPARISON_FUNC_GREATER
Definition: mini_d3d12.h:2001
D3D12_SHADER_VISIBILITY
Definition: mini_d3d12.h:2977
@ D3D12_SHADER_VISIBILITY_DOMAIN
Definition: mini_d3d12.h:2981
@ D3D12_SHADER_VISIBILITY_ALL
Definition: mini_d3d12.h:2978
@ D3D12_SHADER_VISIBILITY_GEOMETRY
Definition: mini_d3d12.h:2982
@ D3D12_SHADER_VISIBILITY_VERTEX
Definition: mini_d3d12.h:2979
@ D3D12_SHADER_VISIBILITY_HULL
Definition: mini_d3d12.h:2980
@ D3D12_SHADER_VISIBILITY_PIXEL
Definition: mini_d3d12.h:2983
UINT UINT32
Definition: mini_d3d12.h:225
struct D3D12_RANGE D3D12_RANGE
struct __LUID * PLUID
Definition: mini_d3d12.h:4599
struct D3D12_TEX2D_ARRAY_DSV D3D12_TEX2D_ARRAY_DSV
interface IRpcStubBuffer IRpcStubBuffer
Definition: mini_d3d12.h:738
struct _GUID GUID
D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY
Definition: mini_d3d12.h:2831
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
Definition: mini_d3d12.h:2061
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED
Definition: mini_d3d12.h:2062
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF
Definition: mini_d3d12.h:2063
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF
Definition: mini_d3d12.h:2064
#define _Post_equal_to_(e)
Definition: mini_d3d12.h:77
struct D3D12_TEX1D_UAV D3D12_TEX1D_UAV
struct D3D12_TILE_SHAPE D3D12_TILE_SHAPE
struct D3D12_COMMAND_QUEUE_DESC D3D12_COMMAND_QUEUE_DESC
struct D3D12_RASTERIZER_DESC D3D12_RASTERIZER_DESC
struct ID3D10BlobVtbl ID3D10BlobVtbl
struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT D3D12_PLACED_SUBRESOURCE_FOOTPRINT
struct D3D12_HEAP_DESC D3D12_HEAP_DESC
HINSTANCE HMODULE
Definition: mini_d3d12.h:456
struct tagRECT * PRECT
D3D12_BLEND
Definition: mini_d3d12.h:1895
@ D3D12_BLEND_INV_SRC_COLOR
Definition: mini_d3d12.h:1899
@ D3D12_BLEND_DEST_COLOR
Definition: mini_d3d12.h:1904
@ D3D12_BLEND_INV_SRC1_ALPHA
Definition: mini_d3d12.h:1912
@ D3D12_BLEND_INV_BLEND_FACTOR
Definition: mini_d3d12.h:1908
@ D3D12_BLEND_BLEND_FACTOR
Definition: mini_d3d12.h:1907
@ D3D12_BLEND_SRC1_COLOR
Definition: mini_d3d12.h:1909
@ D3D12_BLEND_DEST_ALPHA
Definition: mini_d3d12.h:1902
@ D3D12_BLEND_INV_DEST_COLOR
Definition: mini_d3d12.h:1905
@ D3D12_BLEND_INV_SRC1_COLOR
Definition: mini_d3d12.h:1910
@ D3D12_BLEND_SRC_COLOR
Definition: mini_d3d12.h:1898
@ D3D12_BLEND_SRC_ALPHA
Definition: mini_d3d12.h:1900
@ D3D12_BLEND_ONE
Definition: mini_d3d12.h:1897
@ D3D12_BLEND_INV_DEST_ALPHA
Definition: mini_d3d12.h:1903
@ D3D12_BLEND_INV_SRC_ALPHA
Definition: mini_d3d12.h:1901
@ D3D12_BLEND_SRC_ALPHA_SAT
Definition: mini_d3d12.h:1906
@ D3D12_BLEND_ZERO
Definition: mini_d3d12.h:1896
@ D3D12_BLEND_SRC1_ALPHA
Definition: mini_d3d12.h:1911
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
struct D3D12_CONSTANT_BUFFER_VIEW_DESC D3D12_CONSTANT_BUFFER_VIEW_DESC
struct D3D12_ROOT_PARAMETER1 D3D12_ROOT_PARAMETER1
#define DECLARE_HANDLE(name)
Definition: mini_d3d12.h:432
#define _In_range_(lb, ub)
Definition: mini_d3d12.h:85
struct ID3D12QueryHeapVtbl ID3D12QueryHeapVtbl
#define STDMETHOD(method)
Definition: mini_d3d12.h:688
D3D12_ROOT_DESCRIPTOR_FLAGS
Definition: mini_d3d12.h:3050
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Definition: mini_d3d12.h:3053
@ D3D12_ROOT_DESCRIPTOR_FLAG_NONE
Definition: mini_d3d12.h:3051
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
Definition: mini_d3d12.h:3054
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE
Definition: mini_d3d12.h:3052
#define FAR
Definition: mini_d3d12.h:208
WINBASEAPI BOOL WINAPI CloseHandle(_In_ _Post_ptr_invalid_ HANDLE hObject)
struct ID3D12DeviceChildVtbl ID3D12DeviceChildVtbl
struct ID3D12DeviceVtbl ID3D12DeviceVtbl
interface ID3D12RootSignature ID3D12RootSignature
Definition: mini_d3d12.h:1307
D3D_PRIMITIVE_TOPOLOGY
Definition: mini_d3d12.h:958
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition: mini_d3d12.h:1007
@ D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1038
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition: mini_d3d12.h:1014
@ D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1050
@ D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:997
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition: mini_d3d12.h:1004
@ D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1051
@ D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1049
@ D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1052
@ D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1043
@ D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:983
@ D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:990
@ D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:999
@ D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1021
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition: mini_d3d12.h:963
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition: mini_d3d12.h:1017
@ D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:972
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition: mini_d3d12.h:1018
@ D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:982
@ D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:984
@ D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition: mini_d3d12.h:1001
@ D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:973
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition: mini_d3d12.h:1008
@ D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:974
@ D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1037
@ D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:989
@ D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition: mini_d3d12.h:1011
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition: mini_d3d12.h:965
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition: mini_d3d12.h:1015
@ D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:976
@ D3D10_PRIMITIVE_TOPOLOGY_POINTLIST
Definition: mini_d3d12.h:1002
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition: mini_d3d12.h:964
@ D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:979
@ D3D11_PRIMITIVE_TOPOLOGY_POINTLIST
Definition: mini_d3d12.h:1012
@ D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:998
@ D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition: mini_d3d12.h:959
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition: mini_d3d12.h:1010
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition: mini_d3d12.h:1016
@ D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:970
@ D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:971
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST
Definition: mini_d3d12.h:1003
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST
Definition: mini_d3d12.h:1013
@ D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:992
@ D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:980
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition: mini_d3d12.h:1005
@ D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1033
@ D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:977
@ D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1044
@ D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1025
@ D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1040
@ D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:994
@ D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:987
@ D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1045
@ D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1042
@ D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1028
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition: mini_d3d12.h:1006
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition: mini_d3d12.h:968
@ D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1022
@ D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1023
@ D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:988
@ D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:995
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition: mini_d3d12.h:962
@ D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1031
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST
Definition: mini_d3d12.h:961
@ D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:985
@ D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:978
@ D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1041
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition: mini_d3d12.h:967
@ D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1032
@ D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1039
@ D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1000
@ D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1046
@ D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:996
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition: mini_d3d12.h:1019
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition: mini_d3d12.h:966
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition: mini_d3d12.h:1009
@ D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1027
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition: mini_d3d12.h:1020
@ D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1029
@ D3D_PRIMITIVE_TOPOLOGY_POINTLIST
Definition: mini_d3d12.h:960
@ D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1048
@ D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:991
@ D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:969
@ D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1024
@ D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1030
@ D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1026
@ D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1034
@ D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:981
@ D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:975
@ D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1036
@ D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1035
@ D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1047
@ D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:993
@ D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:986
interface IRpcChannelBuffer IRpcChannelBuffer
Definition: mini_d3d12.h:739
struct tagRECT * NPRECT
struct D3D12_ROOT_CONSTANTS D3D12_ROOT_CONSTANTS
#define _Out_writes_bytes_opt_(size)
Definition: mini_d3d12.h:117
struct _RPC_SYNTAX_IDENTIFIER RPC_SYNTAX_IDENTIFIER
interface ID3D12PipelineState ID3D12PipelineState
Definition: mini_d3d12.h:1355
unsigned long ULONG
Definition: mini_d3d12.h:180
D3D12_HEAP_TYPE
Definition: mini_d3d12.h:2170
@ D3D12_HEAP_TYPE_DEFAULT
Definition: mini_d3d12.h:2171
@ D3D12_HEAP_TYPE_READBACK
Definition: mini_d3d12.h:2173
@ D3D12_HEAP_TYPE_UPLOAD
Definition: mini_d3d12.h:2172
@ D3D12_HEAP_TYPE_CUSTOM
Definition: mini_d3d12.h:2174
struct ID3D12DebugVtbl ID3D12DebugVtbl
#define _In_reads_(size)
Definition: mini_d3d12.h:89
D3D12_FENCE_FLAGS
Definition: mini_d3d12.h:2272
@ D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER
Definition: mini_d3d12.h:2275
@ D3D12_FENCE_FLAG_NONE
Definition: mini_d3d12.h:2273
@ D3D12_FENCE_FLAG_SHARED
Definition: mini_d3d12.h:2274
ULONG_PTR SIZE_T
Definition: mini_d3d12.h:259
EXTERN_C const IID IID_IDXGIFactory
Definition: mini_d3d12.h:6101
interface ID3D12CommandQueue ID3D12CommandQueue
Definition: mini_d3d12.h:1397
INT INT32
Definition: mini_d3d12.h:222
D3D12_PIPELINE_STATE_FLAGS
Definition: mini_d3d12.h:2056
@ D3D12_PIPELINE_STATE_FLAG_NONE
Definition: mini_d3d12.h:2057
@ D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
Definition: mini_d3d12.h:2058
D3D12_COMMAND_QUEUE_FLAGS
Definition: mini_d3d12.h:1854
@ D3D12_COMMAND_QUEUE_FLAG_NONE
Definition: mini_d3d12.h:1855
@ D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
Definition: mini_d3d12.h:1856
D3D12_FEATURE
Definition: mini_d3d12.h:2249
@ D3D12_FEATURE_FORMAT_SUPPORT
Definition: mini_d3d12.h:2253
@ D3D12_FEATURE_FEATURE_LEVELS
Definition: mini_d3d12.h:2252
@ D3D12_FEATURE_FORMAT_INFO
Definition: mini_d3d12.h:2255
@ D3D12_FEATURE_D3D12_OPTIONS
Definition: mini_d3d12.h:2250
@ D3D12_FEATURE_D3D12_OPTIONS2
Definition: mini_d3d12.h:2261
@ D3D12_FEATURE_SHADER_CACHE
Definition: mini_d3d12.h:2262
@ D3D12_FEATURE_SHADER_MODEL
Definition: mini_d3d12.h:2257
@ D3D12_FEATURE_ARCHITECTURE
Definition: mini_d3d12.h:2251
@ D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
Definition: mini_d3d12.h:2263
@ D3D12_FEATURE_ARCHITECTURE1
Definition: mini_d3d12.h:2260
@ D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
Definition: mini_d3d12.h:2254
@ D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
Definition: mini_d3d12.h:2256
@ D3D12_FEATURE_ROOT_SIGNATURE
Definition: mini_d3d12.h:2259
@ D3D12_FEATURE_D3D12_OPTIONS1
Definition: mini_d3d12.h:2258
interface IDXGIOutput IDXGIOutput
Definition: mini_d3d12.h:5901
struct D3D12_ROOT_DESCRIPTOR D3D12_ROOT_DESCRIPTOR
UINT64 D3D12_GPU_VIRTUAL_ADDRESS
Definition: mini_d3d12.h:2417
struct D3D12_ROOT_SIGNATURE_DESC D3D12_ROOT_SIGNATURE_DESC
unsigned __INT64_TYPE__ uint64_t
signed __INT64_TYPE__ int64_t
signed __INT32_TYPE__ int32_t
unsigned __INT32_TYPE__ uint32_t
DWORD LowPart
Definition: mini_d3d12.h:4595
LONG HighPart
Definition: mini_d3d12.h:4596
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
LPVOID lpSecurityDescriptor
Definition: mini_d3d12.h:271
BOOL AlphaToCoverageEnable
Definition: mini_d3d12.h:1956
BOOL IndependentBlendEnable
Definition: mini_d3d12.h:1957
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8]
Definition: mini_d3d12.h:1958
UINT right
Definition: mini_d3d12.h:1842
UINT bottom
Definition: mini_d3d12.h:1843
UINT front
Definition: mini_d3d12.h:1841
UINT StructureByteStride
Definition: mini_d3d12.h:2322
D3D12_BUFFER_SRV_FLAGS Flags
Definition: mini_d3d12.h:2323
UINT StructureByteStride
Definition: mini_d3d12.h:2441
D3D12_BUFFER_UAV_FLAGS Flags
Definition: mini_d3d12.h:2443
UINT64 CounterOffsetInBytes
Definition: mini_d3d12.h:2442
_Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob
D3D12_DEPTH_STENCIL_VALUE DepthStencil
Definition: mini_d3d12.h:2245
DXGI_FORMAT Format
Definition: mini_d3d12.h:2242
D3D12_COMMAND_QUEUE_FLAGS Flags
Definition: mini_d3d12.h:1869
D3D12_COMMAND_LIST_TYPE Type
Definition: mini_d3d12.h:1867
_Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs
ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:2106
D3D12_SHADER_BYTECODE CS
Definition: mini_d3d12.h:2107
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition: mini_d3d12.h:2109
D3D12_PIPELINE_STATE_FLAGS Flags
Definition: mini_d3d12.h:2110
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2420
D3D12_DEPTH_STENCILOP_DESC FrontFace
Definition: mini_d3d12.h:2032
D3D12_DEPTH_STENCILOP_DESC BackFace
Definition: mini_d3d12.h:2033
D3D12_COMPARISON_FUNC DepthFunc
Definition: mini_d3d12.h:2028
D3D12_DEPTH_WRITE_MASK DepthWriteMask
Definition: mini_d3d12.h:2027
D3D12_TEX2DMS_DSV Texture2DMS
Definition: mini_d3d12.h:2621
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray
Definition: mini_d3d12.h:2622
D3D12_TEX2D_ARRAY_DSV Texture2DArray
Definition: mini_d3d12.h:2620
D3D12_DSV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2614
D3D12_TEX1D_ARRAY_DSV Texture1DArray
Definition: mini_d3d12.h:2618
D3D12_STENCIL_OP StencilFailOp
Definition: mini_d3d12.h:2019
D3D12_COMPARISON_FUNC StencilFunc
Definition: mini_d3d12.h:2022
D3D12_STENCIL_OP StencilDepthFailOp
Definition: mini_d3d12.h:2020
D3D12_STENCIL_OP StencilPassOp
Definition: mini_d3d12.h:2021
D3D12_DESCRIPTOR_HEAP_TYPE Type
Definition: mini_d3d12.h:2688
D3D12_DESCRIPTOR_HEAP_FLAGS Flags
Definition: mini_d3d12.h:2690
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition: mini_d3d12.h:3037
UINT OffsetInDescriptorsFromTableStart
Definition: mini_d3d12.h:3042
D3D12_DESCRIPTOR_RANGE_FLAGS Flags
Definition: mini_d3d12.h:3041
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition: mini_d3d12.h:2954
UINT OffsetInDescriptorsFromTableStart
Definition: mini_d3d12.h:2958
_In_reads_(NumRects) const D3D12_RECT *pRects
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
Definition: mini_d3d12.h:2094
D3D12_INPUT_LAYOUT_DESC InputLayout
Definition: mini_d3d12.h:2093
ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:2082
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType
Definition: mini_d3d12.h:2095
D3D12_STREAM_OUTPUT_DESC StreamOutput
Definition: mini_d3d12.h:2088
D3D12_DEPTH_STENCIL_DESC DepthStencilState
Definition: mini_d3d12.h:2092
D3D12_PIPELINE_STATE_FLAGS Flags
Definition: mini_d3d12.h:2102
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition: mini_d3d12.h:2101
D3D12_RASTERIZER_DESC RasterizerState
Definition: mini_d3d12.h:2091
D3D12_HEAP_PROPERTIES Properties
Definition: mini_d3d12.h:2697
D3D12_HEAP_FLAGS Flags
Definition: mini_d3d12.h:2699
UINT64 SizeInBytes
Definition: mini_d3d12.h:2696
D3D12_CPU_PAGE_PROPERTY CPUPageProperty
Definition: mini_d3d12.h:2179
D3D12_HEAP_TYPE Type
Definition: mini_d3d12.h:2178
D3D12_MEMORY_POOL MemoryPoolPreference
Definition: mini_d3d12.h:2180
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2836
struct D3D12_INDIRECT_ARGUMENT_DESC::@17::@19 VertexBuffer
D3D12_INDIRECT_ARGUMENT_TYPE Type
Definition: mini_d3d12.h:2741
struct D3D12_INDIRECT_ARGUMENT_DESC::@17::@22 ShaderResourceView
struct D3D12_INDIRECT_ARGUMENT_DESC::@17::@21 ConstantBufferView
struct D3D12_INDIRECT_ARGUMENT_DESC::@17::@20 Constant
struct D3D12_INDIRECT_ARGUMENT_DESC::@17::@23 UnorderedAccessView
D3D12_INPUT_CLASSIFICATION InputSlotClass
Definition: mini_d3d12.h:2047
_Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs
UINT StartTileIndexInOverallResource
Definition: mini_d3d12.h:2779
D3D12_SUBRESOURCE_FOOTPRINT Footprint
Definition: mini_d3d12.h:2712
D3D12_QUERY_HEAP_TYPE Type
Definition: mini_d3d12.h:2723
SIZE_T End
Definition: mini_d3d12.h:1835
SIZE_T Begin
Definition: mini_d3d12.h:1834
D3D12_FILL_MODE FillMode
Definition: mini_d3d12.h:1978
D3D12_CULL_MODE CullMode
Definition: mini_d3d12.h:1979
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster
Definition: mini_d3d12.h:1988
D3D12_TEX1D_ARRAY_RTV Texture1DArray
Definition: mini_d3d12.h:2557
D3D12_TEX2DMS_RTV Texture2DMS
Definition: mini_d3d12.h:2560
D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray
Definition: mini_d3d12.h:2561
D3D12_RTV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2553
D3D12_TEX2D_ARRAY_RTV Texture2DArray
Definition: mini_d3d12.h:2559
ID3D12Resource * pResourceAfter
Definition: mini_d3d12.h:2861
ID3D12Resource * pResourceBefore
Definition: mini_d3d12.h:2860
D3D12_RESOURCE_BARRIER_FLAGS Flags
Definition: mini_d3d12.h:2884
D3D12_RESOURCE_BARRIER_TYPE Type
Definition: mini_d3d12.h:2883
D3D12_RESOURCE_UAV_BARRIER UAV
Definition: mini_d3d12.h:2888
D3D12_RESOURCE_TRANSITION_BARRIER Transition
Definition: mini_d3d12.h:2886
D3D12_RESOURCE_ALIASING_BARRIER Aliasing
Definition: mini_d3d12.h:2887
D3D12_RESOURCE_DIMENSION Dimension
Definition: mini_d3d12.h:2145
D3D12_TEXTURE_LAYOUT Layout
Definition: mini_d3d12.h:2153
DXGI_SAMPLE_DESC SampleDesc
Definition: mini_d3d12.h:2152
D3D12_RESOURCE_FLAGS Flags
Definition: mini_d3d12.h:2154
DXGI_FORMAT Format
Definition: mini_d3d12.h:2151
D3D12_RESOURCE_STATES StateBefore
Definition: mini_d3d12.h:2855
D3D12_RESOURCE_STATES StateAfter
Definition: mini_d3d12.h:2856
ID3D12Resource * pResource
Definition: mini_d3d12.h:2865
D3D12_ROOT_DESCRIPTOR_FLAGS Flags
Definition: mini_d3d12.h:3061
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: mini_d3d12.h:3071
D3D12_ROOT_DESCRIPTOR1 Descriptor
Definition: mini_d3d12.h:3069
D3D12_ROOT_CONSTANTS Constants
Definition: mini_d3d12.h:3068
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable
Definition: mini_d3d12.h:3067
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition: mini_d3d12.h:3065
D3D12_ROOT_CONSTANTS Constants
Definition: mini_d3d12.h:2990
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: mini_d3d12.h:2993
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition: mini_d3d12.h:2987
D3D12_ROOT_DESCRIPTOR Descriptor
Definition: mini_d3d12.h:2991
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable
Definition: mini_d3d12.h:2989
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition: mini_d3d12.h:3079
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition: mini_d3d12.h:3024
D3D12_COMPARISON_FUNC ComparisonFunc
Definition: mini_d3d12.h:2680
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition: mini_d3d12.h:2676
D3D12_FILTER Filter
Definition: mini_d3d12.h:2674
FLOAT BorderColor[4]
Definition: mini_d3d12.h:2681
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition: mini_d3d12.h:2675
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition: mini_d3d12.h:2677
_Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode
D3D12_SRV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2401
D3D12_TEXCUBE_SRV TextureCube
Definition: mini_d3d12.h:2412
D3D12_TEX1D_ARRAY_SRV Texture1DArray
Definition: mini_d3d12.h:2406
D3D12_TEX2DMS_SRV Texture2DMS
Definition: mini_d3d12.h:2409
D3D12_TEX2D_ARRAY_SRV Texture2DArray
Definition: mini_d3d12.h:2408
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray
Definition: mini_d3d12.h:2413
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray
Definition: mini_d3d12.h:2410
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition: mini_d3d12.h:3007
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition: mini_d3d12.h:3005
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: mini_d3d12.h:3016
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition: mini_d3d12.h:3006
D3D12_STATIC_BORDER_COLOR BorderColor
Definition: mini_d3d12.h:3011
D3D12_COMPARISON_FUNC ComparisonFunc
Definition: mini_d3d12.h:3010
D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation
Definition: mini_d3d12.h:2901
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2899
_Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration
_Field_size_full_(NumStrides) const UINT *pBufferStrides
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2329
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2344
UINT UnusedField_NothingToDefine
Definition: mini_d3d12.h:2587
UINT UnusedField_NothingToDefine
Definition: mini_d3d12.h:2518
UINT UnusedField_NothingToDefine
Definition: mini_d3d12.h:2377
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2359
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2365
D3D12_TEXTURE_COPY_TYPE Type
Definition: mini_d3d12.h:2824
ID3D12Resource * pResource
Definition: mini_d3d12.h:2823
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint
Definition: mini_d3d12.h:2826
D3D12_UAV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2486
D3D12_TEX1D_ARRAY_UAV Texture1DArray
Definition: mini_d3d12.h:2490
D3D12_TEX2D_ARRAY_UAV Texture2DArray
Definition: mini_d3d12.h:2492
D3D12_ROOT_SIGNATURE_DESC Desc_1_0
Definition: mini_d3d12.h:3091
D3D_ROOT_SIGNATURE_VERSION Version
Definition: mini_d3d12.h:3089
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1
Definition: mini_d3d12.h:3092
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2893
SIZE_T DedicatedVideoMemory
Definition: mini_d3d12.h:5954
SIZE_T SharedSystemMemory
Definition: mini_d3d12.h:5956
SIZE_T DedicatedSystemMemory
Definition: mini_d3d12.h:5955
WCHAR Description[128]
Definition: mini_d3d12.h:5949
SIZE_T DedicatedVideoMemory
Definition: mini_d3d12.h:5935
SIZE_T DedicatedSystemMemory
Definition: mini_d3d12.h:5936
WCHAR Description[128]
Definition: mini_d3d12.h:5930
SIZE_T SharedSystemMemory
Definition: mini_d3d12.h:5937
ID3D10Blob * This
Definition: mini_d3d12.h:1242
BEGIN_INTERFACE(ID3D10Blob *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12CommandAllocator * This
Definition: mini_d3d12.h:3326
ID3D12CommandAllocator _In_ REFGUID guid
Definition: mini_d3d12.h:3335
ID3D12CommandAllocator REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3361
ID3D12CommandAllocator _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3343
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3336
ID3D12CommandAllocator _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3355
ID3D12CommandAllocator _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3350
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
Definition: mini_d3d12.h:3337
ID3D12CommandAllocator REFIID riid
Definition: mini_d3d12.h:3360
ID3D12CommandList REFIID riid
Definition: mini_d3d12.h:3472
ID3D12CommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3449
ID3D12CommandList _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3462
ID3D12CommandList _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3467
ID3D12CommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3473
ID3D12CommandList _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3448
ID3D12CommandList _In_ REFGUID guid
Definition: mini_d3d12.h:3447
ID3D12CommandList * This
Definition: mini_d3d12.h:3438
ID3D12CommandList _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3455
ID3D12CommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource * pSrcResource
Definition: mini_d3d12.h:4467
void(STDMETHODCALLTYPE *ExecuteCommandLists)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pSrcRegionStartCoordinate
Definition: mini_d3d12.h:4468
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT NumRanges
Definition: mini_d3d12.h:4457
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags
ID3D12CommandQueue ID3D12Fence UINT64 Value
Definition: mini_d3d12.h:4496
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pDstRegionStartCoordinate
Definition: mini_d3d12.h:4466
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets
ID3D12CommandQueue _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:4437
_In_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4452
ID3D12CommandQueue _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandQueue REFIID riid
Definition: mini_d3d12.h:4447
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:4423
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12CommandQueue *This
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT D3D12_TILE_MAPPING_FLAGS Flags
Definition: mini_d3d12.h:4461
_In_ UINT _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists)
ID3D12CommandQueue _Out_ UINT64 _Out_ UINT64 * pCpuTimestamp
Definition: mini_d3d12.h:4513
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
Definition: mini_d3d12.h:4424
ID3D12CommandQueue ID3D12Fence * pFence
Definition: mini_d3d12.h:4495
_In_ ID3D12Resource UINT NumResourceRegions
Definition: mini_d3d12.h:4453
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
Definition: mini_d3d12.h:4470
_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
Definition: mini_d3d12.h:4469
ID3D12CommandQueue _Out_ UINT64 * pFrequency
Definition: mini_d3d12.h:4507
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates
ID3D12CommandQueue _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:4442
ID3D12CommandQueue _In_ REFGUID guid
Definition: mini_d3d12.h:4422
void(STDMETHODCALLTYPE *EndEvent)(ID3D12CommandQueue *This)
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap * pHeap
Definition: mini_d3d12.h:4456
ID3D12CommandQueue REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:4448
ID3D12CommandQueue _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:4430
ID3D12CommandQueue _Out_ UINT64 * pGpuTimestamp
Definition: mini_d3d12.h:4512
ID3D12CommandQueue * This
Definition: mini_d3d12.h:4413
_In_ ID3D12Resource * pDstResource
Definition: mini_d3d12.h:4465
BEGIN_INTERFACE(ID3D12Debug *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Debug * This
Definition: mini_d3d12.h:5844
void(STDMETHODCALLTYPE *EnableDebugLayer)(ID3D12Debug *This)
ID3D12DescriptorHeap _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5586
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5572
ID3D12DescriptorHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5597
ID3D12DescriptorHeap _In_ REFGUID guid
Definition: mini_d3d12.h:5571
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
Definition: mini_d3d12.h:5573
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5579
ID3D12DescriptorHeap REFIID riid
Definition: mini_d3d12.h:5596
ID3D12DescriptorHeap * This
Definition: mini_d3d12.h:5562
ID3D12DescriptorHeap _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5591
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1575
ID3D12DeviceChild * This
Definition: mini_d3d12.h:1565
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1576
ID3D12DeviceChild _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1589
ID3D12DeviceChild _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DeviceChild REFIID riid
Definition: mini_d3d12.h:1599
BEGIN_INTERFACE(ID3D12DeviceChild *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12DeviceChild REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:1600
ID3D12DeviceChild _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1594
ID3D12DeviceChild _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1582
ID3D12DeviceChild _In_ REFGUID guid
Definition: mini_d3d12.h:1574
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition: mini_d3d12.h:4968
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: mini_d3d12.h:4904
ID3D12Device _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:4846
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4963
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR Name
Definition: mini_d3d12.h:5045
_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
Definition: mini_d3d12.h:5028
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialResourceState
Definition: mini_d3d12.h:5007
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4951
ID3D12Device _In_ ID3D12DeviceChild * pObject
Definition: mini_d3d12.h:5042
void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(ID3D12Device *This
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC * pDescriptorHeapDesc
Definition: mini_d3d12.h:4918
ID3D12Device _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:4864
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4938
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT *pNumRows
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4957
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
Definition: mini_d3d12.h:5037
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvCommandSignature
Definition: mini_d3d12.h:5116
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:5114
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition: mini_d3d12.h:4902
ID3D12Device _In_ UINT _In_ UINT numResourceDescs
Definition: mini_d3d12.h:4992
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition: mini_d3d12.h:4874
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: mini_d3d12.h:5027
ID3D12Device _In_ UINT visibleMask
Definition: mini_d3d12.h:4991
ID3D12Device _In_ LPCWSTR DWORD Access
Definition: mini_d3d12.h:5059
void(STDMETHODCALLTYPE *GetCopyableFootprints)(ID3D12Device *This
ID3D12Device _In_ HANDLE NTHandle
Definition: mini_d3d12.h:5051
ID3D12Device BOOL Enable
Definition: mini_d3d12.h:5108
_In_opt_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4943
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource * pCounterResource
Definition: mini_d3d12.h:4950
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: mini_d3d12.h:4896
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC * pDesc
Definition: mini_d3d12.h:5006
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC * pDesc
Definition: mini_d3d12.h:4873
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: mini_d3d12.h:4895
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition: mini_d3d12.h:5008
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE type
Definition: mini_d3d12.h:4880
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition: mini_d3d12.h:5115
ID3D12Device UINT64 InitialValue
Definition: mini_d3d12.h:5078
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition: mini_d3d12.h:5026
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: mini_d3d12.h:4979
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4958
_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
Definition: mini_d3d12.h:5122
ID3D12Device _In_ UINT _In_ SIZE_T REFIID _COM_Outptr_ void ** ppvRootSignature
Definition: mini_d3d12.h:4934
_In_ UINT NumDestDescriptorRanges
Definition: mini_d3d12.h:4973
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD Access
Definition: mini_d3d12.h:5044
_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
Definition: mini_d3d12.h:5124
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
Definition: mini_d3d12.h:5034
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID _COM_Outptr_ void ** ppCommandAllocator
Definition: mini_d3d12.h:4882
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
Definition: mini_d3d12.h:5009
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4964
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID _COM_Outptr_ void ** ppCommandQueue
Definition: mini_d3d12.h:4875
ID3D12Device _In_ UINT _In_ SIZE_T blobLengthInBytes
Definition: mini_d3d12.h:4932
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
Definition: mini_d3d12.h:5017
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4952
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES * pHeapProperties
Definition: mini_d3d12.h:5004
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID riid
Definition: mini_d3d12.h:4905
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: mini_d3d12.h:4986
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4939
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: mini_d3d12.h:4889
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
Definition: mini_d3d12.h:5036
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID riid
Definition: mini_d3d12.h:5016
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID _COM_Outptr_ void ** ppCommandList
Definition: mini_d3d12.h:4906
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID _COM_Outptr_ void ** ppvHeap
Definition: mini_d3d12.h:4920
ID3D12Device UINT _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects)
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC * pDesc
Definition: mini_d3d12.h:5113
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
Definition: mini_d3d12.h:5010
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
Definition: mini_d3d12.h:5103
void(STDMETHODCALLTYPE *GetResourceTiling)(ID3D12Device *This
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition: mini_d3d12.h:4919
ID3D12Device _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition: mini_d3d12.h:4925
ID3D12Device _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:4852
ID3D12Device _In_ ID3D12Heap UINT64 HeapOffset
Definition: mini_d3d12.h:5023
ID3D12Device D3D12_FEATURE _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition: mini_d3d12.h:5092
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC * pDesc
Definition: mini_d3d12.h:5101
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4945
ID3D12Device _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:4859
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
Definition: mini_d3d12.h:5025
ID3D12Device _In_ UINT D3D12_HEAP_TYPE heapType
Definition: mini_d3d12.h:4999
_In_ const D3D12_SAMPLER_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4969
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES * pAttributes
Definition: mini_d3d12.h:5043
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources
ID3D12Device _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:4845
_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
Definition: mini_d3d12.h:5126
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition: mini_d3d12.h:5089
_In_ UINT NumDescriptors
Definition: mini_d3d12.h:4983
ID3D12Device UINT NumObjects
Definition: mini_d3d12.h:5066
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition: mini_d3d12.h:4976
ID3D12Device _In_ const D3D12_RESOURCE_DESC * pDesc
Definition: mini_d3d12.h:5033
ID3D12Device UINT64 D3D12_FENCE_FLAGS Flags
Definition: mini_d3d12.h:5079
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4944
ID3D12Device _In_ UINT _In_ UINT _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs)
ID3D12Device _In_ ID3D12Heap * pHeap
Definition: mini_d3d12.h:5022
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE * pStandardTileShapeForNonPackedMips
Definition: mini_d3d12.h:5123
_In_ UINT _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition: mini_d3d12.h:4985
ID3D12Device _In_ const D3D12_HEAP_DESC * pDesc
Definition: mini_d3d12.h:5015
ID3D12Device _In_ UINT nodeMask
Definition: mini_d3d12.h:4901
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR _Out_ HANDLE * pHandle
Definition: mini_d3d12.h:5046
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC * pDesc
Definition: mini_d3d12.h:5024
ID3D12Device _In_ REFGUID guid
Definition: mini_d3d12.h:4844
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition: mini_d3d12.h:5096
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition: mini_d3d12.h:5102
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC * pDesc
Definition: mini_d3d12.h:4887
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS HeapFlags
Definition: mini_d3d12.h:5005
ID3D12Device D3D12_FEATURE UINT FeatureSupportDataSize
Definition: mini_d3d12.h:4913
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator * pCommandAllocator
Definition: mini_d3d12.h:4903
_In_ ID3D12Resource _Out_opt_ UINT * pNumTilesForEntireResource
Definition: mini_d3d12.h:5121
ID3D12Device _In_ HANDLE REFIID riid
Definition: mini_d3d12.h:5052
ID3D12Device _In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition: mini_d3d12.h:5061
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC * pDesc
Definition: mini_d3d12.h:4894
_In_ UINT _In_ UINT _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition: mini_d3d12.h:5080
ID3D12Device _In_ HANDLE REFIID _COM_Outptr_opt_ void ** ppvObj
Definition: mini_d3d12.h:5053
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition: mini_d3d12.h:5035
void(STDMETHODCALLTYPE *CreateSampler)(ID3D12Device *This
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID riid
Definition: mini_d3d12.h:4881
void(STDMETHODCALLTYPE *CreateConstantBufferView)(ID3D12Device *This
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart
Definition: mini_d3d12.h:4984
ID3D12Device _In_ UINT _In_ SIZE_T REFIID riid
Definition: mini_d3d12.h:4933
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID _COM_Outptr_ void ** ppFence
Definition: mini_d3d12.h:5081
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: mini_d3d12.h:4888
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource
ID3D12Device * This
Definition: mini_d3d12.h:4835
ID3D12Device D3D12_FEATURE Feature
Definition: mini_d3d12.h:4911
void(STDMETHODCALLTYPE *CreateShaderResourceView)(ID3D12Device *This
ID3D12Device _In_ LPCWSTR Name
Definition: mini_d3d12.h:5058
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT FirstSubresourceTilingToGet
Definition: mini_d3d12.h:5125
ID3D12Device _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ ID3D12Resource * pTiledResource
Definition: mini_d3d12.h:5120
void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(ID3D12Device *This
ID3D12Fence UINT64 Value
Definition: mini_d3d12.h:5359
ID3D12Fence UINT64 HANDLE hEvent
Definition: mini_d3d12.h:5360
ID3D12Fence _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5326
ID3D12Fence _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5344
ID3D12Fence _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5332
ID3D12Fence REFIID riid
Definition: mini_d3d12.h:5349
ID3D12Fence _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5325
ID3D12Fence _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Fence _In_ REFGUID guid
Definition: mini_d3d12.h:5324
ID3D12Fence _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5339
ID3D12Fence * This
Definition: mini_d3d12.h:5315
ID3D12Fence REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5350
void(STDMETHODCALLTYPE *ResolveSubresource)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *CopyTiles)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
Definition: mini_d3d12.h:3870
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource * pDestinationBuffer
Definition: mini_d3d12.h:4105
_In_ ID3D12GraphicsCommandList * pCommandList
Definition: mini_d3d12.h:3944
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
Definition: mini_d3d12.h:3962
_In_opt_ ID3D12Resource * pBuffer
Definition: mini_d3d12.h:4110
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 BufferStartOffsetInBytes
Definition: mini_d3d12.h:3900
void(STDMETHODCALLTYPE *CopyResource)(ID3D12GraphicsCommandList *This
_In_ ID3D12CommandSignature _In_ UINT MaxCommandCount
Definition: mini_d3d12.h:4132
_In_ UINT _In_ UINT _In_ UINT StartIndexLocation
Definition: mini_d3d12.h:3862
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource * pSrcResource
Definition: mini_d3d12.h:3907
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
Definition: mini_d3d12.h:3864
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle
Definition: mini_d3d12.h:4067
void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT NumRects
Definition: mini_d3d12.h:4070
ID3D12GraphicsCommandList _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3820
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT _In_ INT BaseVertexLocation
Definition: mini_d3d12.h:3863
_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
Definition: mini_d3d12.h:3878
void(STDMETHODCALLTYPE *ExecuteBundle)(ID3D12GraphicsCommandList *This
_In_opt_ ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:3953
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
Definition: mini_d3d12.h:4111
_In_ UINT _In_ UINT _In_reads_(Num32BitValuesToSet *sizeof(UINT)) const void *pSrcData
_In_ UINT _In_ UINT _In_ UINT _In_ UINT StartInstanceLocation
Definition: mini_d3d12.h:3856
void(STDMETHODCALLTYPE *OMSetStencilRef)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
Definition: mini_d3d12.h:3877
void(STDMETHODCALLTYPE *CopyBufferRegion)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pDstBuffer
Definition: mini_d3d12.h:3874
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 ArgumentBufferOffset
Definition: mini_d3d12.h:4134
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT StartIndex
Definition: mini_d3d12.h:4103
_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
Definition: mini_d3d12.h:4032
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT NumRects
Definition: mini_d3d12.h:4061
void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE Type
Definition: mini_d3d12.h:4090
_In_opt_ const D3D12_INDEX_BUFFER_VIEW * pView
Definition: mini_d3d12.h:4027
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
Definition: mini_d3d12.h:3908
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT Num32BitValuesToSet
Definition: mini_d3d12.h:3984
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3807
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT NumRects
Definition: mini_d3d12.h:4079
void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT NumRects
Definition: mini_d3d12.h:4054
void(STDMETHODCALLTYPE *IASetVertexBuffers)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap * pQueryHeap
Definition: mini_d3d12.h:4089
ID3D12GraphicsCommandList _In_ REFGUID guid
Definition: mini_d3d12.h:3805
void(STDMETHODCALLTYPE *SOSetTargets)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource * pSrcBuffer
Definition: mini_d3d12.h:3876
void(STDMETHODCALLTYPE *OMSetBlendFactor)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 DstOffset
Definition: mini_d3d12.h:3875
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
Definition: mini_d3d12.h:3892
_In_ ID3D12Resource _In_opt_ const D3D12_DISCARD_REGION * pRegion
Definition: mini_d3d12.h:4085
void(STDMETHODCALLTYPE *RSSetScissorRects)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT StartVertexLocation
Definition: mini_d3d12.h:3855
void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *RSSetViewports)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT NumQueries
Definition: mini_d3d12.h:4104
void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4068
void(STDMETHODCALLTYPE *SetMarker)(ID3D12GraphicsCommandList *This
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT DstZ
Definition: mini_d3d12.h:3885
void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator * pAllocator
Definition: mini_d3d12.h:3844
_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
Definition: mini_d3d12.h:3884
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: mini_d3d12.h:3845
void(STDMETHODCALLTYPE *ClearRenderTargetView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *CopyTextureRegion)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3813
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 D3D12_TILE_COPY_FLAGS Flags
Definition: mini_d3d12.h:3901
void(STDMETHODCALLTYPE *ClearDepthStencilView)(ID3D12GraphicsCommandList *This
_In_ ID3D12PipelineState * pPipelineState
Definition: mini_d3d12.h:3935
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT Index
Definition: mini_d3d12.h:4091
void(STDMETHODCALLTYPE *IASetIndexBuffer)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pTiledResource
Definition: mini_d3d12.h:3896
_In_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4084
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pRenderTargetDescriptors
Definition: mini_d3d12.h:4044
_In_ UINT _In_ UINT _In_ UINT DestOffsetIn32BitValues
Definition: mini_d3d12.h:3973
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView
Definition: mini_d3d12.h:4050
void(STDMETHODCALLTYPE *SetDescriptorHeaps)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *ResourceBarrier)(ID3D12GraphicsCommandList *This
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL RTsSingleHandleToDescriptorRange
Definition: mini_d3d12.h:4045
_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
Definition: mini_d3d12.h:4135
_In_ const D3D12_TEXTURE_COPY_LOCATION * pDst
Definition: mini_d3d12.h:3882
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE * pTileRegionSize
Definition: mini_d3d12.h:3898
ID3D12GraphicsCommandList * This
Definition: mini_d3d12.h:3796
_In_ UINT _In_ UINT SrcData
Definition: mini_d3d12.h:3972
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION * pSrc
Definition: mini_d3d12.h:3886
void(STDMETHODCALLTYPE *ResolveQueryData)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_opt_ ID3D12PipelineState * pPipelineState
Definition: mini_d3d12.h:3849
_In_ UINT _In_ UINT ThreadGroupCountY
Definition: mini_d3d12.h:3869
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
Definition: mini_d3d12.h:3887
_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
Definition: mini_d3d12.h:3891
void(STDMETHODCALLTYPE *OMSetRenderTargets)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *Dispatch)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *ClearState)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList REFIID riid
Definition: mini_d3d12.h:3830
_In_ ID3D12Resource _In_ UINT DstSubresource
Definition: mini_d3d12.h:3906
void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap
Definition: mini_d3d12.h:4066
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3806
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
Definition: mini_d3d12.h:3913
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 Stencil
Definition: mini_d3d12.h:4053
_In_ UINT _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps)
_In_ ID3D12CommandSignature * pCommandSignature
Definition: mini_d3d12.h:4131
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource _In_ UINT64 CountBufferOffset
Definition: mini_d3d12.h:4136
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
Definition: mini_d3d12.h:3897
_In_ UINT _In_ UINT InstanceCount
Definition: mini_d3d12.h:3854
void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS ClearFlags
Definition: mini_d3d12.h:4051
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT _In_ DXGI_FORMAT Format
Definition: mini_d3d12.h:3909
_In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView
Definition: mini_d3d12.h:4059
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT Depth
Definition: mini_d3d12.h:4052
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource * pBuffer
Definition: mini_d3d12.h:3899
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource * pArgumentBuffer
Definition: mini_d3d12.h:4133
_In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports)
ID3D12GraphicsCommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3831
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:3998
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT DstX
Definition: mini_d3d12.h:3883
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pDepthStencilDescriptor
Definition: mini_d3d12.h:4046
void(STDMETHODCALLTYPE *SetPipelineState)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource _In_ UINT64 AlignedDestinationBufferOffset
Definition: mini_d3d12.h:4106
ID3D12GraphicsCommandList _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3825
_In_opt_ ID3D12Resource _In_ UINT64 _In_ D3D12_PREDICATION_OP Operation
Definition: mini_d3d12.h:4112
BEGIN_INTERFACE(ID3D12Object *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Object _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1494
ID3D12Object _In_ REFGUID guid
Definition: mini_d3d12.h:1486
ID3D12Object _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1487
ID3D12Object _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1501
ID3D12Object _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1506
ID3D12Object _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1488
ID3D12Object * This
Definition: mini_d3d12.h:1477
ID3D12Object _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Pageable REFIID riid
Definition: mini_d3d12.h:1793
ID3D12Pageable _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1788
ID3D12Pageable _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1769
ID3D12Pageable REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:1794
ID3D12Pageable * This
Definition: mini_d3d12.h:1759
BEGIN_INTERFACE(ID3D12Pageable *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Pageable _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1776
ID3D12Pageable _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1770
ID3D12Pageable _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1783
ID3D12Pageable _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Pageable _In_ REFGUID guid
Definition: mini_d3d12.h:1768
ID3D12PipelineState _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5456
ID3D12PipelineState REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5480
ID3D12PipelineState REFIID riid
Definition: mini_d3d12.h:5479
ID3D12PipelineState _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12PipelineState * This
Definition: mini_d3d12.h:5445
ID3D12PipelineState _COM_Outptr_ ID3DBlob ** ppBlob
Definition: mini_d3d12.h:5485
ID3D12PipelineState _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5462
ID3D12PipelineState _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5455
ID3D12PipelineState _In_ REFGUID guid
Definition: mini_d3d12.h:5454
ID3D12PipelineState _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5469
ID3D12PipelineState _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5474
ID3D12QueryHeap REFIID riid
Definition: mini_d3d12.h:5721
ID3D12QueryHeap * This
Definition: mini_d3d12.h:5687
ID3D12QueryHeap _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5716
ID3D12QueryHeap _In_ REFGUID guid
Definition: mini_d3d12.h:5696
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5697
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5698
ID3D12QueryHeap _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5704
ID3D12QueryHeap _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5711
ID3D12QueryHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5722
ID3D12QueryHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
BEGIN_INTERFACE(ID3D12Resource *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Resource REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3191
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void * pSrcData
Definition: mini_d3d12.h:3218
ID3D12Resource _Out_ void UINT DstRowPitch
Definition: mini_d3d12.h:3226
ID3D12Resource _Out_ void * pDstData
Definition: mini_d3d12.h:3225
ID3D12Resource UINT DstSubresource
Definition: mini_d3d12.h:3216
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
Definition: mini_d3d12.h:3235
ID3D12Resource UINT _In_opt_ const D3D12_RANGE * pReadRange
Definition: mini_d3d12.h:3197
ID3D12Resource _Out_ void UINT UINT UINT _In_opt_ const D3D12_BOX * pSrcBox
Definition: mini_d3d12.h:3229
ID3D12Resource _Out_ void UINT UINT DstDepthPitch
Definition: mini_d3d12.h:3227
ID3D12Resource REFIID riid
Definition: mini_d3d12.h:3190
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT UINT SrcDepthPitch
Definition: mini_d3d12.h:3220
ID3D12Resource _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3173
ID3D12Resource * This
Definition: mini_d3d12.h:3156
ID3D12Resource _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3167
void(STDMETHODCALLTYPE *Unmap)(ID3D12Resource *This
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES * pHeapProperties
Definition: mini_d3d12.h:3234
ID3D12Resource _In_ REFGUID guid
Definition: mini_d3d12.h:3165
ID3D12Resource _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3180
ID3D12Resource UINT _In_opt_ const D3D12_RANGE _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData)
ID3D12Resource UINT Subresource
Definition: mini_d3d12.h:3196
ID3D12Resource _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3185
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT SrcRowPitch
Definition: mini_d3d12.h:3219
ID3D12Resource _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3166
ID3D12Resource UINT _In_opt_ const D3D12_BOX * pDstBox
Definition: mini_d3d12.h:3217
ID3D12Resource _Out_ void UINT UINT UINT SrcSubresource
Definition: mini_d3d12.h:3228
UINT _In_opt_ const D3D12_RANGE * pWrittenRange
Definition: mini_d3d12.h:3203
ID3D12RootSignature _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12RootSignature _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1688
ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:1694
ID3D12RootSignature _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1683
ID3D12RootSignature _In_ REFGUID guid
Definition: mini_d3d12.h:1668
ID3D12RootSignature * This
Definition: mini_d3d12.h:1659
ID3D12RootSignature _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1670
ID3D12RootSignature _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1676
ID3D12RootSignature REFIID riid
Definition: mini_d3d12.h:1693
ID3D12RootSignature _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1669
BEGIN_INTERFACE(ID3D12RootSignature *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIAdapter1 _In_ REFGUID Name
Definition: mini_d3d12.h:6651
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC1 * pDesc
Definition: mini_d3d12.h:6707
IDXGIAdapter1 _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6680
IDXGIAdapter1 _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: mini_d3d12.h:6701
IDXGIAdapter1 UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: mini_d3d12.h:6687
IDXGIAdapter1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6662
IDXGIAdapter1 _In_ REFGUID InterfaceName
Definition: mini_d3d12.h:6699
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6670
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6672
IDXGIAdapter1 * This
Definition: mini_d3d12.h:6641
IDXGIAdapter1 UINT Output
Definition: mini_d3d12.h:6685
IDXGIAdapter1 _In_ REFIID riid
Definition: mini_d3d12.h:6678
IDXGIAdapter1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
BEGIN_INTERFACE(IDXGIAdapter1 *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC * pDesc
Definition: mini_d3d12.h:6693
IDXGIAdapter1 _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6652
IDXGIAdapter _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6361
IDXGIAdapter _In_ REFGUID InterfaceName
Definition: mini_d3d12.h:6380
IDXGIAdapter _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6351
IDXGIAdapter _In_ REFGUID Name
Definition: mini_d3d12.h:6332
IDXGIAdapter _In_ REFIID riid
Definition: mini_d3d12.h:6359
IDXGIAdapter _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6343
IDXGIAdapter _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIAdapter UINT Output
Definition: mini_d3d12.h:6366
IDXGIAdapter _Out_ DXGI_ADAPTER_DESC * pDesc
Definition: mini_d3d12.h:6374
BEGIN_INTERFACE(IDXGIAdapter *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIAdapter UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: mini_d3d12.h:6368
IDXGIAdapter _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6333
IDXGIAdapter _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6353
IDXGIAdapter _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: mini_d3d12.h:6382
IDXGIAdapter * This
Definition: mini_d3d12.h:6322
IDXGIFactory1 HWND WindowHandle
Definition: mini_d3d12.h:6515
IDXGIFactory1 HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6539
IDXGIFactory1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6485
IDXGIFactory1 UINT Adapter
Definition: mini_d3d12.h:6508
IDXGIFactory1 _Out_ HWND * pWindowHandle
Definition: mini_d3d12.h:6522
IDXGIFactory1 * This
Definition: mini_d3d12.h:6464
IDXGIFactory1 _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6503
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: mini_d3d12.h:6530
IDXGIFactory1 HWND UINT Flags
Definition: mini_d3d12.h:6516
IDXGIFactory1 _In_ REFGUID Name
Definition: mini_d3d12.h:6474
IDXGIFactory1 HMODULE Module
Definition: mini_d3d12.h:6537
IDXGIFactory1 _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6475
IDXGIFactory1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: mini_d3d12.h:6532
IDXGIFactory1 _In_ REFIID riid
Definition: mini_d3d12.h:6501
IDXGIFactory1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6495
IDXGIFactory1 _In_ IUnknown * pDevice
Definition: mini_d3d12.h:6528
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6510
BEGIN_INTERFACE(IDXGIFactory1 *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIFactory1 _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6493
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: mini_d3d12.h:6546
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: mini_d3d12.h:6217
IDXGIFactory _Out_ HWND * pWindowHandle
Definition: mini_d3d12.h:6207
IDXGIFactory UINT Adapter
Definition: mini_d3d12.h:6193
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: mini_d3d12.h:6215
IDXGIFactory HWND WindowHandle
Definition: mini_d3d12.h:6200
IDXGIFactory _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6170
IDXGIFactory _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6160
IDXGIFactory _In_ REFIID riid
Definition: mini_d3d12.h:6186
IDXGIFactory * This
Definition: mini_d3d12.h:6149
IDXGIFactory _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6178
IDXGIFactory HMODULE Module
Definition: mini_d3d12.h:6222
BEGIN_INTERFACE(IDXGIFactory *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIFactory _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory _In_ REFGUID Name
Definition: mini_d3d12.h:6159
IDXGIFactory _In_ IUnknown * pDevice
Definition: mini_d3d12.h:6213
IDXGIFactory UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6195
IDXGIFactory _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6188
IDXGIFactory _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6180
IDXGIFactory HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6224
IDXGIFactory HWND UINT Flags
Definition: mini_d3d12.h:6201
IDXGIObject _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIObject _In_ REFGUID Name
Definition: mini_d3d12.h:6028
IDXGIObject _In_ REFIID riid
Definition: mini_d3d12.h:6055
IDXGIObject _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6039
IDXGIObject _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6029
IDXGIObject * This
Definition: mini_d3d12.h:6018
IDXGIObject _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6057
IDXGIObject _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6047
IDXGIObject _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6049
BEGIN_INTERFACE(IDXGIObject *This, REFIID riid, _COM_Outptr_ void **ppvObject)
BEGIN_INTERFACE(IUnknown *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IUnknown * This
Definition: mini_d3d12.h:854
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
LONGLONG QuadPart
Definition: mini_d3d12.h:319
struct _LARGE_INTEGER::@6 u
struct _LARGE_INTEGER::@5 DUMMYSTRUCTNAME