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