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 */
269typedef struct _SECURITY_ATTRIBUTES {
274
275/* winnt.h */
276#ifdef __clang__
277typedef int64_t LONGLONG;
278#else
279typedef __int64 LONGLONG;
280#endif
281
282typedef _Return_type_success_(return >= 0) LONG HRESULT;
283
284#if defined(_WIN32) || defined(_MPPC_)
285
286// Win32 doesn't support __export
287
288#ifdef _68K_
289#define STDMETHODCALLTYPE __cdecl
290#else
291#define STDMETHODCALLTYPE __stdcall
292#endif
293#define STDMETHODVCALLTYPE __cdecl
294
295#define STDAPICALLTYPE __stdcall
296#define STDAPIVCALLTYPE __cdecl
297
298#else
299
300#define STDMETHODCALLTYPE __export __stdcall
301#define STDMETHODVCALLTYPE __export __cdecl
302
303#define STDAPICALLTYPE __export __stdcall
304#define STDAPIVCALLTYPE __export __cdecl
305
306#endif
307
308#define DUMMYSTRUCTNAME
309
310typedef union _LARGE_INTEGER {
311 struct {
315 struct {
318 } u;
321
322#ifdef __cplusplus
323#define EXTERN_C extern "C"
324#define EXTERN_C_START extern "C" {
325#define EXTERN_C_END }
326#else
327#define EXTERN_C extern
328#define EXTERN_C_START
329#define EXTERN_C_END
330#endif
331
332#if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)) && !defined(MIDL_PASS)
333#define DECLSPEC_IMPORT __declspec(dllimport)
334#else
335#define DECLSPEC_IMPORT
336#endif
337
338#ifdef __cplusplus
339
340// Define operator overloads to enable bit operations on enum values that are
341// used to define flags. Use DEFINE_ENUM_FLAG_OPERATORS(YOUR_TYPE) to enable these
342// operators on YOUR_TYPE.
343
344// Moved here from objbase.w.
345
346// Templates are defined here in order to avoid a dependency on C++ <type_traits> header file,
347// or on compiler-specific contructs.
348extern "C++" {
349
350template<size_t S>
351struct _ENUM_FLAG_INTEGER_FOR_SIZE;
352
353template<>
354struct _ENUM_FLAG_INTEGER_FOR_SIZE<1> {
355 typedef INT8 type;
356};
357
358template<>
359struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> {
360 typedef INT16 type;
361};
362
363template<>
364struct _ENUM_FLAG_INTEGER_FOR_SIZE<4> {
365 typedef INT32 type;
366};
367
368// used as an approximation of std::underlying_type<T>
369template<class T>
370struct _ENUM_FLAG_SIZED_INTEGER {
371 typedef typename _ENUM_FLAG_INTEGER_FOR_SIZE<sizeof(T)>::type type;
372};
373}
374
375#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \
376 extern "C++" { \
377 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
378 inline ENUMTYPE operator|(ENUMTYPE a, ENUMTYPE b) { \
379 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
380 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) | ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
381 } \
382 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
383 inline ENUMTYPE &operator|=(ENUMTYPE &a, ENUMTYPE b) { \
384 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
385 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
386 } \
387 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
388 inline ENUMTYPE operator&(ENUMTYPE a, ENUMTYPE b) { \
389 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
390 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) & ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
391 } \
392 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
393 inline ENUMTYPE &operator&=(ENUMTYPE &a, ENUMTYPE b) { \
394 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
395 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
396 } \
397 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
398 inline ENUMTYPE operator~(ENUMTYPE a) { \
399 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
400 return ENUMTYPE(~((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a)); \
401 } \
402 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
403 inline ENUMTYPE operator^(ENUMTYPE a, ENUMTYPE b) { \
404 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
405 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
406 } \
407 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
408 inline ENUMTYPE &operator^=(ENUMTYPE &a, ENUMTYPE b) { \
409 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
410 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
411 } \
412 }
413#else
414#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) // NOP, C allows these operators.
415#endif
416
417#ifndef DECLSPEC_NOTHROW
418#if (_MSC_VER >= 1200) && !defined(MIDL_PASS)
419#define DECLSPEC_NOTHROW __declspec(nothrow)
420#else
421#define DECLSPEC_NOTHROW
422#endif
423#endif
424
425#ifdef STRICT
426typedef void *HANDLE;
427#if 0 && (_MSC_VER > 1000)
428#define DECLARE_HANDLE(name) \
429 struct name##__; \
430 typedef struct name##__ *name
431#else
432#define DECLARE_HANDLE(name) \
433 struct name##__ { \
434 int unused; \
435 }; \
436 typedef struct name##__ *name
437#endif
438#else
439typedef PVOID HANDLE;
440#define DECLARE_HANDLE(name) typedef HANDLE name
441#endif
443
444/* windef.h */
445typedef struct tagRECT {
451
453
454/* minwindef.h (2) */
455DECLARE_HANDLE(HINSTANCE);
456typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */
457
458/* winerror.h */
459#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)(_sc))
460#define S_OK _HRESULT_TYPEDEF_(0x0L)
461#define E_UNEXPECTED _HRESULT_TYPEDEF_(0x8000FFFFL)
462#define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887a0002)
463#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
464#define FAILED(hr) (((HRESULT)(hr)) < 0)
465
466/* guiddef.h */
467typedef struct _GUID {
473typedef GUID IID;
474typedef IID *LPIID;
475
476#ifdef __midl_proxy
477#define __MIDL_CONST
478#else
479#define __MIDL_CONST const
480#endif
481
482#ifdef __cplusplus
483#define REFIID const IID &
484#else
485#define REFIID const IID *__MIDL_CONST
486#endif
487
488#ifdef __cplusplus
489#define REFGUID const GUID &
490#else
491#define REFGUID const GUID *__MIDL_CONST
492#endif
493
494#ifndef DECLSPEC_SELECTANY
495#if (_MSC_VER >= 1100)
496#define DECLSPEC_SELECTANY __declspec(selectany)
497#else
498#define DECLSPEC_SELECTANY
499#endif
500#endif
501
502#ifdef INITGUID
503#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
504 EXTERN_C const GUID DECLSPEC_SELECTANY name = {l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}
505#else
506#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
507 EXTERN_C const GUID FAR name
508#endif // INITGUID
509
510/* rpc.h */
511#if defined(__specstrings)
512typedef _Return_type_success_(return == 0) LONG RPC_STATUS;
513#else
514typedef LONG RPC_STATUS;
515#endif
516
517#if !defined(__RPC_MAC__) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
518#define __RPC_API __stdcall
519#define __RPC_USER __stdcall
520#define __RPC_STUB __stdcall
521#define RPC_ENTRY __stdcall
522#else // Not Win32/Win64
523#define __RPC_API
524#define __RPC_USER
525#define __RPC_STUB
526#define RPC_ENTRY
527#endif
528
529#define __RPC_FAR
530
531typedef void *I_RPC_HANDLE;
532
533/* rpcdce.h */
534#ifndef UUID_DEFINED
535#define UUID_DEFINED
536typedef GUID UUID;
537#ifndef uuid_t
538#define uuid_t UUID
539#endif
540#endif
541
544#define rpc_binding_handle_t RPC_BINDING_HANDLE
545
546#define RPC_MGR_EPV void
547
548/* rpcdcep.h */
549// #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
550
551typedef struct _RPC_VERSION {
552 unsigned short MajorVersion;
553 unsigned short MinorVersion;
555
560
561typedef struct _RPC_MESSAGE {
563 unsigned long DataRepresentation;
565 unsigned int BufferLength;
566 unsigned int ProcNum;
572 unsigned long RpcFlags;
574
575// #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
576
577/* rpcndr.h */
578#ifndef DECLSPEC_NOVTABLE
579#if (_MSC_VER >= 1100) && defined(__cplusplus)
580#define DECLSPEC_NOVTABLE __declspec(novtable)
581#else
582#define DECLSPEC_NOVTABLE
583#endif
584#endif
585
586#ifndef DECLSPEC_UUID
587#if (_MSC_VER >= 1100) && defined(__cplusplus)
588#define DECLSPEC_UUID(x) __declspec(uuid(x))
589#else
590#define DECLSPEC_UUID(x)
591#endif
592#endif
593
594#define MIDL_INTERFACE(x) struct DECLSPEC_UUID(x) DECLSPEC_NOVTABLE
595
596/* combaseapi.h */
597#define BEGIN_INTERFACE
598#define END_INTERFACE
599
600#ifdef _68K_
601#ifndef REQUIRESAPPLEPASCAL
602#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT PASCAL
603#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type PASCAL
604#else
605#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT PASCAL HRESULT
606#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT PASCAL type
607#endif
608#else
609#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
610#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
611#endif
612
613#ifdef COM_STDMETHOD_CAN_THROW
614#define COM_DECLSPEC_NOTHROW
615#else
616#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
617#endif
618
619#if defined(__cplusplus) && !defined(CINTERFACE)
620
621#ifdef COM_STDMETHOD_CAN_THROW
622#define COM_DECLSPEC_NOTHROW
623#else
624#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
625#endif
626
627#define __STRUCT__ struct
628#define interface __STRUCT__
629#define STDMETHOD(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method
630#define STDMETHOD_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODCALLTYPE method
631#define STDMETHODV(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODVCALLTYPE method
632#define STDMETHODV_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODVCALLTYPE method
633#define PURE = 0
634#define THIS_
635#define THIS void
636#define DECLARE_INTERFACE(iface) interface DECLSPEC_NOVTABLE iface
637#define DECLARE_INTERFACE_(iface, baseiface) interface DECLSPEC_NOVTABLE iface : public baseiface
638#define DECLARE_INTERFACE_IID(iface, iid) \
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
950typedef enum D3D_FEATURE_LEVEL {
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 */
1185typedef struct DXGI_SAMPLE_DESC {
1189
1190/* d3dcommon.h */
1191typedef enum _D3D_INCLUDE_TYPE {
1196 D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
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
1209typedef struct _D3D_SHADER_MACRO {
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
1837typedef struct D3D12_RANGE {
1841
1842typedef struct D3D12_BOX {
1850
1857
1862
1869
1876
1878 _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
1881
1890
1894 _Field_size_full_(NumStrides) const UINT *pBufferStrides;
1898
1899typedef enum D3D12_BLEND {
1918
1919typedef enum D3D12_BLEND_OP {
1926
1927typedef enum D3D12_LOGIC_OP {
1945
1958
1959typedef struct D3D12_BLEND_DESC {
1964
1965typedef enum D3D12_FILL_MODE {
1969
1970typedef enum D3D12_CULL_MODE {
1975
1980
1994
1999
2010
2011typedef enum D3D12_STENCIL_OP {
2021
2028
2039
2044
2054
2059
2064
2070
2078
2083
2108
2116
2121
2129
2136
2146
2148typedef struct D3D12_RESOURCE_DESC {
2160
2167
2168typedef enum D3D12_MEMORY_POOL {
2173
2174typedef enum D3D12_HEAP_TYPE {
2180
2188
2189typedef enum D3D12_HEAP_FLAGS {
2204
2209
2217
2235 D3D12_RESOURCE_STATE_GENERIC_READ = (((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800),
2239
2244
2245typedef struct D3D12_CLEAR_VALUE {
2247 union {
2250 };
2252
2253typedef enum D3D12_FEATURE {
2269
2270typedef enum D3D12_CLEAR_FLAGS {
2274
2276typedef enum D3D12_FENCE_FLAGS {
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
2323typedef struct D3D12_BUFFER_SRV {
2329
2330typedef struct D3D12_TEX1D_SRV {
2335
2343
2344typedef struct D3D12_TEX2D_SRV {
2350
2359
2360typedef struct D3D12_TEX3D_SRV {
2365
2366typedef struct D3D12_TEXCUBE_SRV {
2371
2379
2380typedef struct D3D12_TEX2DMS_SRV {
2383
2388
2402
2407 union {
2418 };
2420
2422
2427
2431
2435
2440
2442typedef struct D3D12_BUFFER_UAV {
2449
2450typedef struct D3D12_TEX1D_UAV {
2453
2459
2460typedef struct D3D12_TEX2D_UAV {
2464
2471
2472typedef struct D3D12_TEX3D_UAV {
2477
2487
2491 union {
2498 };
2500
2501typedef struct D3D12_BUFFER_RTV {
2505
2506typedef struct D3D12_TEX1D_RTV {
2509
2515
2516typedef struct D3D12_TEX2D_RTV {
2520
2521typedef struct D3D12_TEX2DMS_RTV {
2524
2531
2536
2537typedef struct D3D12_TEX3D_RTV {
2542
2554
2558 union {
2567 };
2569
2570typedef struct D3D12_TEX1D_DSV {
2573
2579
2580typedef struct D3D12_TEX2D_DSV {
2583
2589
2590typedef struct D3D12_TEX2DMS_DSV {
2593
2598
2599typedef enum D3D12_DSV_FLAGS {
2604
2615
2620 union {
2627 };
2629
2630typedef enum D3D12_FILTER {
2668
2676
2677typedef struct D3D12_SAMPLER_DESC {
2689
2697
2699typedef struct D3D12_HEAP_DESC {
2705
2713
2718
2725
2731
2743
2746 union {
2747 struct
2748 {
2751 struct
2752 {
2757 struct
2758 {
2761 struct
2762 {
2765 struct
2766 {
2769 };
2771
2778
2785
2786typedef struct D3D12_TILE_SHAPE {
2791
2798
2805
2813
2820
2825
2829 union {
2832 };
2834
2836
2837#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
2838
2844
2845typedef struct D3D12_VIEWPORT {
2853
2855
2862
2867
2871
2877
2884
2889 union {
2893 };
2895
2901
2907
2908typedef struct D3D12_DISCARD_REGION {
2914
2915typedef enum D3D12_QUERY_TYPE {
2925
2930
2941
2949
2956
2964
2969
2970typedef struct D3D12_ROOT_CONSTANTS {
2975
2980
2989
2990typedef struct D3D12_ROOT_PARAMETER {
2992 union {
2996 };
2999
3006
3022
3030
3038
3048
3053
3060
3067
3070 union {
3074 };
3077
3085
3091
3094 union {
3097 };
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
4598typedef struct __LUID {
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
5933typedef struct DXGI_ADAPTER_DESC {
5944
5945typedef enum DXGI_ADAPTER_FLAG {
5951
5952typedef struct DXGI_ADAPTER_DESC1 {
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__*/
interface ID3D12Device2 ID3D12Device2
ULONG_PTR * PSIZE_T
Definition mini_d3d12.h:259
_Null_terminated_ CONST CHAR * LPCSTR
Definition mini_d3d12.h:205
interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList
_W64 UINT32 UINT_PTR
Definition mini_d3d12.h:251
#define __RPC_string
Definition mini_d3d12.h:150
#define far
Definition mini_d3d12.h:187
HRESULT(WINAPI * PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature, _In_ D3D_ROOT_SIGNATURE_VERSION Version, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
void far * LPVOID
Definition mini_d3d12.h:190
#define CONST
Definition mini_d3d12.h:186
#define _Out_opt_
Definition mini_d3d12.h:45
EXTERN_C const IID IID_ID3D12PipelineState
D3D_FEATURE_LEVEL
Definition mini_d3d12.h: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
#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
#define _In_reads_bytes_(size)
Definition mini_d3d12.h:97
GUID IID
Definition mini_d3d12.h:473
EXTERN_C const IID IID_ID3D12Resource
_D3D_INCLUDE_TYPE
@ D3D_INCLUDE_SYSTEM
@ D3D10_INCLUDE_SYSTEM
@ D3D_INCLUDE_FORCE_DWORD
@ D3D_INCLUDE_LOCAL
@ D3D10_INCLUDE_LOCAL
unsigned short WORD
Definition mini_d3d12.h:169
#define _Post_ptr_invalid_
#define _Inout_
Definition mini_d3d12.h:49
interface ID3D12DescriptorHeap ID3D12DescriptorHeap
#define _Out_writes_bytes_(size)
Definition mini_d3d12.h:113
interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1
LONG_PTR SSIZE_T
Definition mini_d3d12.h:260
WORD * PUINT16
Definition mini_d3d12.h:224
D3D12_STATIC_BORDER_COLOR
@ D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK
D3D12_DESCRIPTOR_RANGE_TYPE
@ D3D12_DESCRIPTOR_RANGE_TYPE_SRV
@ D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
@ D3D12_DESCRIPTOR_RANGE_TYPE_CBV
@ D3D12_DESCRIPTOR_RANGE_TYPE_UAV
EXTERN_C const IID IID_IDXGIObject
#define CONST_VTBL
Definition mini_d3d12.h: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
#define MIDL_INTERFACE(x)
Definition mini_d3d12.h:594
_Null_terminated_ CHAR * NPSTR
Definition mini_d3d12.h:204
D3D12_TEXTURE_ADDRESS_MODE
@ D3D12_TEXTURE_ADDRESS_MODE_BORDER
@ D3D12_TEXTURE_ADDRESS_MODE_WRAP
@ D3D12_TEXTURE_ADDRESS_MODE_CLAMP
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
I_RPC_HANDLE RPC_BINDING_HANDLE
Definition mini_d3d12.h:542
_Null_terminated_ CONST CHAR * PCSTR
Definition mini_d3d12.h:205
INT * PINT32
Definition mini_d3d12.h:222
interface IDXGIFactory1 IDXGIFactory1
#define _Ret_maybenull_
long LONG
Definition mini_d3d12.h:178
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE)
Definition mini_d3d12.h:414
interface ID3D12QueryHeap ID3D12QueryHeap
D3D12_INPUT_CLASSIFICATION
@ D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA
@ D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
EXTERN_C const IID IID_IUnknown
Definition mini_d3d12.h: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
GUID UUID
Definition mini_d3d12.h:536
D3D12_PREDICATION_OP
@ D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
@ D3D12_PREDICATION_OP_EQUAL_ZERO
int INT
Definition mini_d3d12.h:179
_W64 INT32 * PLONG_PTR
Definition mini_d3d12.h:253
UINT * PUINT32
Definition mini_d3d12.h:225
interface ID3D12Object ID3D12Object
D3D12_SHADER_COMPONENT_MAPPING
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
EXTERN_C const IID IID_ID3D12GraphicsCommandList
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
interface ID3D12CommandList ID3D12CommandList
EXTERN_C const IID IID_ID3D12Fence
interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1
#define _In_z_
Definition mini_d3d12.h:33
unsigned char BYTE
Definition mini_d3d12.h:168
#define THIS_
Definition mini_d3d12.h: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
EXTERN_C const IID IID_ID3D12CommandQueue
D3D12_RESOURCE_BARRIER_FLAGS
@ D3D12_RESOURCE_BARRIER_FLAG_NONE
@ D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY
@ D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
struct _RPC_MESSAGE * PRPC_MESSAGE
#define _Outptr_opt_result_bytebuffer_(size)
Definition mini_d3d12.h:133
D3D12_PRIMITIVE_TOPOLOGY_TYPE
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE
SHORT INT16
Definition mini_d3d12.h:221
_Null_terminated_ CHAR * LPSTR
Definition mini_d3d12.h:204
D3D12_COMMAND_LIST_TYPE
@ D3D12_COMMAND_LIST_TYPE_COPY
@ D3D12_COMMAND_LIST_TYPE_BUNDLE
@ D3D12_COMMAND_LIST_TYPE_DIRECT
@ D3D12_COMMAND_LIST_TYPE_COMPUTE
#define __RPC_FAR
Definition mini_d3d12.h:529
INT BOOL
Definition mini_d3d12.h:192
RECT D3D12_RECT
_W64 INT32 INT_PTR
Definition mini_d3d12.h:250
D3D12_LOGIC_OP
@ D3D12_LOGIC_OP_OR_INVERTED
@ D3D12_LOGIC_OP_XOR
@ D3D12_LOGIC_OP_SET
@ D3D12_LOGIC_OP_AND_REVERSE
@ D3D12_LOGIC_OP_EQUIV
@ D3D12_LOGIC_OP_OR_REVERSE
@ D3D12_LOGIC_OP_CLEAR
@ D3D12_LOGIC_OP_NOOP
@ D3D12_LOGIC_OP_NOR
@ D3D12_LOGIC_OP_INVERT
@ D3D12_LOGIC_OP_OR
@ D3D12_LOGIC_OP_AND_INVERTED
@ D3D12_LOGIC_OP_AND
@ D3D12_LOGIC_OP_COPY
@ D3D12_LOGIC_OP_COPY_INVERTED
@ D3D12_LOGIC_OP_NAND
struct tagRECT RECT
interface IDXGIAdapter1 IDXGIAdapter1
D3D12_TILE_MAPPING_FLAGS
@ D3D12_TILE_MAPPING_FLAG_NONE
@ D3D12_TILE_MAPPING_FLAG_NO_HAZARD
D3D12_COMMAND_QUEUE_PRIORITY
@ D3D12_COMMAND_QUEUE_PRIORITY_HIGH
@ D3D12_COMMAND_QUEUE_PRIORITY_NORMAL
@ D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
BYTE * PUINT8
Definition mini_d3d12.h:223
D3D12_MEMORY_POOL
@ D3D12_MEMORY_POOL_UNKNOWN
@ D3D12_MEMORY_POOL_L1
@ D3D12_MEMORY_POOL_L0
D3D12_TILE_RANGE_FLAGS
@ D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
@ D3D12_TILE_RANGE_FLAG_SKIP
@ D3D12_TILE_RANGE_FLAG_NONE
@ D3D12_TILE_RANGE_FLAG_NULL
D3D12_CONSERVATIVE_RASTERIZATION_MODE
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
D3D12_RESOURCE_DIMENSION
@ D3D12_RESOURCE_DIMENSION_BUFFER
@ D3D12_RESOURCE_DIMENSION_TEXTURE1D
@ D3D12_RESOURCE_DIMENSION_TEXTURE3D
@ D3D12_RESOURCE_DIMENSION_UNKNOWN
@ D3D12_RESOURCE_DIMENSION_TEXTURE2D
_W64 UINT32 * PULONG_PTR
Definition mini_d3d12.h:254
EXTERN_C const IID IID_ID3D12DescriptorHeap
CHAR * PINT8
Definition mini_d3d12.h:220
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventW(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCWSTR lpName)
#define _Always_(annos)
Definition mini_d3d12.h:145
#define _Out_writes_(size)
Definition mini_d3d12.h:105
D3D12_DEPTH_WRITE_MASK
@ D3D12_DEPTH_WRITE_MASK_ALL
@ D3D12_DEPTH_WRITE_MASK_ZERO
interface ID3D12Pageable ID3D12Pageable
struct __LUID LUID
DXGI_FORMAT
@ DXGI_FORMAT_R16_UINT
@ DXGI_FORMAT_B8G8R8A8_UNORM
@ DXGI_FORMAT_R8_TYPELESS
@ DXGI_FORMAT_Y410
@ DXGI_FORMAT_BC3_UNORM_SRGB
@ DXGI_FORMAT_R8G8_B8G8_UNORM
@ DXGI_FORMAT_R32G32B32_TYPELESS
@ DXGI_FORMAT_BC3_TYPELESS
@ DXGI_FORMAT_R16G16_SNORM
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
@ DXGI_FORMAT_R32G32B32A32_SINT
@ DXGI_FORMAT_BC5_UNORM
@ DXGI_FORMAT_Y216
@ DXGI_FORMAT_BC1_UNORM
@ DXGI_FORMAT_R8G8_UINT
@ DXGI_FORMAT_420_OPAQUE
@ DXGI_FORMAT_R32G32B32A32_UINT
@ DXGI_FORMAT_R16G16B16A16_SNORM
@ DXGI_FORMAT_R32_FLOAT
@ DXGI_FORMAT_R16G16B16A16_UNORM
@ DXGI_FORMAT_R32_SINT
@ DXGI_FORMAT_R8G8_UNORM
@ DXGI_FORMAT_R16G16_UNORM
@ DXGI_FORMAT_BC1_UNORM_SRGB
@ DXGI_FORMAT_A8P8
@ DXGI_FORMAT_R16G16_SINT
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
@ DXGI_FORMAT_BC2_TYPELESS
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
@ DXGI_FORMAT_R32G32B32_FLOAT
@ DXGI_FORMAT_R32G32B32_SINT
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
@ DXGI_FORMAT_UNKNOWN
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
@ DXGI_FORMAT_R16_SINT
@ DXGI_FORMAT_R1_UNORM
@ DXGI_FORMAT_R16G16B16A16_UINT
@ DXGI_FORMAT_R16_UNORM
@ DXGI_FORMAT_R8G8B8A8_SINT
@ DXGI_FORMAT_D24_UNORM_S8_UINT
@ DXGI_FORMAT_R8G8B8A8_SNORM
@ DXGI_FORMAT_A8_UNORM
@ DXGI_FORMAT_FORCE_UINT
@ DXGI_FORMAT_R8G8B8A8_UINT
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
@ DXGI_FORMAT_R32G32_FLOAT
@ DXGI_FORMAT_BC6H_UF16
@ DXGI_FORMAT_BC6H_SF16
@ DXGI_FORMAT_R10G10B10A2_UNORM
@ DXGI_FORMAT_R8_SNORM
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
@ DXGI_FORMAT_P010
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
@ DXGI_FORMAT_R16G16B16A16_FLOAT
@ DXGI_FORMAT_BC7_TYPELESS
@ DXGI_FORMAT_P016
@ DXGI_FORMAT_R32_TYPELESS
@ DXGI_FORMAT_R8_UNORM
@ DXGI_FORMAT_R32G32_UINT
@ DXGI_FORMAT_R11G11B10_FLOAT
@ DXGI_FORMAT_R8G8B8A8_UNORM
@ DXGI_FORMAT_AYUV
@ DXGI_FORMAT_Y416
@ DXGI_FORMAT_G8R8_G8B8_UNORM
@ DXGI_FORMAT_YUY2
@ DXGI_FORMAT_D16_UNORM
@ DXGI_FORMAT_R16_FLOAT
@ DXGI_FORMAT_Y210
@ DXGI_FORMAT_R10G10B10A2_UINT
@ DXGI_FORMAT_BC6H_TYPELESS
@ DXGI_FORMAT_BC7_UNORM
@ DXGI_FORMAT_BC5_TYPELESS
@ DXGI_FORMAT_R32G32_SINT
@ DXGI_FORMAT_BC2_UNORM_SRGB
@ DXGI_FORMAT_R16_SNORM
@ DXGI_FORMAT_R8_SINT
@ DXGI_FORMAT_BC5_SNORM
@ DXGI_FORMAT_R32_UINT
@ DXGI_FORMAT_BC4_TYPELESS
@ DXGI_FORMAT_R32G32B32A32_FLOAT
@ DXGI_FORMAT_R24G8_TYPELESS
@ DXGI_FORMAT_IA44
@ DXGI_FORMAT_NV11
@ DXGI_FORMAT_R8G8_SINT
@ DXGI_FORMAT_R16_TYPELESS
@ DXGI_FORMAT_BC3_UNORM
@ DXGI_FORMAT_R32G32B32_UINT
@ DXGI_FORMAT_R16G16_TYPELESS
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
@ DXGI_FORMAT_R16G16_UINT
@ DXGI_FORMAT_D32_FLOAT
@ DXGI_FORMAT_R8G8_TYPELESS
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
@ DXGI_FORMAT_R16G16B16A16_SINT
@ DXGI_FORMAT_BC1_TYPELESS
@ DXGI_FORMAT_BC7_UNORM_SRGB
@ DXGI_FORMAT_BC2_UNORM
@ DXGI_FORMAT_R32G32_TYPELESS
@ DXGI_FORMAT_R32G8X24_TYPELESS
@ DXGI_FORMAT_B4G4R4A4_UNORM
@ DXGI_FORMAT_AI44
@ DXGI_FORMAT_R16G16_FLOAT
@ DXGI_FORMAT_B5G6R5_UNORM
@ DXGI_FORMAT_BC4_UNORM
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
@ DXGI_FORMAT_R8G8_SNORM
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
@ DXGI_FORMAT_P8
@ DXGI_FORMAT_R8_UINT
@ DXGI_FORMAT_BC4_SNORM
@ DXGI_FORMAT_NV12
@ DXGI_FORMAT_B5G5R5A1_UNORM
@ DXGI_FORMAT_B8G8R8X8_UNORM
interface IDXGIAdapter IDXGIAdapter
#define _Out_writes_opt_(size)
Definition mini_d3d12.h:109
D3D12_RESOURCE_FLAGS
@ D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
@ D3D12_RESOURCE_FLAG_NONE
@ D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
@ D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
@ D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
@ D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
@ D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
struct tagRECT * LPRECT
struct _SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
EXTERN_C const IID IID_ID3D12CommandAllocator
#define REFGUID
Definition mini_d3d12.h:491
__int64 LONGLONG
Definition mini_d3d12.h:279
#define DECLARE_INTERFACE(iface)
Definition mini_d3d12.h:729
struct _D3D_SHADER_MACRO * LPD3D_SHADER_MACRO
_W64 UINT32 ULONG_PTR
Definition mini_d3d12.h:254
interface ID3D10Blob ID3D10Blob
EXTERN_C const IID IID_IDXGIAdapter
HANDLE * PHANDLE
Definition mini_d3d12.h:442
#define _Null_terminated_
Definition mini_d3d12.h:69
interface IDXGIFactory IDXGIFactory
_Null_terminated_ CONST WCHAR * PCWSTR
Definition mini_d3d12.h:206
#define RPC_MGR_EPV
Definition mini_d3d12.h:546
interface ID3D12Device ID3D12Device
interface IDXGISwapChain IDXGISwapChain
_W64 INT32 * PINT_PTR
Definition mini_d3d12.h:250
D3D12_DSV_DIMENSION
@ D3D12_DSV_DIMENSION_UNKNOWN
@ D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_DSV_DIMENSION_TEXTURE1D
@ D3D12_DSV_DIMENSION_TEXTURE2DMS
@ D3D12_DSV_DIMENSION_TEXTURE2D
@ D3D12_DSV_DIMENSION_TEXTURE1DARRAY
@ D3D12_DSV_DIMENSION_TEXTURE2DARRAY
#define STDMETHODCALLTYPE
Definition mini_d3d12.h:300
interface ID3D12DeviceChild ID3D12DeviceChild
D3D12_CLEAR_FLAGS
@ D3D12_CLEAR_FLAG_STENCIL
@ D3D12_CLEAR_FLAG_DEPTH
#define END_INTERFACE
Definition mini_d3d12.h:598
struct _RPC_SYNTAX_IDENTIFIER * PRPC_SYNTAX_IDENTIFIER
interface ID3D12Heap ID3D12Heap
EXTERN_C const IID IID_ID3D12Debug
#define _Return_type_success_(expr)
Definition mini_d3d12.h:73
D3D12_DESCRIPTOR_HEAP_FLAGS
@ D3D12_DESCRIPTOR_HEAP_FLAG_NONE
@ D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
interface ID3D12Resource ID3D12Resource
D3D12_QUERY_TYPE
@ D3D12_QUERY_TYPE_OCCLUSION
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
@ D3D12_QUERY_TYPE_BINARY_OCCLUSION
@ D3D12_QUERY_TYPE_TIMESTAMP
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
@ D3D12_QUERY_TYPE_PIPELINE_STATISTICS
#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
D3D12_BUFFER_UAV_FLAGS
@ D3D12_BUFFER_UAV_FLAG_NONE
@ D3D12_BUFFER_UAV_FLAG_RAW
float FLOAT
Definition mini_d3d12.h:184
#define NEAR
Definition mini_d3d12.h:209
#define _Post_satisfies_(expr)
Definition mini_d3d12.h:81
_Null_terminated_ CHAR * PSTR
Definition mini_d3d12.h:204
#define interface
Definition mini_d3d12.h:690
BYTE UINT8
Definition mini_d3d12.h:223
D3D12_BUFFER_SRV_FLAGS
@ D3D12_BUFFER_SRV_FLAG_NONE
@ D3D12_BUFFER_SRV_FLAG_RAW
RPC_BINDING_HANDLE handle_t
Definition mini_d3d12.h:543
interface ID3DInclude ID3DInclude
#define __RPC_STUB
Definition mini_d3d12.h:525
HRESULT(WINAPI * PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **)
D3D12_TEXTURE_COPY_TYPE
@ D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
@ D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX
IUnknown * LPUNKNOWN
Definition mini_d3d12.h: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
D3D12_DESCRIPTOR_RANGE_FLAGS
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
@ D3D12_DESCRIPTOR_RANGE_FLAG_NONE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
D3D12_FILTER
@ D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_ANISOTROPIC
@ D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_COMPARISON_ANISOTROPIC
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MAXIMUM_ANISOTROPIC
@ D3D12_FILTER_ANISOTROPIC
@ D3D12_FILTER_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MIN_MAG_MIP_LINEAR
#define _COM_Outptr_
Definition mini_d3d12.h:57
HRESULT(WINAPI * PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory)
CHAR INT8
Definition mini_d3d12.h:220
DXGI_ADAPTER_FLAG
@ DXGI_ADAPTER_FLAG_REMOTE
@ DXGI_ADAPTER_FLAG_SOFTWARE
@ DXGI_ADAPTER_FLAG_FORCE_DWORD
@ DXGI_ADAPTER_FLAG_NONE
struct _RPC_MESSAGE RPC_MESSAGE
#define _In_
Definition mini_d3d12.h:29
interface ID3D12PipelineLibrary ID3D12PipelineLibrary
void * HANDLE
Definition mini_d3d12.h:426
interface ID3D12Device1 ID3D12Device1
HRESULT(WINAPI * PFN_D3DCOMPILE)(_In_reads_bytes_(SrcDataSize) LPCVOID pSrcData, _In_ SIZE_T SrcDataSize, _In_opt_ LPCSTR pSourceName, _In_reads_opt_(_Inexpressible_(pDefines->Name !=nullptr)) CONST D3D_SHADER_MACRO *pDefines, _In_opt_ ID3DInclude *pInclude, _In_opt_ LPCSTR pEntrypoint, _In_ LPCSTR pTarget, _In_ UINT Flags1, _In_ UINT Flags2, _Out_ ID3DBlob **ppCode, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs)
D3D12_CPU_PAGE_PROPERTY
@ D3D12_CPU_PAGE_PROPERTY_UNKNOWN
@ D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
@ D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE
@ D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE
#define _In_reads_bytes_opt_(size)
Definition mini_d3d12.h:101
D3D12_TEXTURE_LAYOUT
@ D3D12_TEXTURE_LAYOUT_UNKNOWN
@ D3D12_TEXTURE_LAYOUT_ROW_MAJOR
@ D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
@ D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
_W64 INT32 LONG_PTR
Definition mini_d3d12.h:253
interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer
EXTERN_C const IID IID_ID3D12CommandList
wchar_t WCHAR
Definition mini_d3d12.h:198
interface IUnknown IUnknown
Definition mini_d3d12.h: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
D3D12_STENCIL_OP
@ D3D12_STENCIL_OP_KEEP
@ D3D12_STENCIL_OP_INVERT
@ D3D12_STENCIL_OP_REPLACE
@ D3D12_STENCIL_OP_ZERO
@ D3D12_STENCIL_OP_INCR_SAT
@ D3D12_STENCIL_OP_DECR
@ D3D12_STENCIL_OP_INCR
@ D3D12_STENCIL_OP_DECR_SAT
#define _In_opt_
Definition mini_d3d12.h:37
EXTERN_C const IID IID_ID3D12Device
EXTERN_C const IID IID_ID3D12QueryHeap
IID * LPIID
Definition mini_d3d12.h:474
ID3D10Blob ID3DBlob
EXTERN_C const IID IID_IDXGIAdapter1
D3D12_INDIRECT_ARGUMENT_TYPE
@ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH
@ D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW
@ D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW
#define D3D12_REQ_SUBRESOURCES
D3D12_BLEND_OP
@ D3D12_BLEND_OP_MAX
@ D3D12_BLEND_OP_SUBTRACT
@ D3D12_BLEND_OP_MIN
@ D3D12_BLEND_OP_REV_SUBTRACT
@ D3D12_BLEND_OP_ADD
#define EXTERN_C
Definition mini_d3d12.h:327
D3D12_ROOT_PARAMETER_TYPE
@ D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
@ D3D12_ROOT_PARAMETER_TYPE_SRV
@ D3D12_ROOT_PARAMETER_TYPE_UAV
@ D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
@ D3D12_ROOT_PARAMETER_TYPE_CBV
_Null_terminated_ CONST WCHAR * LPCWSTR
Definition mini_d3d12.h:206
D3D12_QUERY_HEAP_TYPE
@ D3D12_QUERY_HEAP_TYPE_TIMESTAMP
@ D3D12_QUERY_HEAP_TYPE_SO_STATISTICS
@ D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS
@ D3D12_QUERY_HEAP_TYPE_OCCLUSION
struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC
LPCSTR LPCOLESTR
Definition mini_d3d12.h:941
interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer
interface ID3D12Fence ID3D12Fence
#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
interface IDXGIObject IDXGIObject
interface ID3D10Blob * LPD3D10BLOB
unsigned long DWORD
Definition mini_d3d12.h:182
EXTERN_C const IID IID_IDXGIFactory1
unsigned __int64 * PUINT64
Definition mini_d3d12.h:231
D3D12_TILE_COPY_FLAGS
@ D3D12_TILE_COPY_FLAG_NONE
@ D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
@ D3D12_TILE_COPY_FLAG_NO_HAZARD
@ D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
#define BEGIN_INTERFACE
Definition mini_d3d12.h:597
D3D12_DESCRIPTOR_HEAP_TYPE
@ D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
@ D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
@ D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
@ D3D12_DESCRIPTOR_HEAP_TYPE_RTV
@ D3D12_DESCRIPTOR_HEAP_TYPE_DSV
interface ID3D12Tools ID3D12Tools
__int64 * PINT64
Definition mini_d3d12.h:230
SHORT * PINT16
Definition mini_d3d12.h:221
struct _D3D_SHADER_MACRO D3D_SHADER_MACRO
CONST void far * LPCVOID
Definition mini_d3d12.h:189
D3D12_COMPARISON_FUNC
@ D3D12_COMPARISON_FUNC_GREATER_EQUAL
@ D3D12_COMPARISON_FUNC_ALWAYS
@ D3D12_COMPARISON_FUNC_NOT_EQUAL
@ D3D12_COMPARISON_FUNC_LESS_EQUAL
@ D3D12_COMPARISON_FUNC_LESS
@ D3D12_COMPARISON_FUNC_NEVER
@ D3D12_COMPARISON_FUNC_EQUAL
@ D3D12_COMPARISON_FUNC_GREATER
D3D12_SHADER_VISIBILITY
@ D3D12_SHADER_VISIBILITY_DOMAIN
@ D3D12_SHADER_VISIBILITY_ALL
@ D3D12_SHADER_VISIBILITY_GEOMETRY
@ D3D12_SHADER_VISIBILITY_VERTEX
@ D3D12_SHADER_VISIBILITY_HULL
@ D3D12_SHADER_VISIBILITY_PIXEL
UINT UINT32
Definition mini_d3d12.h:225
struct __LUID * PLUID
interface IRpcStubBuffer IRpcStubBuffer
Definition mini_d3d12.h: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
HINSTANCE HMODULE
Definition mini_d3d12.h:456
struct tagRECT * PRECT
D3D12_BLEND
@ D3D12_BLEND_INV_SRC_COLOR
@ D3D12_BLEND_DEST_COLOR
@ D3D12_BLEND_INV_SRC1_ALPHA
@ D3D12_BLEND_INV_BLEND_FACTOR
@ D3D12_BLEND_BLEND_FACTOR
@ D3D12_BLEND_SRC1_COLOR
@ D3D12_BLEND_DEST_ALPHA
@ D3D12_BLEND_INV_DEST_COLOR
@ D3D12_BLEND_INV_SRC1_COLOR
@ D3D12_BLEND_SRC_COLOR
@ D3D12_BLEND_SRC_ALPHA
@ D3D12_BLEND_ONE
@ D3D12_BLEND_INV_DEST_ALPHA
@ D3D12_BLEND_INV_SRC_ALPHA
@ D3D12_BLEND_SRC_ALPHA_SAT
@ D3D12_BLEND_ZERO
@ D3D12_BLEND_SRC1_ALPHA
WINBASEAPI DWORD WINAPI WaitForSingleObject(_In_ HANDLE hHandle, _In_ DWORD dwMilliseconds)
void * I_RPC_HANDLE
Definition mini_d3d12.h:531
char CHAR
Definition mini_d3d12.h:166
#define DECLARE_HANDLE(name)
Definition mini_d3d12.h:432
#define _In_range_(lb, ub)
Definition mini_d3d12.h:85
#define STDMETHOD(method)
Definition mini_d3d12.h: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)
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
#define _Out_writes_bytes_opt_(size)
Definition mini_d3d12.h:117
struct _RPC_SYNTAX_IDENTIFIER RPC_SYNTAX_IDENTIFIER
interface ID3D12PipelineState ID3D12PipelineState
unsigned long ULONG
Definition mini_d3d12.h:180
D3D12_HEAP_TYPE
@ D3D12_HEAP_TYPE_DEFAULT
@ D3D12_HEAP_TYPE_READBACK
@ D3D12_HEAP_TYPE_UPLOAD
@ D3D12_HEAP_TYPE_CUSTOM
#define _In_reads_(size)
Definition mini_d3d12.h:89
D3D12_FENCE_FLAGS
@ D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER
@ D3D12_FENCE_FLAG_NONE
@ D3D12_FENCE_FLAG_SHARED
ULONG_PTR SIZE_T
Definition mini_d3d12.h:259
EXTERN_C const IID IID_IDXGIFactory
interface ID3D12CommandQueue ID3D12CommandQueue
INT INT32
Definition mini_d3d12.h:222
D3D12_PIPELINE_STATE_FLAGS
@ D3D12_PIPELINE_STATE_FLAG_NONE
@ D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
D3D12_COMMAND_QUEUE_FLAGS
@ D3D12_COMMAND_QUEUE_FLAG_NONE
@ D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
D3D12_FEATURE
@ D3D12_FEATURE_FORMAT_SUPPORT
@ D3D12_FEATURE_FEATURE_LEVELS
@ D3D12_FEATURE_FORMAT_INFO
@ D3D12_FEATURE_D3D12_OPTIONS
@ D3D12_FEATURE_D3D12_OPTIONS2
@ D3D12_FEATURE_SHADER_CACHE
@ D3D12_FEATURE_SHADER_MODEL
@ D3D12_FEATURE_ARCHITECTURE
@ D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
@ D3D12_FEATURE_ARCHITECTURE1
@ D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
@ D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
@ D3D12_FEATURE_ROOT_SIGNATURE
@ D3D12_FEATURE_D3D12_OPTIONS1
interface IDXGIOutput IDXGIOutput
UINT64 D3D12_GPU_VIRTUAL_ADDRESS
unsigned __INT64_TYPE__ uint64_t
signed __INT64_TYPE__ int64_t
signed __INT32_TYPE__ int32_t
unsigned __INT32_TYPE__ uint32_t
DWORD LowPart
LONG HighPart
WORD Data2
Definition mini_d3d12.h:469
WORD Data3
Definition mini_d3d12.h:470
DWORD Data1
Definition mini_d3d12.h:468
BYTE Data4[8]
Definition mini_d3d12.h:471
unsigned int BufferLength
Definition mini_d3d12.h:565
unsigned long RpcFlags
Definition mini_d3d12.h:572
void __RPC_FAR * ImportContext
Definition mini_d3d12.h:571
unsigned int ProcNum
Definition mini_d3d12.h:566
unsigned long DataRepresentation
Definition mini_d3d12.h:563
PRPC_SYNTAX_IDENTIFIER TransferSyntax
Definition mini_d3d12.h:567
void __RPC_FAR * Buffer
Definition mini_d3d12.h:564
void __RPC_FAR * RpcInterfaceInformation
Definition mini_d3d12.h:568
void __RPC_FAR * ReservedForRuntime
Definition mini_d3d12.h:569
RPC_MGR_EPV __RPC_FAR * ManagerEpv
Definition mini_d3d12.h:570
RPC_BINDING_HANDLE Handle
Definition mini_d3d12.h:562
RPC_VERSION SyntaxVersion
Definition mini_d3d12.h:558
unsigned short MajorVersion
Definition mini_d3d12.h:552
unsigned short MinorVersion
Definition mini_d3d12.h:553
BOOL IndependentBlendEnable
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8]
D3D12_BUFFER_SRV_FLAGS Flags
D3D12_BUFFER_UAV_FLAGS Flags
UINT64 CounterOffsetInBytes
_Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob
D3D12_DEPTH_STENCIL_VALUE DepthStencil
DXGI_FORMAT Format
D3D12_COMMAND_QUEUE_FLAGS Flags
D3D12_COMMAND_LIST_TYPE Type
_Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs
ID3D12RootSignature * pRootSignature
D3D12_CACHED_PIPELINE_STATE CachedPSO
D3D12_PIPELINE_STATE_FLAGS Flags
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
D3D12_DEPTH_STENCILOP_DESC FrontFace
D3D12_DEPTH_STENCILOP_DESC BackFace
D3D12_COMPARISON_FUNC DepthFunc
D3D12_DEPTH_WRITE_MASK DepthWriteMask
D3D12_TEX2DMS_DSV Texture2DMS
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray
D3D12_TEX2D_ARRAY_DSV Texture2DArray
D3D12_DSV_DIMENSION ViewDimension
D3D12_TEX1D_ARRAY_DSV Texture1DArray
D3D12_STENCIL_OP StencilFailOp
D3D12_COMPARISON_FUNC StencilFunc
D3D12_STENCIL_OP StencilDepthFailOp
D3D12_STENCIL_OP StencilPassOp
D3D12_DESCRIPTOR_HEAP_TYPE Type
D3D12_DESCRIPTOR_HEAP_FLAGS Flags
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
D3D12_DESCRIPTOR_RANGE_FLAGS Flags
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
_In_reads_(NumRects) const D3D12_RECT *pRects
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
D3D12_INPUT_LAYOUT_DESC InputLayout
ID3D12RootSignature * pRootSignature
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType
D3D12_STREAM_OUTPUT_DESC StreamOutput
D3D12_DEPTH_STENCIL_DESC DepthStencilState
D3D12_PIPELINE_STATE_FLAGS Flags
D3D12_CACHED_PIPELINE_STATE CachedPSO
D3D12_RASTERIZER_DESC RasterizerState
D3D12_HEAP_PROPERTIES Properties
D3D12_HEAP_FLAGS Flags
D3D12_CPU_PAGE_PROPERTY CPUPageProperty
D3D12_HEAP_TYPE Type
D3D12_MEMORY_POOL MemoryPoolPreference
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
struct D3D12_INDIRECT_ARGUMENT_DESC::@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