Halide 20.0.0
Halide compiler and libraries
mini_d3d12.h
Go to the documentation of this file.
1#ifndef __mini_d3d12_h__
2#define __mini_d3d12_h__
3
4#ifdef __clang__
5// #define __stdcall __attribute__ ((stdcall))
6#pragma clang diagnostic push
7#pragma clang diagnostic ignored "-Wunknown-pragmas"
8#pragma clang diagnostic ignored "-Wunused-value"
9#define __export
10#ifndef _WIN32
11#define _WIN32 1
12#endif //_WIN32
13#ifdef BITS_64 // <- Halide back-end compilation flag (-DBITS_${j})
14#ifndef _WIN64
15#define _WIN64 1
16#endif //_WIN64
17#else
18#define _STDCALL_SUPPORTED
19#endif
20#endif
21
22#ifndef __midl
23#define __midl
24#endif //__midl
25
26/* sal.h */
27// Clear-out SAL macros (Source-code Annotation Language)
28#ifndef _In_
29#define _In_
30#endif //_In_
31
32#ifndef _In_z_
33#define _In_z_
34#endif //_In_z_
35
36#ifndef _In_opt_
37#define _In_opt_
38#endif //_In_opt_
39
40#ifndef _Out_
41#define _Out_
42#endif //_Out_
43
44#ifndef _Out_opt_
45#define _Out_opt_
46#endif //_Out_opt_
47
48#ifndef _Inout_
49#define _Inout_
50#endif //_Inout_
51
52#ifndef _Inout_opt_
53#define _Inout_opt_
54#endif //_Inout_opt_
55
56#ifndef _COM_Outptr_
57#define _COM_Outptr_
58#endif //_COM_Outptr_
59
60#ifndef _COM_Outptr_opt_
61#define _COM_Outptr_opt_
62#endif //_COM_Outptr_opt_
63
64#ifndef _Check_return_
65#define _Check_return_
66#endif //_Check_return_
67
68#ifndef _Null_terminated_
69#define _Null_terminated_
70#endif //_Null_terminated_
71
72#ifndef _Return_type_success_
73#define _Return_type_success_(expr)
74#endif //_Return_type_success_
75
76#ifndef _Post_equal_to_
77#define _Post_equal_to_(e)
78#endif //_Post_equal_to_
79
80#ifndef _Post_satisfies_
81#define _Post_satisfies_(expr)
82#endif //_Post_satisfies_
83
84#ifndef _In_range_
85#define _In_range_(lb, ub)
86#endif //_In_range_
87
88#ifndef _In_reads_
89#define _In_reads_(size)
90#endif //_In_reads_
91
92#ifndef _In_reads_opt_
93#define _In_reads_opt_(size)
94#endif //_In_reads_opt_
95
96#ifndef _In_reads_bytes_
97#define _In_reads_bytes_(size)
98#endif //_In_reads_bytes_
99
100#ifndef _In_reads_bytes_opt_
101#define _In_reads_bytes_opt_(size)
102#endif //_In_reads_bytes_opt_
103
104#ifndef _Out_writes_
105#define _Out_writes_(size)
106#endif //_Out_writes_
107
108#ifndef _Out_writes_opt_
109#define _Out_writes_opt_(size)
110#endif //_Out_writes_opt_
111
112#ifndef _Out_writes_bytes_
113#define _Out_writes_bytes_(size)
114#endif //_Out_writes_bytes_
115
116#ifndef _Out_writes_bytes_opt_
117#define _Out_writes_bytes_opt_(size)
118#endif //_Out_writes_bytes_opt_
119
120#ifndef _Inout_updates_bytes_
121#define _Inout_updates_bytes_(size)
122#endif //_Inout_updates_bytes_
123
124#ifndef _Field_size_full_
125#define _Field_size_full_(size)
126#endif //_Field_size_full_
127
128#ifndef _Field_size_bytes_full_
129#define _Field_size_bytes_full_(size)
130#endif //_Field_size_bytes_full_
131
132#ifndef _Outptr_opt_result_bytebuffer_
133#define _Outptr_opt_result_bytebuffer_(size)
134#endif //_Outptr_opt_result_bytebuffer_
135
136#ifndef _Must_inspect_result_
137#define _Must_inspect_result_
138#endif //_Must_inspect_result_
139
140#ifndef __specstrings
141#define __specstrings
142#endif //__specstrings
143
144#ifndef _Always_
145#define _Always_(annos)
146#endif //_Always_
147
148/* rpcsal.h */
149#ifndef __RPC_string
150#define __RPC_string
151#endif //__RPC_string
152
153#ifndef __RPC__deref_out
154#define __RPC__deref_out
155#endif //__RPC__deref_out
156
157/* minwindef.h */
158/*
159 * On ARM and x64 processors, __stdcall is accepted and ignored by the compiler;
160 * on ARM and x64 architectures, by convention, arguments are passed in registers
161 * when possible, and subsequent arguments are passed on the stack.
162 */
163#define WINAPI __stdcall
164
165#define VOID void
166typedef char CHAR;
167typedef short SHORT;
168typedef unsigned char BYTE;
169typedef unsigned short WORD;
170#ifdef __clang__
171// must enforce LLP64 for Windows x64 ...
172typedef int32_t LONG; // long is 64bits on clang-x64
173typedef int32_t INT; // and so is int as well...
174typedef uint32_t ULONG;
175typedef uint32_t UINT;
176typedef uint32_t DWORD;
177#else
178typedef long LONG;
179typedef int INT;
180typedef unsigned long ULONG;
181typedef unsigned int UINT;
182typedef unsigned long DWORD;
183#endif
184typedef float FLOAT;
185
186#define CONST const
187#define far
188#define near
189typedef CONST void far *LPCVOID;
190typedef void far *LPVOID;
191
192typedef INT BOOL;
193
194#ifdef __clang__
195typedef unsigned short WCHAR; // clang's wchar_t is 32bits by default...
196#else
197#ifndef _MAC
198typedef wchar_t WCHAR; // Windows wchar_t : 16-bit UNICODE character
199#else
200// some Macintosh compilers don't define wchar_t in a convenient location, or define it as a char
201typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
202#endif
203#endif
207
208#define FAR far
209#define NEAR near
210
211#ifndef FALSE
212#define FALSE 0
213#endif
214
215#ifndef TRUE
216#define TRUE 1
217#endif
218
219/* basestd.h */
220typedef CHAR INT8, *PINT8;
222typedef INT INT32, *PINT32;
223typedef BYTE UINT8, *PUINT8;
226#ifdef __clang__
227typedef int64_t INT64, *PINT64;
228typedef uint64_t UINT64, *PUINT64;
229#else
230typedef __int64 INT64, *PINT64;
231typedef unsigned __int64 UINT64, *PUINT64;
232#endif
233#if !defined(_W64)
234#if !defined(__midl) && (defined(_X86_) || defined(_M_IX86) || defined(_ARM_) || defined(_M_ARM)) && _MSC_VER >= 1300
235#define _W64 __w64
236#else
237#define _W64
238#endif
239#endif
240#if defined(_WIN64)
241typedef INT64 INT_PTR, *PINT_PTR;
242typedef UINT64 UINT_PTR, *PUINT_PTR;
243
244typedef INT64 LONG_PTR, *PLONG_PTR;
245typedef UINT64 ULONG_PTR, *PULONG_PTR;
246
247#define __int3264 INT64
248
249#else
252
255
256#define __int3264 INT32
257
258#endif
261
262#ifndef NO_STRICT
263#ifndef STRICT
264#define STRICT 1
265#endif
266#endif /* NO_STRICT */
267
268/* minwinbase.h */
269typedef struct _SECURITY_ATTRIBUTES {
274
275/* winnt.h */
276#ifdef __clang__
277typedef int64_t LONGLONG;
278#else
279typedef __int64 LONGLONG;
280#endif
281
282typedef _Return_type_success_(return >= 0) LONG HRESULT;
283
284#if defined(_WIN32) || defined(_MPPC_)
285
286// Win32 doesn't support __export
287
288#ifdef _68K_
289#define STDMETHODCALLTYPE __cdecl
290#else
291#define STDMETHODCALLTYPE __stdcall
292#endif
293#define STDMETHODVCALLTYPE __cdecl
294
295#define STDAPICALLTYPE __stdcall
296#define STDAPIVCALLTYPE __cdecl
297
298#else
299
300#define STDMETHODCALLTYPE __export __stdcall
301#define STDMETHODVCALLTYPE __export __cdecl
302
303#define STDAPICALLTYPE __export __stdcall
304#define STDAPIVCALLTYPE __export __cdecl
305
306#endif
307
308#define DUMMYSTRUCTNAME
309
310typedef union _LARGE_INTEGER {
311 struct {
315 struct {
318 } u;
321
322#ifdef __cplusplus
323#define EXTERN_C extern "C"
324#define EXTERN_C_START extern "C" {
325#define EXTERN_C_END }
326#else
327#define EXTERN_C extern
328#define EXTERN_C_START
329#define EXTERN_C_END
330#endif
331
332#if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64) || defined(_M_ARM) || defined(_M_ARM64)) && !defined(MIDL_PASS)
333#define DECLSPEC_IMPORT __declspec(dllimport)
334#else
335#define DECLSPEC_IMPORT
336#endif
337
338#ifdef __cplusplus
339
340// Define operator overloads to enable bit operations on enum values that are
341// used to define flags. Use DEFINE_ENUM_FLAG_OPERATORS(YOUR_TYPE) to enable these
342// operators on YOUR_TYPE.
343
344// Moved here from objbase.w.
345
346// Templates are defined here in order to avoid a dependency on C++ <type_traits> header file,
347// or on compiler-specific contructs.
348extern "C++" {
349
350template<size_t S>
351struct _ENUM_FLAG_INTEGER_FOR_SIZE;
352
353template<>
354struct _ENUM_FLAG_INTEGER_FOR_SIZE<1> {
355 typedef INT8 type;
356};
357
358template<>
359struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> {
360 typedef INT16 type;
361};
362
363template<>
364struct _ENUM_FLAG_INTEGER_FOR_SIZE<4> {
365 typedef INT32 type;
366};
367
368// used as an approximation of std::underlying_type<T>
369template<class T>
370struct _ENUM_FLAG_SIZED_INTEGER {
371 typedef typename _ENUM_FLAG_INTEGER_FOR_SIZE<sizeof(T)>::type type;
372};
373}
374
375#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \
376 extern "C++" { \
377 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
378 inline ENUMTYPE operator|(ENUMTYPE a, ENUMTYPE b) { \
379 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
380 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) | ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
381 } \
382 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
383 inline ENUMTYPE &operator|=(ENUMTYPE &a, ENUMTYPE b) { \
384 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
385 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
386 } \
387 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
388 inline ENUMTYPE operator&(ENUMTYPE a, ENUMTYPE b) { \
389 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
390 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) & ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
391 } \
392 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
393 inline ENUMTYPE &operator&=(ENUMTYPE &a, ENUMTYPE b) { \
394 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
395 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
396 } \
397 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
398 inline ENUMTYPE operator~(ENUMTYPE a) { \
399 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
400 return ENUMTYPE(~((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a)); \
401 } \
402 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
403 inline ENUMTYPE operator^(ENUMTYPE a, ENUMTYPE b) { \
404 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
405 return ENUMTYPE(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
406 } \
407 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
408 inline ENUMTYPE &operator^=(ENUMTYPE &a, ENUMTYPE b) { \
409 /* NOLINTNEXTLINE(bugprone-macro-parentheses) */ \
410 return (ENUMTYPE &)(((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER<ENUMTYPE>::type)b)); \
411 } \
412 }
413#else
414#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) // NOP, C allows these operators.
415#endif
416
417#ifndef DECLSPEC_NOTHROW
418#if (_MSC_VER >= 1200) && !defined(MIDL_PASS)
419#define DECLSPEC_NOTHROW __declspec(nothrow)
420#else
421#define DECLSPEC_NOTHROW
422#endif
423#endif
424
425#ifdef STRICT
426typedef void *HANDLE;
427#if 0 && (_MSC_VER > 1000)
428#define DECLARE_HANDLE(name) \
429 struct name##__; \
430 typedef struct name##__ *name
431#else
432#define DECLARE_HANDLE(name) \
433 struct name##__ { \
434 int unused; \
435 }; \
436 typedef struct name##__ *name
437#endif
438#else
439typedef PVOID HANDLE;
440#define DECLARE_HANDLE(name) typedef HANDLE name
441#endif
443
444/* windef.h */
445typedef struct tagRECT {
451
453
454/* minwindef.h (2) */
455DECLARE_HANDLE(HINSTANCE);
456typedef HINSTANCE HMODULE; /* HMODULEs can be used in place of HINSTANCEs */
457
458/* winerror.h */
459#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)(_sc))
460#define S_OK _HRESULT_TYPEDEF_(0x0L)
461#define E_UNEXPECTED _HRESULT_TYPEDEF_(0x8000FFFFL)
462#define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887a0002)
463#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
464#define FAILED(hr) (((HRESULT)(hr)) < 0)
465
466/* guiddef.h */
467typedef struct _GUID {
473typedef GUID IID;
474typedef IID *LPIID;
475
476#ifdef __midl_proxy
477#define __MIDL_CONST
478#else
479#define __MIDL_CONST const
480#endif
481
482#ifdef __cplusplus
483#define REFIID const IID &
484#else
485#define REFIID const IID *__MIDL_CONST
486#endif
487
488#ifdef __cplusplus
489#define REFGUID const GUID &
490#else
491#define REFGUID const GUID *__MIDL_CONST
492#endif
493
494#ifndef DECLSPEC_SELECTANY
495#if (_MSC_VER >= 1100)
496#define DECLSPEC_SELECTANY __declspec(selectany)
497#else
498#define DECLSPEC_SELECTANY
499#endif
500#endif
501
502#ifdef INITGUID
503#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
504 EXTERN_C const GUID DECLSPEC_SELECTANY name = {l, w1, w2, {b1, b2, b3, b4, b5, b6, b7, b8}}
505#else
506#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
507 EXTERN_C const GUID FAR name
508#endif // INITGUID
509
510/* rpc.h */
511#if defined(__specstrings)
512typedef _Return_type_success_(return == 0) LONG RPC_STATUS;
513#else
514typedef LONG RPC_STATUS;
515#endif
516
517#if !defined(__RPC_MAC__) && ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED))
518#define __RPC_API __stdcall
519#define __RPC_USER __stdcall
520#define __RPC_STUB __stdcall
521#define RPC_ENTRY __stdcall
522#else // Not Win32/Win64
523#define __RPC_API
524#define __RPC_USER
525#define __RPC_STUB
526#define RPC_ENTRY
527#endif
528
529#define __RPC_FAR
530
531typedef void *I_RPC_HANDLE;
532
533/* rpcdce.h */
534#ifndef UUID_DEFINED
535#define UUID_DEFINED
536typedef GUID UUID;
537#ifndef uuid_t
538#define uuid_t UUID
539#endif
540#endif
541
544#define rpc_binding_handle_t RPC_BINDING_HANDLE
545
546#define RPC_MGR_EPV void
547
548/* rpcdcep.h */
549// #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
550
551typedef struct _RPC_VERSION {
552 unsigned short MajorVersion;
553 unsigned short MinorVersion;
555
560
561typedef struct _RPC_MESSAGE {
563 unsigned long DataRepresentation;
565 unsigned int BufferLength;
566 unsigned int ProcNum;
572 unsigned long RpcFlags;
574
575// #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM) */
576
577/* rpcndr.h */
578#ifndef DECLSPEC_NOVTABLE
579#if (_MSC_VER >= 1100) && defined(__cplusplus)
580#define DECLSPEC_NOVTABLE __declspec(novtable)
581#else
582#define DECLSPEC_NOVTABLE
583#endif
584#endif
585
586#ifndef DECLSPEC_UUID
587#if (_MSC_VER >= 1100) && defined(__cplusplus)
588#define DECLSPEC_UUID(x) __declspec(uuid(x))
589#else
590#define DECLSPEC_UUID(x)
591#endif
592#endif
593
594#define MIDL_INTERFACE(x) struct DECLSPEC_UUID(x) DECLSPEC_NOVTABLE
595
596/* combaseapi.h */
597#define BEGIN_INTERFACE
598#define END_INTERFACE
599
600#ifdef _68K_
601#ifndef REQUIRESAPPLEPASCAL
602#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT PASCAL
603#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type PASCAL
604#else
605#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT PASCAL HRESULT
606#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT PASCAL type
607#endif
608#else
609#define WINOLEAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
610#define WINOLEAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
611#endif
612
613#ifdef COM_STDMETHOD_CAN_THROW
614#define COM_DECLSPEC_NOTHROW
615#else
616#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
617#endif
618
619#if defined(__cplusplus) && !defined(CINTERFACE)
620
621#ifdef COM_STDMETHOD_CAN_THROW
622#define COM_DECLSPEC_NOTHROW
623#else
624#define COM_DECLSPEC_NOTHROW DECLSPEC_NOTHROW
625#endif
626
627#define __STRUCT__ struct
628#define interface __STRUCT__
629#define STDMETHOD(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODCALLTYPE method
630#define STDMETHOD_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODCALLTYPE method
631#define STDMETHODV(method) virtual COM_DECLSPEC_NOTHROW HRESULT STDMETHODVCALLTYPE method
632#define STDMETHODV_(type, method) virtual COM_DECLSPEC_NOTHROW type STDMETHODVCALLTYPE method
633#define PURE = 0
634#define THIS_
635#define THIS void
636#define DECLARE_INTERFACE(iface) interface DECLSPEC_NOVTABLE iface
637#define DECLARE_INTERFACE_(iface, baseiface) interface DECLSPEC_NOVTABLE iface : public baseiface
638#define DECLARE_INTERFACE_IID(iface, iid) \
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
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 (
3342
3343 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3344 (
3349
3350 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3351 (
3355
3356 HRESULT(STDMETHODCALLTYPE *SetName)
3357 (
3360
3361 HRESULT(STDMETHODCALLTYPE *GetDevice)
3362 (
3366
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 (
3437 REFIID riid,
3438 _COM_Outptr_ void **ppvObject);
3439
3440 ULONG(STDMETHODCALLTYPE *AddRef)
3441 (
3443
3444 ULONG(STDMETHODCALLTYPE *Release)
3445 (
3447
3448 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3449 (
3454
3455 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3456 (
3461
3462 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3463 (
3467
3468 HRESULT(STDMETHODCALLTYPE *SetName)
3469 (
3472
3473 HRESULT(STDMETHODCALLTYPE *GetDevice)
3474 (
3478
3480 (
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 (
3812
3813 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3814 (
3819
3820 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3821 (
3825
3826 HRESULT(STDMETHODCALLTYPE *SetName)
3827 (
3830
3831 HRESULT(STDMETHODCALLTYPE *GetDevice)
3832 (
3836
3838 (
3840
3842 (
3844
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(
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,
4361
4362 virtual void STDMETHODCALLTYPE CopyTileMappings(
4364 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
4366 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
4367 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
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 (
4412 REFIID riid,
4413 _COM_Outptr_ void **ppvObject);
4414
4415 ULONG(STDMETHODCALLTYPE *AddRef)
4416 (
4418
4419 ULONG(STDMETHODCALLTYPE *Release)
4420 (
4422
4423 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4424 (
4429
4430 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4431 (
4436
4437 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4438 (
4442
4443 HRESULT(STDMETHODCALLTYPE *SetName)
4444 (
4447
4448 HRESULT(STDMETHODCALLTYPE *GetDevice)
4449 (
4453
4454 void(STDMETHODCALLTYPE *UpdateTileMappings)(
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)(
4475
4476 void(STDMETHODCALLTYPE *ExecuteCommandLists)(
4479 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
4480
4484 _In_reads_bytes_opt_(Size) const void *pData,
4486
4489 UINT Metadata,
4490 _In_reads_bytes_opt_(Size) const void *pData,
4491 UINT Size);
4492
4495
4496 HRESULT(STDMETHODCALLTYPE *Signal)
4497 (
4501
4503 (
4505 ID3D12Fence *pFence,
4506 UINT64 Value);
4507
4508 HRESULT(STDMETHODCALLTYPE *GetTimestampFrequency)
4509 (
4512
4513 HRESULT(STDMETHODCALLTYPE *GetClockCalibration)
4514 (
4518
4520 (
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 (
4834 REFIID riid,
4835 _COM_Outptr_ void **ppvObject);
4836
4837 ULONG(STDMETHODCALLTYPE *AddRef)
4838 (
4840
4841 ULONG(STDMETHODCALLTYPE *Release)
4842 (
4844
4845 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4846 (
4851
4852 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4853 (
4858
4859 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4860 (
4864
4865 HRESULT(STDMETHODCALLTYPE *SetName)
4866 (
4869
4870 UINT(STDMETHODCALLTYPE *GetNodeCount)
4871 (
4873
4874 HRESULT(STDMETHODCALLTYPE *CreateCommandQueue)
4875 (
4880
4881 HRESULT(STDMETHODCALLTYPE *CreateCommandAllocator)
4882 (
4887
4888 HRESULT(STDMETHODCALLTYPE *CreateGraphicsPipelineState)
4889 (
4894
4895 HRESULT(STDMETHODCALLTYPE *CreateComputePipelineState)
4896 (
4901
4902 HRESULT(STDMETHODCALLTYPE *CreateCommandList)
4903 (
4911
4912 HRESULT(STDMETHODCALLTYPE *CheckFeatureSupport)
4913 (
4916 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
4918
4919 HRESULT(STDMETHODCALLTYPE *CreateDescriptorHeap)
4920 (
4925
4926 UINT(STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)
4927 (
4930
4931 HRESULT(STDMETHODCALLTYPE *CreateRootSignature)
4932 (
4934 _In_ UINT nodeMask,
4935 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
4939
4940 void(STDMETHODCALLTYPE *CreateConstantBufferView)(
4944
4945 void(STDMETHODCALLTYPE *CreateShaderResourceView)(
4950
4951 void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(
4953 _In_opt_ ID3D12Resource *pResource,
4957
4958 void(STDMETHODCALLTYPE *CreateRenderTargetView)(
4960 _In_opt_ ID3D12Resource *pResource,
4963
4964 void(STDMETHODCALLTYPE *CreateDepthStencilView)(
4966 _In_opt_ ID3D12Resource *pResource,
4969
4970 void(STDMETHODCALLTYPE *CreateSampler)(
4974
4975 void(STDMETHODCALLTYPE *CopyDescriptors)(
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)(
4991
4992 D3D12_RESOURCE_ALLOCATION_INFO(STDMETHODCALLTYPE *GetResourceAllocationInfo)
4993 (
4997 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
4998
4999 D3D12_HEAP_PROPERTIES(STDMETHODCALLTYPE *GetCustomHeapProperties)
5000 (
5002 _In_ UINT nodeMask,
5004
5005 HRESULT(STDMETHODCALLTYPE *CreateCommittedResource)
5006 (
5015
5016 HRESULT(STDMETHODCALLTYPE *CreateHeap)
5017 (
5022
5023 HRESULT(STDMETHODCALLTYPE *CreatePlacedResource)
5024 (
5033
5034 HRESULT(STDMETHODCALLTYPE *CreateReservedResource)
5035 (
5042
5043 HRESULT(STDMETHODCALLTYPE *CreateSharedHandle)
5044 (
5051
5052 HRESULT(STDMETHODCALLTYPE *OpenSharedHandle)
5053 (
5058
5059 HRESULT(STDMETHODCALLTYPE *OpenSharedHandleByName)
5060 (
5064 /* [annotation][out] */
5066
5067 HRESULT(STDMETHODCALLTYPE *MakeResident)
5068 (
5071 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5072
5074 (
5076 UINT NumObjects,
5077 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5078
5079 HRESULT(STDMETHODCALLTYPE *CreateFence)
5080 (
5086
5087 HRESULT(STDMETHODCALLTYPE *GetDeviceRemovedReason)
5088 (
5090
5091 void(STDMETHODCALLTYPE *GetCopyableFootprints)(
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 (
5108
5109 HRESULT(STDMETHODCALLTYPE *SetStablePowerState)
5110 (
5113
5114 HRESULT(STDMETHODCALLTYPE *CreateCommandSignature)
5115 (
5121
5122 void(STDMETHODCALLTYPE *GetResourceTiling)(
5131
5132 LUID(STDMETHODCALLTYPE *GetAdapterLuid)
5133 (
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 (
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 (
5331
5332 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5333 (
5338
5339 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5340 (
5344
5345 HRESULT(STDMETHODCALLTYPE *SetName)
5346 (
5349
5350 HRESULT(STDMETHODCALLTYPE *GetDevice)
5351 (
5355
5356 UINT64(STDMETHODCALLTYPE *GetCompletedValue)
5357 (
5358 ID3D12Fence *This);
5359
5360 HRESULT(STDMETHODCALLTYPE *SetEventOnCompletion)
5361 (
5365
5366 HRESULT(STDMETHODCALLTYPE *Signal)
5367 (
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(
5434};
5435
5436#else /* C style interface */
5437
5440
5441 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5442 (
5444 REFIID riid,
5445 _COM_Outptr_ void **ppvObject);
5446
5447 ULONG(STDMETHODCALLTYPE *AddRef)
5448 (
5450
5451 ULONG(STDMETHODCALLTYPE *Release)
5452 (
5454
5455 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5456 (
5461
5462 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5463 (
5468
5469 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5470 (
5474
5475 HRESULT(STDMETHODCALLTYPE *SetName)
5476 (
5479
5480 HRESULT(STDMETHODCALLTYPE *GetDevice)
5481 (
5485
5486 HRESULT(STDMETHODCALLTYPE *GetCachedBlob)
5487 (
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 (
5571
5572 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5573 (
5578
5579 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5580 (
5585
5586 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5587 (
5591
5592 HRESULT(STDMETHODCALLTYPE *SetName)
5593 (
5596
5597 HRESULT(STDMETHODCALLTYPE *GetDevice)
5598 (
5602
5604 (
5606
5607 D3D12_CPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart)
5608 (
5610
5611 D3D12_GPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart)
5612 (
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 (
5686 REFIID riid,
5687 _COM_Outptr_ void **ppvObject);
5688
5689 ULONG(STDMETHODCALLTYPE *AddRef)
5690 (
5692
5693 ULONG(STDMETHODCALLTYPE *Release)
5694 (
5696
5697 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5698 (
5703
5704 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5705 (
5710
5711 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5712 (
5716
5717 HRESULT(STDMETHODCALLTYPE *SetName)
5718 (
5721
5722 HRESULT(STDMETHODCALLTYPE *GetDevice)
5723 (
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
5767typedef HRESULT(WINAPI *PFN_D3D12_CREATE_DEVICE)(_In_opt_ IUnknown *,
5770
5771typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
5772 _In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature,
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 */
6782 _In_reads_bytes_(SrcDataSize) LPCVOID pSrcData,
6783 _In_ SIZE_T SrcDataSize,
6784 _In_opt_ LPCSTR pSourceName,
6785 _In_reads_opt_(_Inexpressible_(pDefines->Name != nullptr)) CONST D3D_SHADER_MACRO *pDefines,
6786 _In_opt_ ID3DInclude *pInclude,
6787 _In_opt_ LPCSTR pEntrypoint,
6788 _In_ LPCSTR pTarget,
6789 _In_ UINT Flags1,
6790 _In_ UINT Flags2,
6791 _Out_ ID3DBlob **ppCode,
6792 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs);
6793
6794#define D3DCOMPILE_DEBUG (1 << 0)
6795#define D3DCOMPILE_SKIP_VALIDATION (1 << 1)
6796#define D3DCOMPILE_SKIP_OPTIMIZATION (1 << 2)
6797#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR (1 << 3)
6798#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR (1 << 4)
6799#define D3DCOMPILE_PARTIAL_PRECISION (1 << 5)
6800#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT (1 << 6)
6801#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT (1 << 7)
6802#define D3DCOMPILE_NO_PRESHADER (1 << 8)
6803#define D3DCOMPILE_AVOID_FLOW_CONTROL (1 << 9)
6804#define D3DCOMPILE_PREFER_FLOW_CONTROL (1 << 10)
6805#define D3DCOMPILE_ENABLE_STRICTNESS (1 << 11)
6806#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY (1 << 12)
6807#define D3DCOMPILE_IEEE_STRICTNESS (1 << 13)
6808#define D3DCOMPILE_OPTIMIZATION_LEVEL0 (1 << 14)
6809#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0
6810#define D3DCOMPILE_OPTIMIZATION_LEVEL2 ((1 << 14) | (1 << 15))
6811#define D3DCOMPILE_OPTIMIZATION_LEVEL3 (1 << 15)
6812#define D3DCOMPILE_RESERVED16 (1 << 16)
6813#define D3DCOMPILE_RESERVED17 (1 << 17)
6814#define D3DCOMPILE_WARNINGS_ARE_ERRORS (1 << 18)
6815#define D3DCOMPILE_RESOURCES_MAY_ALIAS (1 << 19)
6816#define D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES (1 << 20)
6817#define D3DCOMPILE_ALL_RESOURCES_BOUND (1 << 21)
6818
6819#ifdef __clang__
6820#pragma clang diagnostic pop
6821#endif
6822
6823// Mini Win32 for D3D12
6824
6825#if !defined(WINBASEAPI)
6826#if !defined(_KERNEL32_)
6827#define WINBASEAPI DECLSPEC_IMPORT
6828#else
6829#define WINBASEAPI
6830#endif
6831#endif
6832
6833#define _Ret_maybenull_
6834#define _Post_ptr_invalid_
6835
6836#define STATUS_WAIT_0 ((DWORD)0x00000000L)
6837#define WAIT_OBJECT_0 ((STATUS_WAIT_0) + 0)
6838
6839extern "C" {
6840
6842BOOL
6843 WINAPI
6846
6849 HANDLE
6850 WINAPI
6852 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6853 _In_ BOOL bManualReset,
6854 _In_ BOOL bInitialState,
6855 _In_opt_ LPCSTR lpName);
6856
6859 HANDLE
6860 WINAPI
6862 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6863 _In_ BOOL bManualReset,
6864 _In_ BOOL bInitialState,
6865 _In_opt_ LPCWSTR lpName);
6866
6868DWORD
6869WINAPI
6871 _In_ HANDLE hHandle,
6872 _In_ DWORD dwMilliseconds);
6873}
6874
6875#ifdef UNICODE
6876#define CreateEvent CreateEventW
6877#else
6878#define CreateEvent CreateEventA
6879#endif // !UNICODE
6880
6881// end of Mini Win32 for D3D12
6882
6883#endif /*__mini_d3d12_h__*/
struct D3D12_RESOURCE_TRANSITION_BARRIER D3D12_RESOURCE_TRANSITION_BARRIER
interface ID3D12Device2 ID3D12Device2
Definition: mini_d3d12.h:1431
struct D3D12_INPUT_LAYOUT_DESC D3D12_INPUT_LAYOUT_DESC
ULONG_PTR * PSIZE_T
Definition: mini_d3d12.h:259
struct D3D12_SUBRESOURCE_FOOTPRINT D3D12_SUBRESOURCE_FOOTPRINT
_Null_terminated_ CONST CHAR * LPCSTR
Definition: mini_d3d12.h:205
struct D3D12_UNORDERED_ACCESS_VIEW_DESC D3D12_UNORDERED_ACCESS_VIEW_DESC
interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList
Definition: mini_d3d12.h:1389
_W64 UINT32 UINT_PTR
Definition: mini_d3d12.h:251
#define __RPC_string
Definition: mini_d3d12.h:150
struct D3D12_TEX2DMS_ARRAY_SRV D3D12_TEX2DMS_ARRAY_SRV
#define far
Definition: mini_d3d12.h:187
struct D3D12_RENDER_TARGET_VIEW_DESC D3D12_RENDER_TARGET_VIEW_DESC
struct ID3D12ObjectVtbl ID3D12ObjectVtbl
void far * LPVOID
Definition: mini_d3d12.h:190
struct D3D12_SAMPLER_DESC D3D12_SAMPLER_DESC
#define CONST
Definition: mini_d3d12.h:186
#define _Out_opt_
Definition: mini_d3d12.h:45
EXTERN_C const IID IID_ID3D12PipelineState
Definition: mini_d3d12.h:5425
struct DXGI_ADAPTER_DESC DXGI_ADAPTER_DESC
struct ID3D12CommandListVtbl ID3D12CommandListVtbl
#define REFIID
Definition: mini_d3d12.h:485
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition: mini_d3d12.h:506
char OLECHAR
Definition: mini_d3d12.h:869
struct D3D12_RESOURCE_ALLOCATION_INFO D3D12_RESOURCE_ALLOCATION_INFO
struct D3D12_RESOURCE_UAV_BARRIER D3D12_RESOURCE_UAV_BARRIER
#define _In_reads_bytes_(size)
Definition: mini_d3d12.h:97
GUID IID
Definition: mini_d3d12.h:473
struct D3D12_TEX1D_ARRAY_RTV D3D12_TEX1D_ARRAY_RTV
EXTERN_C const IID IID_ID3D12Resource
Definition: mini_d3d12.h:3108
struct D3D12_HEAP_PROPERTIES D3D12_HEAP_PROPERTIES
_D3D_INCLUDE_TYPE
Definition: mini_d3d12.h:1191
@ D3D_INCLUDE_SYSTEM
Definition: mini_d3d12.h:1193
@ D3D10_INCLUDE_SYSTEM
Definition: mini_d3d12.h:1195
@ D3D_INCLUDE_FORCE_DWORD
Definition: mini_d3d12.h:1196
@ D3D_INCLUDE_LOCAL
Definition: mini_d3d12.h:1192
@ D3D10_INCLUDE_LOCAL
Definition: mini_d3d12.h:1194
unsigned short WORD
Definition: mini_d3d12.h:169
#define _Post_ptr_invalid_
Definition: mini_d3d12.h:6834
#define _Inout_
Definition: mini_d3d12.h:49
interface ID3D12DescriptorHeap ID3D12DescriptorHeap
Definition: mini_d3d12.h:1365
#define _Out_writes_bytes_(size)
Definition: mini_d3d12.h:113
interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1
Definition: mini_d3d12.h:1419
struct DXGI_SAMPLE_DESC DXGI_SAMPLE_DESC
LONG_PTR SSIZE_T
Definition: mini_d3d12.h:260
WORD * PUINT16
Definition: mini_d3d12.h:224
D3D12_STATIC_BORDER_COLOR
Definition: mini_d3d12.h:3001
@ D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK
Definition: mini_d3d12.h:3002
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE
Definition: mini_d3d12.h:3004
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK
Definition: mini_d3d12.h:3003
struct D3D12_TEX1D_RTV D3D12_TEX1D_RTV
D3D12_DESCRIPTOR_RANGE_TYPE
Definition: mini_d3d12.h:2950
@ D3D12_DESCRIPTOR_RANGE_TYPE_SRV
Definition: mini_d3d12.h:2951
@ D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
Definition: mini_d3d12.h:2954
@ D3D12_DESCRIPTOR_RANGE_TYPE_CBV
Definition: mini_d3d12.h:2953
@ D3D12_DESCRIPTOR_RANGE_TYPE_UAV
Definition: mini_d3d12.h:2952
EXTERN_C const IID IID_IDXGIObject
Definition: mini_d3d12.h:5973
#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
Definition: mini_d3d12.h:1965
@ D3D12_FILL_MODE_SOLID
Definition: mini_d3d12.h:1967
@ D3D12_FILL_MODE_WIREFRAME
Definition: mini_d3d12.h:1966
D3D12_CULL_MODE
Definition: mini_d3d12.h:1970
@ D3D12_CULL_MODE_NONE
Definition: mini_d3d12.h:1971
@ D3D12_CULL_MODE_BACK
Definition: mini_d3d12.h:1973
@ D3D12_CULL_MODE_FRONT
Definition: mini_d3d12.h:1972
D3D12_RESOURCE_STATES
Definition: mini_d3d12.h:2219
@ D3D12_RESOURCE_STATE_GENERIC_READ
Definition: mini_d3d12.h:2235
@ D3D12_RESOURCE_STATE_RESOLVE_DEST
Definition: mini_d3d12.h:2233
@ D3D12_RESOURCE_STATE_INDEX_BUFFER
Definition: mini_d3d12.h:2222
@ D3D12_RESOURCE_STATE_COPY_DEST
Definition: mini_d3d12.h:2231
@ D3D12_RESOURCE_STATE_RENDER_TARGET
Definition: mini_d3d12.h:2223
@ D3D12_RESOURCE_STATE_COPY_SOURCE
Definition: mini_d3d12.h:2232
@ D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
Definition: mini_d3d12.h:2228
@ D3D12_RESOURCE_STATE_UNORDERED_ACCESS
Definition: mini_d3d12.h:2224
@ D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT
Definition: mini_d3d12.h:2230
@ D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
Definition: mini_d3d12.h:2227
@ D3D12_RESOURCE_STATE_DEPTH_WRITE
Definition: mini_d3d12.h:2225
@ D3D12_RESOURCE_STATE_DEPTH_READ
Definition: mini_d3d12.h:2226
@ D3D12_RESOURCE_STATE_STREAM_OUT
Definition: mini_d3d12.h:2229
@ D3D12_RESOURCE_STATE_COMMON
Definition: mini_d3d12.h:2220
@ D3D12_RESOURCE_STATE_PREDICATION
Definition: mini_d3d12.h:2237
@ D3D12_RESOURCE_STATE_RESOLVE_SOURCE
Definition: mini_d3d12.h:2234
@ D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
Definition: mini_d3d12.h:2221
@ D3D12_RESOURCE_STATE_PRESENT
Definition: mini_d3d12.h:2236
_In_ _COM_Outptr_opt_ void **typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
Definition: mini_d3d12.h:5771
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventA(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName)
#define __RPC__deref_out
Definition: mini_d3d12.h:154
D3D_ROOT_SIGNATURE_VERSION
Definition: mini_d3d12.h:3086
@ D3D_ROOT_SIGNATURE_VERSION_1_0
Definition: mini_d3d12.h:3088
@ D3D_ROOT_SIGNATURE_VERSION_1
Definition: mini_d3d12.h:3087
@ D3D_ROOT_SIGNATURE_VERSION_1_1
Definition: mini_d3d12.h:3089
#define _COM_Outptr_opt_
Definition: mini_d3d12.h:61
struct D3D12_TEX2D_SRV D3D12_TEX2D_SRV
struct D3D12_BOX D3D12_BOX
#define MIDL_INTERFACE(x)
Definition: mini_d3d12.h:594
_Null_terminated_ CHAR * NPSTR
Definition: mini_d3d12.h:204
_In_ _COM_Outptr_opt_ void **typedef _In_ D3D_ROOT_SIGNATURE_VERSION Version
Definition: mini_d3d12.h:5773
D3D12_TEXTURE_ADDRESS_MODE
Definition: mini_d3d12.h:2669
@ D3D12_TEXTURE_ADDRESS_MODE_BORDER
Definition: mini_d3d12.h:2673
@ D3D12_TEXTURE_ADDRESS_MODE_WRAP
Definition: mini_d3d12.h:2670
@ D3D12_TEXTURE_ADDRESS_MODE_CLAMP
Definition: mini_d3d12.h:2672
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR
Definition: mini_d3d12.h:2671
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
Definition: mini_d3d12.h:2674
struct D3D12_INDIRECT_ARGUMENT_DESC D3D12_INDIRECT_ARGUMENT_DESC
I_RPC_HANDLE RPC_BINDING_HANDLE
Definition: mini_d3d12.h:542
_Null_terminated_ CONST CHAR * PCSTR
Definition: mini_d3d12.h:205
INT * PINT32
Definition: mini_d3d12.h:222
struct D3D12_SHADER_BYTECODE D3D12_SHADER_BYTECODE
interface IDXGIFactory1 IDXGIFactory1
Definition: mini_d3d12.h:5923
#define _Ret_maybenull_
Definition: mini_d3d12.h:6833
struct D3D12_TEX2DMS_SRV D3D12_TEX2DMS_SRV
long LONG
Definition: mini_d3d12.h:178
struct D3D12_BUFFER_RTV D3D12_BUFFER_RTV
struct D3D12_RESOURCE_ALIASING_BARRIER D3D12_RESOURCE_ALIASING_BARRIER
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE)
Definition: mini_d3d12.h:414
struct D3D12_TEX2D_UAV D3D12_TEX2D_UAV
interface ID3D12QueryHeap ID3D12QueryHeap
Definition: mini_d3d12.h:1371
D3D12_INPUT_CLASSIFICATION
Definition: mini_d3d12.h:2040
@ D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA
Definition: mini_d3d12.h:2041
@ D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
Definition: mini_d3d12.h:2042
EXTERN_C const IID IID_IUnknown
Definition: mini_d3d12.h:824
WORD UINT16
Definition: mini_d3d12.h:224
interface ID3D12CommandAllocator ID3D12CommandAllocator
Definition: mini_d3d12.h:1347
struct _RPC_VERSION RPC_VERSION
unsigned int UINT
Definition: mini_d3d12.h:181
#define _W64
Definition: mini_d3d12.h:237
struct D3D12_ROOT_DESCRIPTOR_TABLE D3D12_ROOT_DESCRIPTOR_TABLE
struct D3D12_GPU_DESCRIPTOR_HANDLE D3D12_GPU_DESCRIPTOR_HANDLE
GUID UUID
Definition: mini_d3d12.h:536
D3D12_PREDICATION_OP
Definition: mini_d3d12.h:2926
@ D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
Definition: mini_d3d12.h:2928
@ D3D12_PREDICATION_OP_EQUAL_ZERO
Definition: mini_d3d12.h:2927
int INT
Definition: mini_d3d12.h:179
_W64 INT32 * PLONG_PTR
Definition: mini_d3d12.h:253
UINT * PUINT32
Definition: mini_d3d12.h:225
interface ID3D12Object ID3D12Object
Definition: mini_d3d12.h:1299
D3D12_SHADER_COMPONENT_MAPPING
Definition: mini_d3d12.h:2296
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
Definition: mini_d3d12.h:2298
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
Definition: mini_d3d12.h:2301
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
Definition: mini_d3d12.h:2300
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
Definition: mini_d3d12.h:2302
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
Definition: mini_d3d12.h:2297
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
Definition: mini_d3d12.h:2299
EXTERN_C const IID IID_ID3D12GraphicsCommandList
Definition: mini_d3d12.h:3531
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
_In_ _COM_Outptr_opt_ void **typedef _In_ D3D_ROOT_SIGNATURE_VERSION _Out_ ID3DBlob ** ppBlob
Definition: mini_d3d12.h:5774
struct IDXGIFactoryVtbl IDXGIFactoryVtbl
interface ID3D12CommandList ID3D12CommandList
Definition: mini_d3d12.h:1383
struct D3D12_VIEWPORT D3D12_VIEWPORT
EXTERN_C const IID IID_ID3D12Fence
Definition: mini_d3d12.h:5289
struct IDXGIObjectVtbl IDXGIObjectVtbl
struct D3D12_RESOURCE_DESC D3D12_RESOURCE_DESC
struct D3D12_TEXCUBE_ARRAY_SRV D3D12_TEXCUBE_ARRAY_SRV
interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1
Definition: mini_d3d12.h:1395
#define _In_z_
Definition: mini_d3d12.h:33
struct D3D12_QUERY_HEAP_DESC D3D12_QUERY_HEAP_DESC
struct D3D12_DESCRIPTOR_HEAP_DESC D3D12_DESCRIPTOR_HEAP_DESC
_In_ REFIID
Definition: mini_d3d12.h:5769
unsigned char BYTE
Definition: mini_d3d12.h:168
#define THIS_
Definition: mini_d3d12.h:714
D3D12_RTV_DIMENSION
Definition: mini_d3d12.h:2543
@ D3D12_RTV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2546
@ D3D12_RTV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2544
@ D3D12_RTV_DIMENSION_BUFFER
Definition: mini_d3d12.h:2545
@ D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY
Definition: mini_d3d12.h:2551
@ D3D12_RTV_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2552
@ D3D12_RTV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2547
@ D3D12_RTV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2548
@ D3D12_RTV_DIMENSION_TEXTURE2DMS
Definition: mini_d3d12.h:2550
@ D3D12_RTV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2549
struct D3D12_TEX1D_ARRAY_SRV D3D12_TEX1D_ARRAY_SRV
struct ID3D12PageableVtbl ID3D12PageableVtbl
struct D3D12_INDEX_BUFFER_VIEW D3D12_INDEX_BUFFER_VIEW
EXTERN_C const IID IID_ID3D12CommandQueue
Definition: mini_d3d12.h:4343
D3D12_RESOURCE_BARRIER_FLAGS
Definition: mini_d3d12.h:2872
@ D3D12_RESOURCE_BARRIER_FLAG_NONE
Definition: mini_d3d12.h:2873
@ D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY
Definition: mini_d3d12.h:2874
@ D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
Definition: mini_d3d12.h:2875
struct _RPC_MESSAGE * PRPC_MESSAGE
#define _Outptr_opt_result_bytebuffer_(size)
Definition: mini_d3d12.h:133
D3D12_PRIMITIVE_TOPOLOGY_TYPE
Definition: mini_d3d12.h:2071
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE
Definition: mini_d3d12.h:2075
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED
Definition: mini_d3d12.h:2072
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT
Definition: mini_d3d12.h:2073
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
Definition: mini_d3d12.h:2076
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE
Definition: mini_d3d12.h:2074
_COM_Outptr_ void ** ppFactory
Definition: mini_d3d12.h:6763
struct D3D12_PACKED_MIP_INFO D3D12_PACKED_MIP_INFO
SHORT INT16
Definition: mini_d3d12.h:221
struct D3D12_SHADER_RESOURCE_VIEW_DESC D3D12_SHADER_RESOURCE_VIEW_DESC
_Null_terminated_ CHAR * LPSTR
Definition: mini_d3d12.h:204
D3D12_COMMAND_LIST_TYPE
Definition: mini_d3d12.h:1851
@ D3D12_COMMAND_LIST_TYPE_COPY
Definition: mini_d3d12.h:1855
@ D3D12_COMMAND_LIST_TYPE_BUNDLE
Definition: mini_d3d12.h:1853
@ D3D12_COMMAND_LIST_TYPE_DIRECT
Definition: mini_d3d12.h:1852
@ D3D12_COMMAND_LIST_TYPE_COMPUTE
Definition: mini_d3d12.h:1854
#define __RPC_FAR
Definition: mini_d3d12.h:529
INT BOOL
Definition: mini_d3d12.h:192
struct D3D12_ROOT_PARAMETER D3D12_ROOT_PARAMETER
RECT D3D12_RECT
Definition: mini_d3d12.h:2854
_W64 INT32 INT_PTR
Definition: mini_d3d12.h:250
struct IDXGIAdapterVtbl IDXGIAdapterVtbl
D3D12_LOGIC_OP
Definition: mini_d3d12.h:1927
@ D3D12_LOGIC_OP_OR_INVERTED
Definition: mini_d3d12.h:1943
@ D3D12_LOGIC_OP_XOR
Definition: mini_d3d12.h:1938
@ D3D12_LOGIC_OP_SET
Definition: mini_d3d12.h:1929
@ D3D12_LOGIC_OP_AND_REVERSE
Definition: mini_d3d12.h:1940
@ D3D12_LOGIC_OP_EQUIV
Definition: mini_d3d12.h:1939
@ D3D12_LOGIC_OP_OR_REVERSE
Definition: mini_d3d12.h:1942
@ D3D12_LOGIC_OP_CLEAR
Definition: mini_d3d12.h:1928
@ D3D12_LOGIC_OP_NOOP
Definition: mini_d3d12.h:1932
@ D3D12_LOGIC_OP_NOR
Definition: mini_d3d12.h:1937
@ D3D12_LOGIC_OP_INVERT
Definition: mini_d3d12.h:1933
@ D3D12_LOGIC_OP_OR
Definition: mini_d3d12.h:1936
@ D3D12_LOGIC_OP_AND_INVERTED
Definition: mini_d3d12.h:1941
@ D3D12_LOGIC_OP_AND
Definition: mini_d3d12.h:1934
@ D3D12_LOGIC_OP_COPY
Definition: mini_d3d12.h:1930
@ D3D12_LOGIC_OP_COPY_INVERTED
Definition: mini_d3d12.h:1931
@ D3D12_LOGIC_OP_NAND
Definition: mini_d3d12.h:1935
struct tagRECT RECT
struct D3D12_CLEAR_VALUE D3D12_CLEAR_VALUE
struct D3D12_DISCARD_REGION D3D12_DISCARD_REGION
interface IDXGIAdapter1 IDXGIAdapter1
Definition: mini_d3d12.h:5929
D3D12_TILE_MAPPING_FLAGS
Definition: mini_d3d12.h:2205
@ D3D12_TILE_MAPPING_FLAG_NONE
Definition: mini_d3d12.h:2206
@ D3D12_TILE_MAPPING_FLAG_NO_HAZARD
Definition: mini_d3d12.h:2207
D3D12_COMMAND_QUEUE_PRIORITY
Definition: mini_d3d12.h:1864
@ D3D12_COMMAND_QUEUE_PRIORITY_HIGH
Definition: mini_d3d12.h:1866
@ D3D12_COMMAND_QUEUE_PRIORITY_NORMAL
Definition: mini_d3d12.h:1865
@ D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
Definition: mini_d3d12.h:1867
BYTE * PUINT8
Definition: mini_d3d12.h:223
D3D12_MEMORY_POOL
Definition: mini_d3d12.h:2168
@ D3D12_MEMORY_POOL_UNKNOWN
Definition: mini_d3d12.h:2169
@ D3D12_MEMORY_POOL_L1
Definition: mini_d3d12.h:2171
@ D3D12_MEMORY_POOL_L0
Definition: mini_d3d12.h:2170
D3D12_TILE_RANGE_FLAGS
Definition: mini_d3d12.h:2814
@ D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
Definition: mini_d3d12.h:2818
@ D3D12_TILE_RANGE_FLAG_SKIP
Definition: mini_d3d12.h:2817
@ D3D12_TILE_RANGE_FLAG_NONE
Definition: mini_d3d12.h:2815
@ D3D12_TILE_RANGE_FLAG_NULL
Definition: mini_d3d12.h:2816
D3D12_CONSERVATIVE_RASTERIZATION_MODE
Definition: mini_d3d12.h:1976
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF
Definition: mini_d3d12.h:1977
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
Definition: mini_d3d12.h:1978
struct D3D12_GRAPHICS_PIPELINE_STATE_DESC D3D12_GRAPHICS_PIPELINE_STATE_DESC
D3D12_RESOURCE_DIMENSION
Definition: mini_d3d12.h:2122
@ D3D12_RESOURCE_DIMENSION_BUFFER
Definition: mini_d3d12.h:2124
@ D3D12_RESOURCE_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2125
@ D3D12_RESOURCE_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2127
@ D3D12_RESOURCE_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2123
@ D3D12_RESOURCE_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2126
struct D3D12_TEX1D_ARRAY_DSV D3D12_TEX1D_ARRAY_DSV
_W64 UINT32 * PULONG_PTR
Definition: mini_d3d12.h:254
EXTERN_C const IID IID_ID3D12DescriptorHeap
Definition: mini_d3d12.h:5539
CHAR * PINT8
Definition: mini_d3d12.h:220
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventW(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCWSTR lpName)
#define _Always_(annos)
Definition: mini_d3d12.h:145
struct D3D12_ROOT_SIGNATURE_DESC1 D3D12_ROOT_SIGNATURE_DESC1
#define _Out_writes_(size)
Definition: mini_d3d12.h:105
struct D3D12_TEX3D_SRV D3D12_TEX3D_SRV
struct D3D12_TEX3D_RTV D3D12_TEX3D_RTV
D3D12_DEPTH_WRITE_MASK
Definition: mini_d3d12.h:1995
@ D3D12_DEPTH_WRITE_MASK_ALL
Definition: mini_d3d12.h:1997
@ D3D12_DEPTH_WRITE_MASK_ZERO
Definition: mini_d3d12.h:1996
interface ID3D12Pageable ID3D12Pageable
Definition: mini_d3d12.h:1329
struct __LUID LUID
DXGI_FORMAT
Definition: mini_d3d12.h:1064
@ DXGI_FORMAT_R16_UINT
Definition: mini_d3d12.h:1122
@ DXGI_FORMAT_B8G8R8A8_UNORM
Definition: mini_d3d12.h:1152
@ DXGI_FORMAT_R8_TYPELESS
Definition: mini_d3d12.h:1125
@ DXGI_FORMAT_Y410
Definition: mini_d3d12.h:1166
@ DXGI_FORMAT_BC3_UNORM_SRGB
Definition: mini_d3d12.h:1143
@ DXGI_FORMAT_R8G8_B8G8_UNORM
Definition: mini_d3d12.h:1133
@ DXGI_FORMAT_R32G32B32_TYPELESS
Definition: mini_d3d12.h:1070
@ DXGI_FORMAT_BC3_TYPELESS
Definition: mini_d3d12.h:1141
@ DXGI_FORMAT_R16G16_SNORM
Definition: mini_d3d12.h:1102
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
Definition: mini_d3d12.h:1085
@ DXGI_FORMAT_R32G32B32A32_SINT
Definition: mini_d3d12.h:1069
@ DXGI_FORMAT_BC5_UNORM
Definition: mini_d3d12.h:1148
@ DXGI_FORMAT_Y216
Definition: mini_d3d12.h:1174
@ DXGI_FORMAT_BC1_UNORM
Definition: mini_d3d12.h:1136
@ DXGI_FORMAT_R8G8_UINT
Definition: mini_d3d12.h:1115
@ DXGI_FORMAT_420_OPAQUE
Definition: mini_d3d12.h:1171
@ DXGI_FORMAT_R32G32B32A32_UINT
Definition: mini_d3d12.h:1068
@ DXGI_FORMAT_R16G16B16A16_SNORM
Definition: mini_d3d12.h:1078
@ DXGI_FORMAT_R32_FLOAT
Definition: mini_d3d12.h:1106
@ DXGI_FORMAT_R16G16B16A16_UNORM
Definition: mini_d3d12.h:1076
@ DXGI_FORMAT_R32_SINT
Definition: mini_d3d12.h:1108
@ DXGI_FORMAT_R8G8_UNORM
Definition: mini_d3d12.h:1114
@ DXGI_FORMAT_R16G16_UNORM
Definition: mini_d3d12.h:1100
@ DXGI_FORMAT_BC1_UNORM_SRGB
Definition: mini_d3d12.h:1137
@ DXGI_FORMAT_A8P8
Definition: mini_d3d12.h:1179
@ DXGI_FORMAT_R16G16_SINT
Definition: mini_d3d12.h:1103
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
Definition: mini_d3d12.h:1111
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
Definition: mini_d3d12.h:1092
@ DXGI_FORMAT_BC2_TYPELESS
Definition: mini_d3d12.h:1138
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
Definition: mini_d3d12.h:1086
@ DXGI_FORMAT_R32G32B32_FLOAT
Definition: mini_d3d12.h:1071
@ DXGI_FORMAT_R32G32B32_SINT
Definition: mini_d3d12.h:1073
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
Definition: mini_d3d12.h:1066
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
Definition: mini_d3d12.h:1156
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
Definition: mini_d3d12.h:1157
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
Definition: mini_d3d12.h:1155
@ DXGI_FORMAT_UNKNOWN
Definition: mini_d3d12.h:1065
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
Definition: mini_d3d12.h:1112
@ DXGI_FORMAT_R16_SINT
Definition: mini_d3d12.h:1124
@ DXGI_FORMAT_R1_UNORM
Definition: mini_d3d12.h:1131
@ DXGI_FORMAT_R16G16B16A16_UINT
Definition: mini_d3d12.h:1077
@ DXGI_FORMAT_R16_UNORM
Definition: mini_d3d12.h:1121
@ DXGI_FORMAT_R8G8B8A8_SINT
Definition: mini_d3d12.h:1097
@ DXGI_FORMAT_D24_UNORM_S8_UINT
Definition: mini_d3d12.h:1110
@ DXGI_FORMAT_R8G8B8A8_SNORM
Definition: mini_d3d12.h:1096
@ DXGI_FORMAT_A8_UNORM
Definition: mini_d3d12.h:1130
@ DXGI_FORMAT_FORCE_UINT
Definition: mini_d3d12.h:1181
@ DXGI_FORMAT_R8G8B8A8_UINT
Definition: mini_d3d12.h:1095
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
Definition: mini_d3d12.h:1088
@ DXGI_FORMAT_R32G32_FLOAT
Definition: mini_d3d12.h:1081
@ DXGI_FORMAT_BC6H_UF16
Definition: mini_d3d12.h:1160
@ DXGI_FORMAT_BC6H_SF16
Definition: mini_d3d12.h:1161
@ DXGI_FORMAT_R10G10B10A2_UNORM
Definition: mini_d3d12.h:1089
@ DXGI_FORMAT_R8_SNORM
Definition: mini_d3d12.h:1128
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
Definition: mini_d3d12.h:1132
@ DXGI_FORMAT_P010
Definition: mini_d3d12.h:1169
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
Definition: mini_d3d12.h:1074
@ DXGI_FORMAT_R16G16B16A16_FLOAT
Definition: mini_d3d12.h:1075
@ DXGI_FORMAT_BC7_TYPELESS
Definition: mini_d3d12.h:1162
@ DXGI_FORMAT_P016
Definition: mini_d3d12.h:1170
@ DXGI_FORMAT_R32_TYPELESS
Definition: mini_d3d12.h:1104
@ DXGI_FORMAT_R8_UNORM
Definition: mini_d3d12.h:1126
@ DXGI_FORMAT_R32G32_UINT
Definition: mini_d3d12.h:1082
@ DXGI_FORMAT_R11G11B10_FLOAT
Definition: mini_d3d12.h:1091
@ DXGI_FORMAT_R8G8B8A8_UNORM
Definition: mini_d3d12.h:1093
@ DXGI_FORMAT_AYUV
Definition: mini_d3d12.h:1165
@ DXGI_FORMAT_Y416
Definition: mini_d3d12.h:1167
@ DXGI_FORMAT_G8R8_G8B8_UNORM
Definition: mini_d3d12.h:1134
@ DXGI_FORMAT_YUY2
Definition: mini_d3d12.h:1172
@ DXGI_FORMAT_D16_UNORM
Definition: mini_d3d12.h:1120
@ DXGI_FORMAT_R16_FLOAT
Definition: mini_d3d12.h:1119
@ DXGI_FORMAT_Y210
Definition: mini_d3d12.h:1173
@ DXGI_FORMAT_R10G10B10A2_UINT
Definition: mini_d3d12.h:1090
@ DXGI_FORMAT_BC6H_TYPELESS
Definition: mini_d3d12.h:1159
@ DXGI_FORMAT_BC7_UNORM
Definition: mini_d3d12.h:1163
@ DXGI_FORMAT_BC5_TYPELESS
Definition: mini_d3d12.h:1147
@ DXGI_FORMAT_R32G32_SINT
Definition: mini_d3d12.h:1083
@ DXGI_FORMAT_BC2_UNORM_SRGB
Definition: mini_d3d12.h:1140
@ DXGI_FORMAT_R16_SNORM
Definition: mini_d3d12.h:1123
@ DXGI_FORMAT_R8_SINT
Definition: mini_d3d12.h:1129
@ DXGI_FORMAT_BC5_SNORM
Definition: mini_d3d12.h:1149
@ DXGI_FORMAT_R32_UINT
Definition: mini_d3d12.h:1107
@ DXGI_FORMAT_BC4_TYPELESS
Definition: mini_d3d12.h:1144
@ DXGI_FORMAT_R32G32B32A32_FLOAT
Definition: mini_d3d12.h:1067
@ DXGI_FORMAT_R24G8_TYPELESS
Definition: mini_d3d12.h:1109
@ DXGI_FORMAT_IA44
Definition: mini_d3d12.h:1177
@ DXGI_FORMAT_NV11
Definition: mini_d3d12.h:1175
@ DXGI_FORMAT_R8G8_SINT
Definition: mini_d3d12.h:1117
@ DXGI_FORMAT_R16_TYPELESS
Definition: mini_d3d12.h:1118
@ DXGI_FORMAT_BC3_UNORM
Definition: mini_d3d12.h:1142
@ DXGI_FORMAT_R32G32B32_UINT
Definition: mini_d3d12.h:1072
@ DXGI_FORMAT_R16G16_TYPELESS
Definition: mini_d3d12.h:1098
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
Definition: mini_d3d12.h:1094
@ DXGI_FORMAT_R16G16_UINT
Definition: mini_d3d12.h:1101
@ DXGI_FORMAT_D32_FLOAT
Definition: mini_d3d12.h:1105
@ DXGI_FORMAT_R8G8_TYPELESS
Definition: mini_d3d12.h:1113
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
Definition: mini_d3d12.h:1154
@ DXGI_FORMAT_R16G16B16A16_SINT
Definition: mini_d3d12.h:1079
@ DXGI_FORMAT_BC1_TYPELESS
Definition: mini_d3d12.h:1135
@ DXGI_FORMAT_BC7_UNORM_SRGB
Definition: mini_d3d12.h:1164
@ DXGI_FORMAT_BC2_UNORM
Definition: mini_d3d12.h:1139
@ DXGI_FORMAT_R32G32_TYPELESS
Definition: mini_d3d12.h:1080
@ DXGI_FORMAT_R32G8X24_TYPELESS
Definition: mini_d3d12.h:1084
@ DXGI_FORMAT_B4G4R4A4_UNORM
Definition: mini_d3d12.h:1180
@ DXGI_FORMAT_AI44
Definition: mini_d3d12.h:1176
@ DXGI_FORMAT_R16G16_FLOAT
Definition: mini_d3d12.h:1099
@ DXGI_FORMAT_B5G6R5_UNORM
Definition: mini_d3d12.h:1150
@ DXGI_FORMAT_BC4_UNORM
Definition: mini_d3d12.h:1145
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
Definition: mini_d3d12.h:1087
@ DXGI_FORMAT_R8G8_SNORM
Definition: mini_d3d12.h:1116
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
Definition: mini_d3d12.h:1158
@ DXGI_FORMAT_P8
Definition: mini_d3d12.h:1178
@ DXGI_FORMAT_R8_UINT
Definition: mini_d3d12.h:1127
@ DXGI_FORMAT_BC4_SNORM
Definition: mini_d3d12.h:1146
@ DXGI_FORMAT_NV12
Definition: mini_d3d12.h:1168
@ DXGI_FORMAT_B5G5R5A1_UNORM
Definition: mini_d3d12.h:1151
@ DXGI_FORMAT_B8G8R8X8_UNORM
Definition: mini_d3d12.h:1153
interface IDXGIAdapter IDXGIAdapter
Definition: mini_d3d12.h:5899
#define _Out_writes_opt_(size)
Definition: mini_d3d12.h:109
D3D12_RESOURCE_FLAGS
Definition: mini_d3d12.h:2137
@ D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
Definition: mini_d3d12.h:2141
@ D3D12_RESOURCE_FLAG_NONE
Definition: mini_d3d12.h:2138
@ D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
Definition: mini_d3d12.h:2140
@ D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
Definition: mini_d3d12.h:2143
@ D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
Definition: mini_d3d12.h:2142
@ D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
Definition: mini_d3d12.h:2144
@ D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
Definition: mini_d3d12.h:2139
struct tagRECT * LPRECT
struct _SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
struct D3D12_TEX3D_UAV D3D12_TEX3D_UAV
EXTERN_C const IID IID_ID3D12CommandAllocator
Definition: mini_d3d12.h:3307
struct D3D12_CPU_DESCRIPTOR_HANDLE D3D12_CPU_DESCRIPTOR_HANDLE
#define REFGUID
Definition: mini_d3d12.h:491
__int64 LONGLONG
Definition: mini_d3d12.h:279
struct D3D12_TEX2D_RTV D3D12_TEX2D_RTV
#define DECLARE_INTERFACE(iface)
Definition: mini_d3d12.h:729
struct _D3D_SHADER_MACRO * LPD3D_SHADER_MACRO
Definition: mini_d3d12.h:1214
_W64 UINT32 ULONG_PTR
Definition: mini_d3d12.h:254
struct D3D12_TEX1D_SRV D3D12_TEX1D_SRV
struct D3D12_TEXCUBE_SRV D3D12_TEXCUBE_SRV
interface ID3D10Blob ID3D10Blob
Definition: mini_d3d12.h:1230
struct D3D12_TEX2DMS_ARRAY_RTV D3D12_TEX2DMS_ARRAY_RTV
EXTERN_C const IID IID_IDXGIAdapter
Definition: mini_d3d12.h:6289
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
HANDLE * PHANDLE
Definition: mini_d3d12.h:442
#define _Null_terminated_
Definition: mini_d3d12.h:69
interface IDXGIFactory IDXGIFactory
Definition: mini_d3d12.h:5917
_Null_terminated_ CONST WCHAR * PCWSTR
Definition: mini_d3d12.h:206
#define RPC_MGR_EPV
Definition: mini_d3d12.h:546
interface ID3D12Device ID3D12Device
Definition: mini_d3d12.h:1407
interface IDXGISwapChain IDXGISwapChain
Definition: mini_d3d12.h:5911
struct D3D12_ROOT_DESCRIPTOR1 D3D12_ROOT_DESCRIPTOR1
_W64 INT32 * PINT_PTR
Definition: mini_d3d12.h:250
D3D12_DSV_DIMENSION
Definition: mini_d3d12.h:2606
@ D3D12_DSV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2607
@ D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY
Definition: mini_d3d12.h:2613
@ D3D12_DSV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2608
@ D3D12_DSV_DIMENSION_TEXTURE2DMS
Definition: mini_d3d12.h:2612
@ D3D12_DSV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2610
@ D3D12_DSV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2609
@ D3D12_DSV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2611
struct D3D12_ROOT_DESCRIPTOR_TABLE1 D3D12_ROOT_DESCRIPTOR_TABLE1
struct D3D12_TEX2D_DSV D3D12_TEX2D_DSV
#define STDMETHODCALLTYPE
Definition: mini_d3d12.h:300
interface ID3D12DeviceChild ID3D12DeviceChild
Definition: mini_d3d12.h:1305
D3D12_CLEAR_FLAGS
Definition: mini_d3d12.h:2270
@ D3D12_CLEAR_FLAG_STENCIL
Definition: mini_d3d12.h:2272
@ D3D12_CLEAR_FLAG_DEPTH
Definition: mini_d3d12.h:2271
struct D3D12_TEX2DMS_ARRAY_DSV D3D12_TEX2DMS_ARRAY_DSV
#define END_INTERFACE
Definition: mini_d3d12.h:598
struct D3D12_DESCRIPTOR_RANGE D3D12_DESCRIPTOR_RANGE
struct _RPC_SYNTAX_IDENTIFIER * PRPC_SYNTAX_IDENTIFIER
interface ID3D12Heap ID3D12Heap
Definition: mini_d3d12.h:1335
struct D3D12_SO_DECLARATION_ENTRY D3D12_SO_DECLARATION_ENTRY
EXTERN_C const IID IID_ID3D12Debug
Definition: mini_d3d12.h:5825
#define _Return_type_success_(expr)
Definition: mini_d3d12.h:73
D3D12_DESCRIPTOR_HEAP_FLAGS
Definition: mini_d3d12.h:2291
@ D3D12_DESCRIPTOR_HEAP_FLAG_NONE
Definition: mini_d3d12.h:2292
@ D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
Definition: mini_d3d12.h:2293
interface ID3D12Resource ID3D12Resource
Definition: mini_d3d12.h:1341
D3D12_QUERY_TYPE
Definition: mini_d3d12.h:2915
@ D3D12_QUERY_TYPE_OCCLUSION
Definition: mini_d3d12.h:2916
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
Definition: mini_d3d12.h:2923
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
Definition: mini_d3d12.h:2922
@ D3D12_QUERY_TYPE_BINARY_OCCLUSION
Definition: mini_d3d12.h:2917
@ D3D12_QUERY_TYPE_TIMESTAMP
Definition: mini_d3d12.h:2918
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
Definition: mini_d3d12.h:2920
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
Definition: mini_d3d12.h:2921
@ D3D12_QUERY_TYPE_PIPELINE_STATISTICS
Definition: mini_d3d12.h:2919
#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
Definition: mini_d3d12.h:2837
D3D12_BUFFER_UAV_FLAGS
Definition: mini_d3d12.h:2436
@ D3D12_BUFFER_UAV_FLAG_NONE
Definition: mini_d3d12.h:2437
@ D3D12_BUFFER_UAV_FLAG_RAW
Definition: mini_d3d12.h:2438
struct D3D12_DEPTH_STENCIL_VALUE D3D12_DEPTH_STENCIL_VALUE
float FLOAT
Definition: mini_d3d12.h:184
#define NEAR
Definition: mini_d3d12.h:209
#define _Post_satisfies_(expr)
Definition: mini_d3d12.h:81
struct D3D12_COMPUTE_PIPELINE_STATE_DESC D3D12_COMPUTE_PIPELINE_STATE_DESC
struct D3D12_COMMAND_SIGNATURE_DESC D3D12_COMMAND_SIGNATURE_DESC
_Null_terminated_ CHAR * PSTR
Definition: mini_d3d12.h:204
#define interface
Definition: mini_d3d12.h:690
BYTE UINT8
Definition: mini_d3d12.h:223
D3D12_BUFFER_SRV_FLAGS
Definition: mini_d3d12.h:2317
@ D3D12_BUFFER_SRV_FLAG_NONE
Definition: mini_d3d12.h:2318
@ D3D12_BUFFER_SRV_FLAG_RAW
Definition: mini_d3d12.h:2319
struct D3D12_BLEND_DESC D3D12_BLEND_DESC
struct ID3D12FenceVtbl ID3D12FenceVtbl
RPC_BINDING_HANDLE handle_t
Definition: mini_d3d12.h:543
interface ID3DInclude ID3DInclude
Definition: mini_d3d12.h:1199
#define __RPC_STUB
Definition: mini_d3d12.h:525
HRESULT(WINAPI * PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **)
Definition: mini_d3d12.h:5777
struct ID3D12GraphicsCommandListVtbl ID3D12GraphicsCommandListVtbl
struct D3D12_DESCRIPTOR_RANGE1 D3D12_DESCRIPTOR_RANGE1
D3D12_TEXTURE_COPY_TYPE
Definition: mini_d3d12.h:2821
@ D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
Definition: mini_d3d12.h:2823
@ D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX
Definition: mini_d3d12.h:2822
IUnknown * LPUNKNOWN
Definition: mini_d3d12.h:758
#define _Inout_opt_
Definition: mini_d3d12.h:53
D3D12_ROOT_SIGNATURE_FLAGS
Definition: mini_d3d12.h:2931
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2935
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
Definition: mini_d3d12.h:2939
@ D3D12_ROOT_SIGNATURE_FLAG_NONE
Definition: mini_d3d12.h:2932
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
Definition: mini_d3d12.h:2933
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2937
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2934
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2938
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
Definition: mini_d3d12.h:2936
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
short SHORT
Definition: mini_d3d12.h:167
LONG_PTR * PSSIZE_T
Definition: mini_d3d12.h:260
#define _Inout_updates_bytes_(size)
Definition: mini_d3d12.h:121
_W64 UINT32 * PUINT_PTR
Definition: mini_d3d12.h:251
#define WINAPI
Definition: mini_d3d12.h:163
D3D12_UAV_DIMENSION
Definition: mini_d3d12.h:2478
@ D3D12_UAV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2479
@ D3D12_UAV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2483
@ D3D12_UAV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2482
@ D3D12_UAV_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2485
@ D3D12_UAV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2484
@ D3D12_UAV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2481
@ D3D12_UAV_DIMENSION_BUFFER
Definition: mini_d3d12.h:2480
union _LARGE_INTEGER LARGE_INTEGER
D3D12_HEAP_FLAGS
Definition: mini_d3d12.h:2189
@ D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH
Definition: mini_d3d12.h:2198
@ D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
Definition: mini_d3d12.h:2196
@ D3D12_HEAP_FLAG_ALLOW_DISPLAY
Definition: mini_d3d12.h:2193
@ D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
Definition: mini_d3d12.h:2195
@ D3D12_HEAP_FLAG_HARDWARE_PROTECTED
Definition: mini_d3d12.h:2197
@ D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES
Definition: mini_d3d12.h:2202
@ D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS
Definition: mini_d3d12.h:2200
@ D3D12_HEAP_FLAG_SHARED
Definition: mini_d3d12.h:2191
@ D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER
Definition: mini_d3d12.h:2194
@ D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES
Definition: mini_d3d12.h:2199
@ D3D12_HEAP_FLAG_NONE
Definition: mini_d3d12.h:2190
@ D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES
Definition: mini_d3d12.h:2201
@ D3D12_HEAP_FLAG_DENY_BUFFERS
Definition: mini_d3d12.h:2192
D3D12_DSV_FLAGS
Definition: mini_d3d12.h:2599
@ D3D12_DSV_FLAG_NONE
Definition: mini_d3d12.h:2600
@ D3D12_DSV_FLAG_READ_ONLY_STENCIL
Definition: mini_d3d12.h:2602
@ D3D12_DSV_FLAG_READ_ONLY_DEPTH
Definition: mini_d3d12.h:2601
interface ID3D12CommandSignature ID3D12CommandSignature
Definition: mini_d3d12.h:1377
#define _Out_
Definition: mini_d3d12.h:41
#define WINBASEAPI
Definition: mini_d3d12.h:6827
#define _In_reads_opt_(size)
Definition: mini_d3d12.h:93
interface ID3D12Debug ID3D12Debug
Definition: mini_d3d12.h:5811
struct ID3D12RootSignatureVtbl ID3D12RootSignatureVtbl
struct ID3D12CommandQueueVtbl ID3D12CommandQueueVtbl
struct D3D12_TILED_RESOURCE_COORDINATE D3D12_TILED_RESOURCE_COORDINATE
D3D12_DESCRIPTOR_RANGE_FLAGS
Definition: mini_d3d12.h:3031
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
Definition: mini_d3d12.h:3036
@ D3D12_DESCRIPTOR_RANGE_FLAG_NONE
Definition: mini_d3d12.h:3032
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Definition: mini_d3d12.h:3035
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
Definition: mini_d3d12.h:3034
@ D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
Definition: mini_d3d12.h:3033
D3D12_FILTER
Definition: mini_d3d12.h:2630
@ D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2634
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2647
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2645
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2640
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2660
@ D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2650
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2654
@ D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2635
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2653
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2649
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2644
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2643
@ D3D12_FILTER_MINIMUM_ANISOTROPIC
Definition: mini_d3d12.h:2657
@ D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2632
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2651
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2642
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2658
@ D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2641
@ D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2636
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2661
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2652
@ D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2659
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
Definition: mini_d3d12.h:2662
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition: mini_d3d12.h:2663
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2665
@ D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2664
@ D3D12_FILTER_COMPARISON_ANISOTROPIC
Definition: mini_d3d12.h:2648
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2656
@ D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2646
@ D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2637
@ D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2633
@ D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
Definition: mini_d3d12.h:2655
@ D3D12_FILTER_MAXIMUM_ANISOTROPIC
Definition: mini_d3d12.h:2666
@ D3D12_FILTER_ANISOTROPIC
Definition: mini_d3d12.h:2639
@ D3D12_FILTER_MIN_MAG_MIP_POINT
Definition: mini_d3d12.h:2631
@ D3D12_FILTER_MIN_MAG_MIP_LINEAR
Definition: mini_d3d12.h:2638
#define _COM_Outptr_
Definition: mini_d3d12.h:57
CHAR INT8
Definition: mini_d3d12.h:220
struct D3D12_TEX2D_ARRAY_SRV D3D12_TEX2D_ARRAY_SRV
struct D3D12_CACHED_PIPELINE_STATE D3D12_CACHED_PIPELINE_STATE
struct D3D12_TEX1D_ARRAY_UAV D3D12_TEX1D_ARRAY_UAV
DXGI_ADAPTER_FLAG
Definition: mini_d3d12.h:5945
@ DXGI_ADAPTER_FLAG_REMOTE
Definition: mini_d3d12.h:5947
@ DXGI_ADAPTER_FLAG_SOFTWARE
Definition: mini_d3d12.h:5948
@ DXGI_ADAPTER_FLAG_FORCE_DWORD
Definition: mini_d3d12.h:5949
@ DXGI_ADAPTER_FLAG_NONE
Definition: mini_d3d12.h:5946
struct _RPC_MESSAGE RPC_MESSAGE
struct IUnknownVtbl IUnknownVtbl
#define _In_
Definition: mini_d3d12.h:29
interface ID3D12PipelineLibrary ID3D12PipelineLibrary
Definition: mini_d3d12.h:1413
void * HANDLE
Definition: mini_d3d12.h:426
struct D3D12_TILE_REGION_SIZE D3D12_TILE_REGION_SIZE
interface ID3D12Device1 ID3D12Device1
Definition: mini_d3d12.h:1425
HRESULT(WINAPI * PFN_D3DCOMPILE)(_In_reads_bytes_(SrcDataSize) LPCVOID pSrcData, _In_ SIZE_T SrcDataSize, _In_opt_ LPCSTR pSourceName, _In_reads_opt_(_Inexpressible_(pDefines->Name !=nullptr)) CONST D3D_SHADER_MACRO *pDefines, _In_opt_ ID3DInclude *pInclude, _In_opt_ LPCSTR pEntrypoint, _In_ LPCSTR pTarget, _In_ UINT Flags1, _In_ UINT Flags2, _Out_ ID3DBlob **ppCode, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs)
Definition: mini_d3d12.h:6781
D3D12_CPU_PAGE_PROPERTY
Definition: mini_d3d12.h:2161
@ D3D12_CPU_PAGE_PROPERTY_UNKNOWN
Definition: mini_d3d12.h:2162
@ D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
Definition: mini_d3d12.h:2165
@ D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE
Definition: mini_d3d12.h:2164
@ D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE
Definition: mini_d3d12.h:2163
#define _In_reads_bytes_opt_(size)
Definition: mini_d3d12.h:101
D3D12_TEXTURE_LAYOUT
Definition: mini_d3d12.h:2130
@ D3D12_TEXTURE_LAYOUT_UNKNOWN
Definition: mini_d3d12.h:2131
@ D3D12_TEXTURE_LAYOUT_ROW_MAJOR
Definition: mini_d3d12.h:2132
@ D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
Definition: mini_d3d12.h:2134
@ D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
Definition: mini_d3d12.h:2133
_W64 INT32 LONG_PTR
Definition: mini_d3d12.h:253
interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer
Definition: mini_d3d12.h:1323
EXTERN_C const IID IID_ID3D12CommandList
Definition: mini_d3d12.h:3419
struct D3D12_VERTEX_BUFFER_VIEW D3D12_VERTEX_BUFFER_VIEW
wchar_t WCHAR
Definition: mini_d3d12.h:198
interface IUnknown IUnknown
Definition: mini_d3d12.h:748
unsigned __int64 UINT64
Definition: mini_d3d12.h:231
D3D12_SRV_DIMENSION
Definition: mini_d3d12.h:2389
@ D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY
Definition: mini_d3d12.h:2397
@ D3D12_SRV_DIMENSION_TEXTURECUBE
Definition: mini_d3d12.h:2399
@ D3D12_SRV_DIMENSION_TEXTURE3D
Definition: mini_d3d12.h:2398
@ D3D12_SRV_DIMENSION_TEXTURECUBEARRAY
Definition: mini_d3d12.h:2400
@ D3D12_SRV_DIMENSION_TEXTURE2DARRAY
Definition: mini_d3d12.h:2395
@ D3D12_SRV_DIMENSION_TEXTURE2DMS
Definition: mini_d3d12.h:2396
@ D3D12_SRV_DIMENSION_BUFFER
Definition: mini_d3d12.h:2391
@ D3D12_SRV_DIMENSION_TEXTURE1D
Definition: mini_d3d12.h:2392
@ D3D12_SRV_DIMENSION_TEXTURE2D
Definition: mini_d3d12.h:2394
@ D3D12_SRV_DIMENSION_TEXTURE1DARRAY
Definition: mini_d3d12.h:2393
@ D3D12_SRV_DIMENSION_UNKNOWN
Definition: mini_d3d12.h:2390
struct D3D12_DEPTH_STENCILOP_DESC D3D12_DEPTH_STENCILOP_DESC
D3D12_STENCIL_OP
Definition: mini_d3d12.h:2011
@ D3D12_STENCIL_OP_KEEP
Definition: mini_d3d12.h:2012
@ D3D12_STENCIL_OP_INVERT
Definition: mini_d3d12.h:2017
@ D3D12_STENCIL_OP_REPLACE
Definition: mini_d3d12.h:2014
@ D3D12_STENCIL_OP_ZERO
Definition: mini_d3d12.h:2013
@ D3D12_STENCIL_OP_INCR_SAT
Definition: mini_d3d12.h:2015
@ D3D12_STENCIL_OP_DECR
Definition: mini_d3d12.h:2019
@ D3D12_STENCIL_OP_INCR
Definition: mini_d3d12.h:2018
@ D3D12_STENCIL_OP_DECR_SAT
Definition: mini_d3d12.h:2016
#define _In_opt_
Definition: mini_d3d12.h:37
struct IDXGIFactory1Vtbl IDXGIFactory1Vtbl
EXTERN_C const IID IID_ID3D12Device
Definition: mini_d3d12.h:4616
EXTERN_C const IID IID_ID3D12QueryHeap
Definition: mini_d3d12.h:5669
IID * LPIID
Definition: mini_d3d12.h:474
ID3D10Blob ID3DBlob
Definition: mini_d3d12.h:1289
struct IDXGIAdapter1Vtbl IDXGIAdapter1Vtbl
EXTERN_C const IID IID_IDXGIAdapter1
Definition: mini_d3d12.h:6619
D3D12_INDIRECT_ARGUMENT_TYPE
Definition: mini_d3d12.h:2732
@ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
Definition: mini_d3d12.h:2736
@ D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW
Definition: mini_d3d12.h:2740
@ D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH
Definition: mini_d3d12.h:2735
@ D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
Definition: mini_d3d12.h:2737
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW
Definition: mini_d3d12.h:2733
@ D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW
Definition: mini_d3d12.h:2741
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT
Definition: mini_d3d12.h:2738
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
Definition: mini_d3d12.h:2734
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW
Definition: mini_d3d12.h:2739
#define D3D12_REQ_SUBRESOURCES
Definition: mini_d3d12.h:4608
D3D12_BLEND_OP
Definition: mini_d3d12.h:1919
@ D3D12_BLEND_OP_MAX
Definition: mini_d3d12.h:1924
@ D3D12_BLEND_OP_SUBTRACT
Definition: mini_d3d12.h:1921
@ D3D12_BLEND_OP_MIN
Definition: mini_d3d12.h:1923
@ D3D12_BLEND_OP_REV_SUBTRACT
Definition: mini_d3d12.h:1922
@ D3D12_BLEND_OP_ADD
Definition: mini_d3d12.h:1920
struct D3D12_TEX2D_ARRAY_UAV D3D12_TEX2D_ARRAY_UAV
struct DXGI_ADAPTER_DESC1 DXGI_ADAPTER_DESC1
struct ID3D12PipelineStateVtbl ID3D12PipelineStateVtbl
#define EXTERN_C
Definition: mini_d3d12.h:327
struct D3D12_DEPTH_STENCIL_VIEW_DESC D3D12_DEPTH_STENCIL_VIEW_DESC
struct D3D12_TEX1D_DSV D3D12_TEX1D_DSV
struct D3D12_STREAM_OUTPUT_BUFFER_VIEW D3D12_STREAM_OUTPUT_BUFFER_VIEW
D3D12_ROOT_PARAMETER_TYPE
Definition: mini_d3d12.h:2942
@ D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
Definition: mini_d3d12.h:2943
@ D3D12_ROOT_PARAMETER_TYPE_SRV
Definition: mini_d3d12.h:2946
@ D3D12_ROOT_PARAMETER_TYPE_UAV
Definition: mini_d3d12.h:2947
@ D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
Definition: mini_d3d12.h:2944
@ D3D12_ROOT_PARAMETER_TYPE_CBV
Definition: mini_d3d12.h:2945
struct D3D12_INPUT_ELEMENT_DESC D3D12_INPUT_ELEMENT_DESC
struct D3D12_STREAM_OUTPUT_DESC D3D12_STREAM_OUTPUT_DESC
struct D3D12_STATIC_SAMPLER_DESC D3D12_STATIC_SAMPLER_DESC
struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC D3D12_VERSIONED_ROOT_SIGNATURE_DESC
struct ID3D12CommandAllocatorVtbl ID3D12CommandAllocatorVtbl
_Null_terminated_ CONST WCHAR * LPCWSTR
Definition: mini_d3d12.h:206
struct D3D12_RESOURCE_BARRIER D3D12_RESOURCE_BARRIER
D3D12_QUERY_HEAP_TYPE
Definition: mini_d3d12.h:2719
@ D3D12_QUERY_HEAP_TYPE_TIMESTAMP
Definition: mini_d3d12.h:2721
@ D3D12_QUERY_HEAP_TYPE_SO_STATISTICS
Definition: mini_d3d12.h:2723
@ D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS
Definition: mini_d3d12.h:2722
@ D3D12_QUERY_HEAP_TYPE_OCCLUSION
Definition: mini_d3d12.h:2720
struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC
Definition: mini_d3d12.h:5965
struct D3D12_RENDER_TARGET_BLEND_DESC D3D12_RENDER_TARGET_BLEND_DESC
struct D3D12_DEPTH_STENCIL_DESC D3D12_DEPTH_STENCIL_DESC
struct D3D12_TEX2D_ARRAY_RTV D3D12_TEX2D_ARRAY_RTV
LPCSTR LPCOLESTR
Definition: mini_d3d12.h:941
interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer
Definition: mini_d3d12.h:1317
interface ID3D12Fence ID3D12Fence
Definition: mini_d3d12.h:1353
struct D3D12_SUBRESOURCE_TILING D3D12_SUBRESOURCE_TILING
#define PURE
Definition: mini_d3d12.h:713
D3D12_RESOURCE_BARRIER_TYPE
Definition: mini_d3d12.h:2879
@ D3D12_RESOURCE_BARRIER_TYPE_UAV
Definition: mini_d3d12.h:2882
@ D3D12_RESOURCE_BARRIER_TYPE_TRANSITION
Definition: mini_d3d12.h:2880
@ D3D12_RESOURCE_BARRIER_TYPE_ALIASING
Definition: mini_d3d12.h:2881
ID3DBlob * LPD3DBLOB
Definition: mini_d3d12.h:1291
enum _D3D_INCLUDE_TYPE D3D_INCLUDE_TYPE
struct D3D12_TEX2DMS_DSV D3D12_TEX2DMS_DSV
interface IDXGIObject IDXGIObject
Definition: mini_d3d12.h:5893
struct D3D12_TEXTURE_COPY_LOCATION D3D12_TEXTURE_COPY_LOCATION
interface ID3D10Blob * LPD3D10BLOB
Definition: mini_d3d12.h:1265
struct D3D12_TEX2DMS_RTV D3D12_TEX2DMS_RTV
struct D3D12_BUFFER_SRV D3D12_BUFFER_SRV
struct D3D12_BUFFER_UAV D3D12_BUFFER_UAV
unsigned long DWORD
Definition: mini_d3d12.h:182
EXTERN_C const IID IID_IDXGIFactory1
Definition: mini_d3d12.h:6439
unsigned __int64 * PUINT64
Definition: mini_d3d12.h:231
D3D12_TILE_COPY_FLAGS
Definition: mini_d3d12.h:2211
@ D3D12_TILE_COPY_FLAG_NONE
Definition: mini_d3d12.h:2212
@ D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
Definition: mini_d3d12.h:2215
@ D3D12_TILE_COPY_FLAG_NO_HAZARD
Definition: mini_d3d12.h:2213
@ D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
Definition: mini_d3d12.h:2214
#define BEGIN_INTERFACE
Definition: mini_d3d12.h:597
D3D12_DESCRIPTOR_HEAP_TYPE
Definition: mini_d3d12.h:2283
@ D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
Definition: mini_d3d12.h:2284
@ D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
Definition: mini_d3d12.h:2288
@ D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
Definition: mini_d3d12.h:2285
@ D3D12_DESCRIPTOR_HEAP_TYPE_RTV
Definition: mini_d3d12.h:2286
@ D3D12_DESCRIPTOR_HEAP_TYPE_DSV
Definition: mini_d3d12.h:2287
interface ID3D12Tools ID3D12Tools
Definition: mini_d3d12.h:1437
__int64 * PINT64
Definition: mini_d3d12.h:230
SHORT * PINT16
Definition: mini_d3d12.h:221
struct ID3D12DescriptorHeapVtbl ID3D12DescriptorHeapVtbl
struct _D3D_SHADER_MACRO D3D_SHADER_MACRO
CONST void far * LPCVOID
Definition: mini_d3d12.h:189
D3D12_COMPARISON_FUNC
Definition: mini_d3d12.h:2000
@ D3D12_COMPARISON_FUNC_GREATER_EQUAL
Definition: mini_d3d12.h:2007
@ D3D12_COMPARISON_FUNC_ALWAYS
Definition: mini_d3d12.h:2008
@ D3D12_COMPARISON_FUNC_NOT_EQUAL
Definition: mini_d3d12.h:2006
@ D3D12_COMPARISON_FUNC_LESS_EQUAL
Definition: mini_d3d12.h:2004
@ D3D12_COMPARISON_FUNC_LESS
Definition: mini_d3d12.h:2002
@ D3D12_COMPARISON_FUNC_NEVER
Definition: mini_d3d12.h:2001
@ D3D12_COMPARISON_FUNC_EQUAL
Definition: mini_d3d12.h:2003
@ D3D12_COMPARISON_FUNC_GREATER
Definition: mini_d3d12.h:2005
D3D12_SHADER_VISIBILITY
Definition: mini_d3d12.h:2981
@ D3D12_SHADER_VISIBILITY_DOMAIN
Definition: mini_d3d12.h:2985
@ D3D12_SHADER_VISIBILITY_ALL
Definition: mini_d3d12.h:2982
@ D3D12_SHADER_VISIBILITY_GEOMETRY
Definition: mini_d3d12.h:2986
@ D3D12_SHADER_VISIBILITY_VERTEX
Definition: mini_d3d12.h:2983
@ D3D12_SHADER_VISIBILITY_HULL
Definition: mini_d3d12.h:2984
@ D3D12_SHADER_VISIBILITY_PIXEL
Definition: mini_d3d12.h:2987
UINT UINT32
Definition: mini_d3d12.h:225
struct D3D12_RANGE D3D12_RANGE
struct __LUID * PLUID
Definition: mini_d3d12.h:4603
struct D3D12_TEX2D_ARRAY_DSV D3D12_TEX2D_ARRAY_DSV
interface IRpcStubBuffer IRpcStubBuffer
Definition: mini_d3d12.h:742
struct _GUID GUID
D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY
Definition: mini_d3d12.h:2835
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
Definition: mini_d3d12.h:2065
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED
Definition: mini_d3d12.h:2066
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF
Definition: mini_d3d12.h:2067
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF
Definition: mini_d3d12.h:2068
#define _Post_equal_to_(e)
Definition: mini_d3d12.h:77
struct D3D12_TEX1D_UAV D3D12_TEX1D_UAV
struct D3D12_TILE_SHAPE D3D12_TILE_SHAPE
struct D3D12_COMMAND_QUEUE_DESC D3D12_COMMAND_QUEUE_DESC
struct D3D12_RASTERIZER_DESC D3D12_RASTERIZER_DESC
struct ID3D10BlobVtbl ID3D10BlobVtbl
struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT D3D12_PLACED_SUBRESOURCE_FOOTPRINT
struct D3D12_HEAP_DESC D3D12_HEAP_DESC
HINSTANCE HMODULE
Definition: mini_d3d12.h:456
struct tagRECT * PRECT
D3D12_BLEND
Definition: mini_d3d12.h:1899
@ D3D12_BLEND_INV_SRC_COLOR
Definition: mini_d3d12.h:1903
@ D3D12_BLEND_DEST_COLOR
Definition: mini_d3d12.h:1908
@ D3D12_BLEND_INV_SRC1_ALPHA
Definition: mini_d3d12.h:1916
@ D3D12_BLEND_INV_BLEND_FACTOR
Definition: mini_d3d12.h:1912
@ D3D12_BLEND_BLEND_FACTOR
Definition: mini_d3d12.h:1911
@ D3D12_BLEND_SRC1_COLOR
Definition: mini_d3d12.h:1913
@ D3D12_BLEND_DEST_ALPHA
Definition: mini_d3d12.h:1906
@ D3D12_BLEND_INV_DEST_COLOR
Definition: mini_d3d12.h:1909
@ D3D12_BLEND_INV_SRC1_COLOR
Definition: mini_d3d12.h:1914
@ D3D12_BLEND_SRC_COLOR
Definition: mini_d3d12.h:1902
@ D3D12_BLEND_SRC_ALPHA
Definition: mini_d3d12.h:1904
@ D3D12_BLEND_ONE
Definition: mini_d3d12.h:1901
@ D3D12_BLEND_INV_DEST_ALPHA
Definition: mini_d3d12.h:1907
@ D3D12_BLEND_INV_SRC_ALPHA
Definition: mini_d3d12.h:1905
@ D3D12_BLEND_SRC_ALPHA_SAT
Definition: mini_d3d12.h:1910
@ D3D12_BLEND_ZERO
Definition: mini_d3d12.h:1900
@ D3D12_BLEND_SRC1_ALPHA
Definition: mini_d3d12.h:1915
WINBASEAPI DWORD WINAPI WaitForSingleObject(_In_ HANDLE hHandle, _In_ DWORD dwMilliseconds)
void * I_RPC_HANDLE
Definition: mini_d3d12.h:531
char CHAR
Definition: mini_d3d12.h:166
struct D3D12_CONSTANT_BUFFER_VIEW_DESC D3D12_CONSTANT_BUFFER_VIEW_DESC
struct D3D12_ROOT_PARAMETER1 D3D12_ROOT_PARAMETER1
#define DECLARE_HANDLE(name)
Definition: mini_d3d12.h:432
#define _In_range_(lb, ub)
Definition: mini_d3d12.h:85
struct ID3D12QueryHeapVtbl ID3D12QueryHeapVtbl
#define STDMETHOD(method)
Definition: mini_d3d12.h:692
D3D12_ROOT_DESCRIPTOR_FLAGS
Definition: mini_d3d12.h:3054
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Definition: mini_d3d12.h:3057
@ D3D12_ROOT_DESCRIPTOR_FLAG_NONE
Definition: mini_d3d12.h:3055
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
Definition: mini_d3d12.h:3058
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE
Definition: mini_d3d12.h:3056
#define FAR
Definition: mini_d3d12.h:208
WINBASEAPI BOOL WINAPI CloseHandle(_In_ _Post_ptr_invalid_ HANDLE hObject)
struct ID3D12DeviceChildVtbl ID3D12DeviceChildVtbl
struct ID3D12DeviceVtbl ID3D12DeviceVtbl
interface ID3D12RootSignature ID3D12RootSignature
Definition: mini_d3d12.h:1311
D3D_PRIMITIVE_TOPOLOGY
Definition: mini_d3d12.h:962
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition: mini_d3d12.h:1011
@ D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1042
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition: mini_d3d12.h:1018
@ D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1054
@ D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1001
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition: mini_d3d12.h:1008
@ D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1055
@ D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1053
@ D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1056
@ D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1047
@ 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
Definition: mini_d3d12.h:1003
@ D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1025
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition: mini_d3d12.h:967
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition: mini_d3d12.h:1021
@ D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:976
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition: mini_d3d12.h:1022
@ 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
Definition: mini_d3d12.h:1005
@ D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:977
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition: mini_d3d12.h:1012
@ D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:978
@ D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1041
@ D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:993
@ D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition: mini_d3d12.h:1015
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition: mini_d3d12.h:969
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition: mini_d3d12.h:1019
@ D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:980
@ D3D10_PRIMITIVE_TOPOLOGY_POINTLIST
Definition: mini_d3d12.h:1006
@ 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
Definition: mini_d3d12.h:1016
@ D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1002
@ D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition: mini_d3d12.h:963
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition: mini_d3d12.h:1014
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition: mini_d3d12.h:1020
@ 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
Definition: mini_d3d12.h:1007
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST
Definition: mini_d3d12.h:1017
@ 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
Definition: mini_d3d12.h:1009
@ D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1037
@ D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:981
@ D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1048
@ D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1029
@ D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1044
@ 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
Definition: mini_d3d12.h:1049
@ D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1046
@ D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1032
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition: mini_d3d12.h:1010
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition: mini_d3d12.h:972
@ D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1026
@ D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1027
@ 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
Definition: mini_d3d12.h:1035
@ 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
Definition: mini_d3d12.h:1045
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition: mini_d3d12.h:971
@ D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1036
@ D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1043
@ D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1004
@ D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1050
@ D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1000
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition: mini_d3d12.h:1023
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition: mini_d3d12.h:970
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition: mini_d3d12.h:1013
@ D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1031
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition: mini_d3d12.h:1024
@ D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1033
@ D3D_PRIMITIVE_TOPOLOGY_POINTLIST
Definition: mini_d3d12.h:964
@ D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1052
@ 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
Definition: mini_d3d12.h:1028
@ D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1034
@ D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1030
@ D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1038
@ 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
Definition: mini_d3d12.h:1040
@ D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1039
@ D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:1051
@ D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:997
@ D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition: mini_d3d12.h:990
interface IRpcChannelBuffer IRpcChannelBuffer
Definition: mini_d3d12.h:743
struct tagRECT * NPRECT
struct D3D12_ROOT_CONSTANTS D3D12_ROOT_CONSTANTS
#define _Out_writes_bytes_opt_(size)
Definition: mini_d3d12.h:117
struct _RPC_SYNTAX_IDENTIFIER RPC_SYNTAX_IDENTIFIER
interface ID3D12PipelineState ID3D12PipelineState
Definition: mini_d3d12.h:1359
unsigned long ULONG
Definition: mini_d3d12.h:180
D3D12_HEAP_TYPE
Definition: mini_d3d12.h:2174
@ D3D12_HEAP_TYPE_DEFAULT
Definition: mini_d3d12.h:2175
@ D3D12_HEAP_TYPE_READBACK
Definition: mini_d3d12.h:2177
@ D3D12_HEAP_TYPE_UPLOAD
Definition: mini_d3d12.h:2176
@ D3D12_HEAP_TYPE_CUSTOM
Definition: mini_d3d12.h:2178
struct ID3D12DebugVtbl ID3D12DebugVtbl
#define _In_reads_(size)
Definition: mini_d3d12.h:89
D3D12_FENCE_FLAGS
Definition: mini_d3d12.h:2276
@ D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER
Definition: mini_d3d12.h:2279
@ D3D12_FENCE_FLAG_NONE
Definition: mini_d3d12.h:2277
@ D3D12_FENCE_FLAG_SHARED
Definition: mini_d3d12.h:2278
ULONG_PTR SIZE_T
Definition: mini_d3d12.h:259
EXTERN_C const IID IID_IDXGIFactory
Definition: mini_d3d12.h:6105
interface ID3D12CommandQueue ID3D12CommandQueue
Definition: mini_d3d12.h:1401
INT INT32
Definition: mini_d3d12.h:222
D3D12_PIPELINE_STATE_FLAGS
Definition: mini_d3d12.h:2060
@ D3D12_PIPELINE_STATE_FLAG_NONE
Definition: mini_d3d12.h:2061
@ D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
Definition: mini_d3d12.h:2062
D3D12_COMMAND_QUEUE_FLAGS
Definition: mini_d3d12.h:1858
@ D3D12_COMMAND_QUEUE_FLAG_NONE
Definition: mini_d3d12.h:1859
@ D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
Definition: mini_d3d12.h:1860
D3D12_FEATURE
Definition: mini_d3d12.h:2253
@ D3D12_FEATURE_FORMAT_SUPPORT
Definition: mini_d3d12.h:2257
@ D3D12_FEATURE_FEATURE_LEVELS
Definition: mini_d3d12.h:2256
@ D3D12_FEATURE_FORMAT_INFO
Definition: mini_d3d12.h:2259
@ D3D12_FEATURE_D3D12_OPTIONS
Definition: mini_d3d12.h:2254
@ D3D12_FEATURE_D3D12_OPTIONS2
Definition: mini_d3d12.h:2265
@ D3D12_FEATURE_SHADER_CACHE
Definition: mini_d3d12.h:2266
@ D3D12_FEATURE_SHADER_MODEL
Definition: mini_d3d12.h:2261
@ D3D12_FEATURE_ARCHITECTURE
Definition: mini_d3d12.h:2255
@ D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
Definition: mini_d3d12.h:2267
@ D3D12_FEATURE_ARCHITECTURE1
Definition: mini_d3d12.h:2264
@ D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
Definition: mini_d3d12.h:2258
@ D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
Definition: mini_d3d12.h:2260
@ D3D12_FEATURE_ROOT_SIGNATURE
Definition: mini_d3d12.h:2263
@ D3D12_FEATURE_D3D12_OPTIONS1
Definition: mini_d3d12.h:2262
interface IDXGIOutput IDXGIOutput
Definition: mini_d3d12.h:5905
struct D3D12_ROOT_DESCRIPTOR D3D12_ROOT_DESCRIPTOR
UINT64 D3D12_GPU_VIRTUAL_ADDRESS
Definition: mini_d3d12.h:2421
struct D3D12_ROOT_SIGNATURE_DESC D3D12_ROOT_SIGNATURE_DESC
unsigned __INT64_TYPE__ uint64_t
signed __INT64_TYPE__ int64_t
signed __INT32_TYPE__ int32_t
unsigned __INT32_TYPE__ uint32_t
DWORD LowPart
Definition: mini_d3d12.h:4599
LONG HighPart
Definition: mini_d3d12.h:4600
WORD Data2
Definition: mini_d3d12.h:469
WORD Data3
Definition: mini_d3d12.h:470
DWORD Data1
Definition: mini_d3d12.h:468
BYTE Data4[8]
Definition: mini_d3d12.h:471
unsigned int BufferLength
Definition: mini_d3d12.h:565
unsigned long RpcFlags
Definition: mini_d3d12.h:572
void __RPC_FAR * ImportContext
Definition: mini_d3d12.h:571
unsigned int ProcNum
Definition: mini_d3d12.h:566
unsigned long DataRepresentation
Definition: mini_d3d12.h:563
PRPC_SYNTAX_IDENTIFIER TransferSyntax
Definition: mini_d3d12.h:567
void __RPC_FAR * Buffer
Definition: mini_d3d12.h:564
void __RPC_FAR * RpcInterfaceInformation
Definition: mini_d3d12.h:568
void __RPC_FAR * ReservedForRuntime
Definition: mini_d3d12.h:569
RPC_MGR_EPV __RPC_FAR * ManagerEpv
Definition: mini_d3d12.h:570
RPC_BINDING_HANDLE Handle
Definition: mini_d3d12.h:562
RPC_VERSION SyntaxVersion
Definition: mini_d3d12.h:558
unsigned short MajorVersion
Definition: mini_d3d12.h:552
unsigned short MinorVersion
Definition: mini_d3d12.h:553
LPVOID lpSecurityDescriptor
Definition: mini_d3d12.h:271
BOOL AlphaToCoverageEnable
Definition: mini_d3d12.h:1960
BOOL IndependentBlendEnable
Definition: mini_d3d12.h:1961
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8]
Definition: mini_d3d12.h:1962
UINT right
Definition: mini_d3d12.h:1846
UINT bottom
Definition: mini_d3d12.h:1847
UINT front
Definition: mini_d3d12.h:1845
UINT StructureByteStride
Definition: mini_d3d12.h:2326
D3D12_BUFFER_SRV_FLAGS Flags
Definition: mini_d3d12.h:2327
UINT StructureByteStride
Definition: mini_d3d12.h:2445
D3D12_BUFFER_UAV_FLAGS Flags
Definition: mini_d3d12.h:2447
UINT64 CounterOffsetInBytes
Definition: mini_d3d12.h:2446
_Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob
D3D12_DEPTH_STENCIL_VALUE DepthStencil
Definition: mini_d3d12.h:2249
DXGI_FORMAT Format
Definition: mini_d3d12.h:2246
D3D12_COMMAND_QUEUE_FLAGS Flags
Definition: mini_d3d12.h:1873
D3D12_COMMAND_LIST_TYPE Type
Definition: mini_d3d12.h:1871
_Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs
ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:2110
D3D12_SHADER_BYTECODE CS
Definition: mini_d3d12.h:2111
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition: mini_d3d12.h:2113
D3D12_PIPELINE_STATE_FLAGS Flags
Definition: mini_d3d12.h:2114
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2424
D3D12_DEPTH_STENCILOP_DESC FrontFace
Definition: mini_d3d12.h:2036
D3D12_DEPTH_STENCILOP_DESC BackFace
Definition: mini_d3d12.h:2037
D3D12_COMPARISON_FUNC DepthFunc
Definition: mini_d3d12.h:2032
D3D12_DEPTH_WRITE_MASK DepthWriteMask
Definition: mini_d3d12.h:2031
D3D12_TEX2DMS_DSV Texture2DMS
Definition: mini_d3d12.h:2625
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray
Definition: mini_d3d12.h:2626
D3D12_TEX2D_ARRAY_DSV Texture2DArray
Definition: mini_d3d12.h:2624
D3D12_DSV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2618
D3D12_TEX1D_ARRAY_DSV Texture1DArray
Definition: mini_d3d12.h:2622
D3D12_STENCIL_OP StencilFailOp
Definition: mini_d3d12.h:2023
D3D12_COMPARISON_FUNC StencilFunc
Definition: mini_d3d12.h:2026
D3D12_STENCIL_OP StencilDepthFailOp
Definition: mini_d3d12.h:2024
D3D12_STENCIL_OP StencilPassOp
Definition: mini_d3d12.h:2025
D3D12_DESCRIPTOR_HEAP_TYPE Type
Definition: mini_d3d12.h:2692
D3D12_DESCRIPTOR_HEAP_FLAGS Flags
Definition: mini_d3d12.h:2694
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition: mini_d3d12.h:3041
UINT OffsetInDescriptorsFromTableStart
Definition: mini_d3d12.h:3046
D3D12_DESCRIPTOR_RANGE_FLAGS Flags
Definition: mini_d3d12.h:3045
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition: mini_d3d12.h:2958
UINT OffsetInDescriptorsFromTableStart
Definition: mini_d3d12.h:2962
_In_reads_(NumRects) const D3D12_RECT *pRects
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
Definition: mini_d3d12.h:2098
D3D12_INPUT_LAYOUT_DESC InputLayout
Definition: mini_d3d12.h:2097
ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:2086
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType
Definition: mini_d3d12.h:2099
D3D12_STREAM_OUTPUT_DESC StreamOutput
Definition: mini_d3d12.h:2092
D3D12_DEPTH_STENCIL_DESC DepthStencilState
Definition: mini_d3d12.h:2096
D3D12_PIPELINE_STATE_FLAGS Flags
Definition: mini_d3d12.h:2106
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition: mini_d3d12.h:2105
D3D12_RASTERIZER_DESC RasterizerState
Definition: mini_d3d12.h:2095
D3D12_HEAP_PROPERTIES Properties
Definition: mini_d3d12.h:2701
D3D12_HEAP_FLAGS Flags
Definition: mini_d3d12.h:2703
UINT64 SizeInBytes
Definition: mini_d3d12.h:2700
D3D12_CPU_PAGE_PROPERTY CPUPageProperty
Definition: mini_d3d12.h:2183
D3D12_HEAP_TYPE Type
Definition: mini_d3d12.h:2182
D3D12_MEMORY_POOL MemoryPoolPreference
Definition: mini_d3d12.h:2184
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2840
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@22 UnorderedAccessView
D3D12_INDIRECT_ARGUMENT_TYPE Type
Definition: mini_d3d12.h:2745
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@21 ShaderResourceView
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@19 Constant
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@20 ConstantBufferView
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@18 VertexBuffer
D3D12_INPUT_CLASSIFICATION InputSlotClass
Definition: mini_d3d12.h:2051
_Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs
UINT StartTileIndexInOverallResource
Definition: mini_d3d12.h:2783
D3D12_SUBRESOURCE_FOOTPRINT Footprint
Definition: mini_d3d12.h:2716
D3D12_QUERY_HEAP_TYPE Type
Definition: mini_d3d12.h:2727
SIZE_T End
Definition: mini_d3d12.h:1839
SIZE_T Begin
Definition: mini_d3d12.h:1838
D3D12_FILL_MODE FillMode
Definition: mini_d3d12.h:1982
D3D12_CULL_MODE CullMode
Definition: mini_d3d12.h:1983
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster
Definition: mini_d3d12.h:1992
D3D12_TEX1D_ARRAY_RTV Texture1DArray
Definition: mini_d3d12.h:2561
D3D12_TEX2DMS_RTV Texture2DMS
Definition: mini_d3d12.h:2564
D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray
Definition: mini_d3d12.h:2565
D3D12_RTV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2557
D3D12_TEX2D_ARRAY_RTV Texture2DArray
Definition: mini_d3d12.h:2563
ID3D12Resource * pResourceAfter
Definition: mini_d3d12.h:2865
ID3D12Resource * pResourceBefore
Definition: mini_d3d12.h:2864
D3D12_RESOURCE_BARRIER_FLAGS Flags
Definition: mini_d3d12.h:2888
D3D12_RESOURCE_BARRIER_TYPE Type
Definition: mini_d3d12.h:2887
D3D12_RESOURCE_UAV_BARRIER UAV
Definition: mini_d3d12.h:2892
D3D12_RESOURCE_TRANSITION_BARRIER Transition
Definition: mini_d3d12.h:2890
D3D12_RESOURCE_ALIASING_BARRIER Aliasing
Definition: mini_d3d12.h:2891
D3D12_RESOURCE_DIMENSION Dimension
Definition: mini_d3d12.h:2149
D3D12_TEXTURE_LAYOUT Layout
Definition: mini_d3d12.h:2157
DXGI_SAMPLE_DESC SampleDesc
Definition: mini_d3d12.h:2156
D3D12_RESOURCE_FLAGS Flags
Definition: mini_d3d12.h:2158
DXGI_FORMAT Format
Definition: mini_d3d12.h:2155
D3D12_RESOURCE_STATES StateBefore
Definition: mini_d3d12.h:2859
D3D12_RESOURCE_STATES StateAfter
Definition: mini_d3d12.h:2860
ID3D12Resource * pResource
Definition: mini_d3d12.h:2869
D3D12_ROOT_DESCRIPTOR_FLAGS Flags
Definition: mini_d3d12.h:3065
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: mini_d3d12.h:3075
D3D12_ROOT_DESCRIPTOR1 Descriptor
Definition: mini_d3d12.h:3073
D3D12_ROOT_CONSTANTS Constants
Definition: mini_d3d12.h:3072
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable
Definition: mini_d3d12.h:3071
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition: mini_d3d12.h:3069
D3D12_ROOT_CONSTANTS Constants
Definition: mini_d3d12.h:2994
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: mini_d3d12.h:2997
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition: mini_d3d12.h:2991
D3D12_ROOT_DESCRIPTOR Descriptor
Definition: mini_d3d12.h:2995
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable
Definition: mini_d3d12.h:2993
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition: mini_d3d12.h:3083
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition: mini_d3d12.h:3028
D3D12_COMPARISON_FUNC ComparisonFunc
Definition: mini_d3d12.h:2684
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition: mini_d3d12.h:2680
D3D12_FILTER Filter
Definition: mini_d3d12.h:2678
FLOAT BorderColor[4]
Definition: mini_d3d12.h:2685
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition: mini_d3d12.h:2679
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition: mini_d3d12.h:2681
_Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode
D3D12_SRV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2405
D3D12_TEXCUBE_SRV TextureCube
Definition: mini_d3d12.h:2416
D3D12_TEX1D_ARRAY_SRV Texture1DArray
Definition: mini_d3d12.h:2410
D3D12_TEX2DMS_SRV Texture2DMS
Definition: mini_d3d12.h:2413
D3D12_TEX2D_ARRAY_SRV Texture2DArray
Definition: mini_d3d12.h:2412
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray
Definition: mini_d3d12.h:2417
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray
Definition: mini_d3d12.h:2414
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition: mini_d3d12.h:3011
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition: mini_d3d12.h:3009
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition: mini_d3d12.h:3020
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition: mini_d3d12.h:3010
D3D12_STATIC_BORDER_COLOR BorderColor
Definition: mini_d3d12.h:3015
D3D12_COMPARISON_FUNC ComparisonFunc
Definition: mini_d3d12.h:3014
D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation
Definition: mini_d3d12.h:2905
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2903
_Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration
_Field_size_full_(NumStrides) const UINT *pBufferStrides
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2333
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2348
UINT UnusedField_NothingToDefine
Definition: mini_d3d12.h:2591
UINT UnusedField_NothingToDefine
Definition: mini_d3d12.h:2522
UINT UnusedField_NothingToDefine
Definition: mini_d3d12.h:2381
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2363
FLOAT ResourceMinLODClamp
Definition: mini_d3d12.h:2369
D3D12_TEXTURE_COPY_TYPE Type
Definition: mini_d3d12.h:2828
ID3D12Resource * pResource
Definition: mini_d3d12.h:2827
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint
Definition: mini_d3d12.h:2830
D3D12_UAV_DIMENSION ViewDimension
Definition: mini_d3d12.h:2490
D3D12_TEX1D_ARRAY_UAV Texture1DArray
Definition: mini_d3d12.h:2494
D3D12_TEX2D_ARRAY_UAV Texture2DArray
Definition: mini_d3d12.h:2496
D3D12_ROOT_SIGNATURE_DESC Desc_1_0
Definition: mini_d3d12.h:3095
D3D_ROOT_SIGNATURE_VERSION Version
Definition: mini_d3d12.h:3093
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1
Definition: mini_d3d12.h:3096
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:2897
SIZE_T DedicatedVideoMemory
Definition: mini_d3d12.h:5958
SIZE_T SharedSystemMemory
Definition: mini_d3d12.h:5960
SIZE_T DedicatedSystemMemory
Definition: mini_d3d12.h:5959
WCHAR Description[128]
Definition: mini_d3d12.h:5953
SIZE_T DedicatedVideoMemory
Definition: mini_d3d12.h:5939
SIZE_T DedicatedSystemMemory
Definition: mini_d3d12.h:5940
WCHAR Description[128]
Definition: mini_d3d12.h:5934
SIZE_T SharedSystemMemory
Definition: mini_d3d12.h:5941
ID3D10Blob * This
Definition: mini_d3d12.h:1246
BEGIN_INTERFACE(ID3D10Blob *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12CommandAllocator * This
Definition: mini_d3d12.h:3330
ID3D12CommandAllocator _In_ REFGUID guid
Definition: mini_d3d12.h:3339
ID3D12CommandAllocator REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3365
ID3D12CommandAllocator _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3347
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3340
ID3D12CommandAllocator _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3359
ID3D12CommandAllocator _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3354
ID3D12CommandAllocator _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3341
ID3D12CommandAllocator REFIID riid
Definition: mini_d3d12.h:3364
ID3D12CommandList REFIID riid
Definition: mini_d3d12.h:3476
ID3D12CommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3453
ID3D12CommandList _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3466
ID3D12CommandList _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3471
ID3D12CommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3477
ID3D12CommandList _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3452
ID3D12CommandList _In_ REFGUID guid
Definition: mini_d3d12.h:3451
ID3D12CommandList * This
Definition: mini_d3d12.h:3442
ID3D12CommandList _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3459
ID3D12CommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource * pSrcResource
Definition: mini_d3d12.h:4471
void(STDMETHODCALLTYPE *ExecuteCommandLists)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pSrcRegionStartCoordinate
Definition: mini_d3d12.h:4472
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT NumRanges
Definition: mini_d3d12.h:4461
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags
ID3D12CommandQueue ID3D12Fence UINT64 Value
Definition: mini_d3d12.h:4500
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pDstRegionStartCoordinate
Definition: mini_d3d12.h:4470
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets
ID3D12CommandQueue _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:4441
_In_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4456
ID3D12CommandQueue _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandQueue REFIID riid
Definition: mini_d3d12.h:4451
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:4427
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12CommandQueue *This
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT D3D12_TILE_MAPPING_FLAGS Flags
Definition: mini_d3d12.h:4465
_In_ UINT _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists)
ID3D12CommandQueue _Out_ UINT64 _Out_ UINT64 * pCpuTimestamp
Definition: mini_d3d12.h:4517
UINT _In_reads_bytes_opt_(Size) const void *pData
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:4428
ID3D12CommandQueue ID3D12Fence * pFence
Definition: mini_d3d12.h:4499
_In_ ID3D12Resource UINT NumResourceRegions
Definition: mini_d3d12.h:4457
void(STDMETHODCALLTYPE *CopyTileMappings)(ID3D12CommandQueue *This
void(STDMETHODCALLTYPE *SetMarker)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE D3D12_TILE_MAPPING_FLAGS Flags
Definition: mini_d3d12.h:4474
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes
void(STDMETHODCALLTYPE *UpdateTileMappings)(ID3D12CommandQueue *This
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE * pRegionSize
Definition: mini_d3d12.h:4473
ID3D12CommandQueue _Out_ UINT64 * pFrequency
Definition: mini_d3d12.h:4511
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates
ID3D12CommandQueue _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:4446
ID3D12CommandQueue _In_ REFGUID guid
Definition: mini_d3d12.h:4426
void(STDMETHODCALLTYPE *EndEvent)(ID3D12CommandQueue *This)
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap * pHeap
Definition: mini_d3d12.h:4460
ID3D12CommandQueue REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:4452
ID3D12CommandQueue _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:4434
ID3D12CommandQueue _Out_ UINT64 * pGpuTimestamp
Definition: mini_d3d12.h:4516
ID3D12CommandQueue * This
Definition: mini_d3d12.h:4417
_In_ ID3D12Resource * pDstResource
Definition: mini_d3d12.h:4469
BEGIN_INTERFACE(ID3D12Debug *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Debug * This
Definition: mini_d3d12.h:5848
void(STDMETHODCALLTYPE *EnableDebugLayer)(ID3D12Debug *This)
ID3D12DescriptorHeap _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5590
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5576
ID3D12DescriptorHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5601
ID3D12DescriptorHeap _In_ REFGUID guid
Definition: mini_d3d12.h:5575
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5577
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5583
ID3D12DescriptorHeap REFIID riid
Definition: mini_d3d12.h:5600
ID3D12DescriptorHeap * This
Definition: mini_d3d12.h:5566
ID3D12DescriptorHeap _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5595
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1579
ID3D12DeviceChild * This
Definition: mini_d3d12.h:1569
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1580
ID3D12DeviceChild _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1593
ID3D12DeviceChild _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DeviceChild REFIID riid
Definition: mini_d3d12.h:1603
BEGIN_INTERFACE(ID3D12DeviceChild *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12DeviceChild REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:1604
ID3D12DeviceChild _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1598
ID3D12DeviceChild _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1586
ID3D12DeviceChild _In_ REFGUID guid
Definition: mini_d3d12.h:1578
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition: mini_d3d12.h:4972
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: mini_d3d12.h:4908
ID3D12Device _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:4850
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4967
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR Name
Definition: mini_d3d12.h:5049
_In_ UINT _In_ UINT _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID _COM_Outptr_opt_ void ** ppvResource
Definition: mini_d3d12.h:5032
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialResourceState
Definition: mini_d3d12.h:5011
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4955
ID3D12Device _In_ ID3D12DeviceChild * pObject
Definition: mini_d3d12.h:5046
void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(ID3D12Device *This
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC * pDescriptorHeapDesc
Definition: mini_d3d12.h:4922
ID3D12Device _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:4868
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4942
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT *pNumRows
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4961
void(STDMETHODCALLTYPE *CreateDepthStencilView)(ID3D12Device *This
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID _COM_Outptr_opt_ void ** ppvResource
Definition: mini_d3d12.h:5041
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvCommandSignature
Definition: mini_d3d12.h:5120
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:5118
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition: mini_d3d12.h:4906
ID3D12Device _In_ UINT _In_ UINT numResourceDescs
Definition: mini_d3d12.h:4996
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition: mini_d3d12.h:4878
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: mini_d3d12.h:5031
ID3D12Device _In_ UINT visibleMask
Definition: mini_d3d12.h:4995
ID3D12Device _In_ LPCWSTR DWORD Access
Definition: mini_d3d12.h:5063
void(STDMETHODCALLTYPE *GetCopyableFootprints)(ID3D12Device *This
ID3D12Device _In_ HANDLE NTHandle
Definition: mini_d3d12.h:5055
ID3D12Device BOOL Enable
Definition: mini_d3d12.h:5112
_In_opt_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4947
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource * pCounterResource
Definition: mini_d3d12.h:4954
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: mini_d3d12.h:4900
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC * pDesc
Definition: mini_d3d12.h:5010
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC * pDesc
Definition: mini_d3d12.h:4877
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition: mini_d3d12.h:4899
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition: mini_d3d12.h:5012
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE type
Definition: mini_d3d12.h:4884
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition: mini_d3d12.h:5119
ID3D12Device UINT64 InitialValue
Definition: mini_d3d12.h:5082
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition: mini_d3d12.h:5030
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: mini_d3d12.h:4983
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4962
_In_ UINT _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes
void(STDMETHODCALLTYPE *CopyDescriptors)(ID3D12Device *This
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO * pPackedMipDesc
Definition: mini_d3d12.h:5126
ID3D12Device _In_ UINT _In_ SIZE_T REFIID _COM_Outptr_ void ** ppvRootSignature
Definition: mini_d3d12.h:4938
_In_ UINT NumDestDescriptorRanges
Definition: mini_d3d12.h:4977
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD Access
Definition: mini_d3d12.h:5048
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT * pNumSubresourceTilings
Definition: mini_d3d12.h:5128
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
Definition: mini_d3d12.h:5038
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID _COM_Outptr_ void ** ppCommandAllocator
Definition: mini_d3d12.h:4886
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riidResource
Definition: mini_d3d12.h:5013
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4968
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID _COM_Outptr_ void ** ppCommandQueue
Definition: mini_d3d12.h:4879
ID3D12Device _In_ UINT _In_ SIZE_T blobLengthInBytes
Definition: mini_d3d12.h:4936
void(STDMETHODCALLTYPE *CreateRenderTargetView)(ID3D12Device *This
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
Definition: mini_d3d12.h:5021
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4956
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES * pHeapProperties
Definition: mini_d3d12.h:5008
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID riid
Definition: mini_d3d12.h:4909
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition: mini_d3d12.h:4990
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4943
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition: mini_d3d12.h:4893
ID3D12Device _In_ UINT _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition: mini_d3d12.h:5040
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID riid
Definition: mini_d3d12.h:5020
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID _COM_Outptr_ void ** ppCommandList
Definition: mini_d3d12.h:4910
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID _COM_Outptr_ void ** ppvHeap
Definition: mini_d3d12.h:4924
ID3D12Device UINT _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects)
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC * pDesc
Definition: mini_d3d12.h:5117
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID _COM_Outptr_opt_ void ** ppvResource
Definition: mini_d3d12.h:5014
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
Definition: mini_d3d12.h:5107
void(STDMETHODCALLTYPE *GetResourceTiling)(ID3D12Device *This
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition: mini_d3d12.h:4923
ID3D12Device _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition: mini_d3d12.h:4929
ID3D12Device _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:4856
ID3D12Device _In_ ID3D12Heap UINT64 HeapOffset
Definition: mini_d3d12.h:5027
ID3D12Device D3D12_FEATURE _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition: mini_d3d12.h:5096
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC * pDesc
Definition: mini_d3d12.h:5105
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4949
ID3D12Device _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:4863
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
Definition: mini_d3d12.h:5029
ID3D12Device _In_ UINT D3D12_HEAP_TYPE heapType
Definition: mini_d3d12.h:5003
_In_ const D3D12_SAMPLER_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition: mini_d3d12.h:4973
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES * pAttributes
Definition: mini_d3d12.h:5047
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources
ID3D12Device _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:4849
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT _Out_writes_ pNumSubresourceTilings D3D12_SUBRESOURCE_TILING * pSubresourceTilingsForNonPackedMips
Definition: mini_d3d12.h:5130
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition: mini_d3d12.h:5093
_In_ UINT NumDescriptors
Definition: mini_d3d12.h:4987
ID3D12Device UINT NumObjects
Definition: mini_d3d12.h:5070
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition: mini_d3d12.h:4980
ID3D12Device _In_ const D3D12_RESOURCE_DESC * pDesc
Definition: mini_d3d12.h:5037
ID3D12Device UINT64 D3D12_FENCE_FLAGS Flags
Definition: mini_d3d12.h:5083
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC * pDesc
Definition: mini_d3d12.h:4948
ID3D12Device _In_ UINT _In_ UINT _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs)
ID3D12Device _In_ ID3D12Heap * pHeap
Definition: mini_d3d12.h:5026
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE * pStandardTileShapeForNonPackedMips
Definition: mini_d3d12.h:5127
_In_ UINT _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition: mini_d3d12.h:4989
ID3D12Device _In_ const D3D12_HEAP_DESC * pDesc
Definition: mini_d3d12.h:5019
ID3D12Device _In_ UINT nodeMask
Definition: mini_d3d12.h:4905
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR _Out_ HANDLE * pHandle
Definition: mini_d3d12.h:5050
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC * pDesc
Definition: mini_d3d12.h:5028
ID3D12Device _In_ REFGUID guid
Definition: mini_d3d12.h:4848
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition: mini_d3d12.h:5100
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition: mini_d3d12.h:5106
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC * pDesc
Definition: mini_d3d12.h:4891
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS HeapFlags
Definition: mini_d3d12.h:5009
ID3D12Device D3D12_FEATURE UINT FeatureSupportDataSize
Definition: mini_d3d12.h:4917
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator * pCommandAllocator
Definition: mini_d3d12.h:4907
_In_ ID3D12Resource _Out_opt_ UINT * pNumTilesForEntireResource
Definition: mini_d3d12.h:5125
ID3D12Device _In_ HANDLE REFIID riid
Definition: mini_d3d12.h:5056
ID3D12Device _In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition: mini_d3d12.h:5065
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC * pDesc
Definition: mini_d3d12.h:4898
_In_ UINT _In_ UINT _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition: mini_d3d12.h:5084
ID3D12Device _In_ HANDLE REFIID _COM_Outptr_opt_ void ** ppvObj
Definition: mini_d3d12.h:5057
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition: mini_d3d12.h:5039
void(STDMETHODCALLTYPE *CreateSampler)(ID3D12Device *This
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID riid
Definition: mini_d3d12.h:4885
void(STDMETHODCALLTYPE *CreateConstantBufferView)(ID3D12Device *This
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart
Definition: mini_d3d12.h:4988
ID3D12Device _In_ UINT _In_ SIZE_T REFIID riid
Definition: mini_d3d12.h:4937
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID _COM_Outptr_ void ** ppFence
Definition: mini_d3d12.h:5085
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition: mini_d3d12.h:4892
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource
ID3D12Device * This
Definition: mini_d3d12.h:4839
ID3D12Device D3D12_FEATURE Feature
Definition: mini_d3d12.h:4915
void(STDMETHODCALLTYPE *CreateShaderResourceView)(ID3D12Device *This
ID3D12Device _In_ LPCWSTR Name
Definition: mini_d3d12.h:5062
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE _Inout_opt_ UINT _In_ UINT FirstSubresourceTilingToGet
Definition: mini_d3d12.h:5129
ID3D12Device _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_ ID3D12Resource * pTiledResource
Definition: mini_d3d12.h:5124
void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(ID3D12Device *This
ID3D12Fence UINT64 Value
Definition: mini_d3d12.h:5363
ID3D12Fence UINT64 HANDLE hEvent
Definition: mini_d3d12.h:5364
ID3D12Fence _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5330
ID3D12Fence _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5348
ID3D12Fence _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5336
ID3D12Fence REFIID riid
Definition: mini_d3d12.h:5353
ID3D12Fence _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5329
ID3D12Fence _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Fence _In_ REFGUID guid
Definition: mini_d3d12.h:5328
ID3D12Fence _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5343
ID3D12Fence * This
Definition: mini_d3d12.h:5319
ID3D12Fence REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5354
void(STDMETHODCALLTYPE *ResolveSubresource)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *CopyTiles)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
Definition: mini_d3d12.h:3874
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource * pDestinationBuffer
Definition: mini_d3d12.h:4109
_In_ ID3D12GraphicsCommandList * pCommandList
Definition: mini_d3d12.h:3948
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(ID3D12GraphicsCommandList *This
_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports
_In_ UINT _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor
Definition: mini_d3d12.h:3966
_In_opt_ ID3D12Resource * pBuffer
Definition: mini_d3d12.h:4114
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 BufferStartOffsetInBytes
Definition: mini_d3d12.h:3904
void(STDMETHODCALLTYPE *CopyResource)(ID3D12GraphicsCommandList *This
_In_ ID3D12CommandSignature _In_ UINT MaxCommandCount
Definition: mini_d3d12.h:4136
_In_ UINT _In_ UINT _In_ UINT StartIndexLocation
Definition: mini_d3d12.h:3866
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource * pSrcResource
Definition: mini_d3d12.h:3911
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
Definition: mini_d3d12.h:3868
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle
Definition: mini_d3d12.h:4071
void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT NumRects
Definition: mini_d3d12.h:4074
ID3D12GraphicsCommandList _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3824
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT _In_ INT BaseVertexLocation
Definition: mini_d3d12.h:3867
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 UINT64 NumBytes
Definition: mini_d3d12.h:3882
void(STDMETHODCALLTYPE *ExecuteBundle)(ID3D12GraphicsCommandList *This
_In_opt_ ID3D12RootSignature * pRootSignature
Definition: mini_d3d12.h:3957
void(STDMETHODCALLTYPE *ExecuteIndirect)(ID3D12GraphicsCommandList *This
_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects
_In_reads_(NumRects) const D3D12_RECT *pRects)
void(STDMETHODCALLTYPE *SetComputeRootSignature)(ID3D12GraphicsCommandList *This
_In_opt_ ID3D12Resource _In_ UINT64 AlignedBufferOffset
Definition: mini_d3d12.h:4115
_In_ UINT _In_ UINT _In_reads_(Num32BitValuesToSet *sizeof(UINT)) const void *pSrcData
_In_ UINT _In_ UINT _In_ UINT _In_ UINT StartInstanceLocation
Definition: mini_d3d12.h:3860
void(STDMETHODCALLTYPE *OMSetStencilRef)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
Definition: mini_d3d12.h:3881
void(STDMETHODCALLTYPE *CopyBufferRegion)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pDstBuffer
Definition: mini_d3d12.h:3878
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 ArgumentBufferOffset
Definition: mini_d3d12.h:4138
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT StartIndex
Definition: mini_d3d12.h:4107
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
void(STDMETHODCALLTYPE *SetPredication)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *DrawIndexedInstanced)(ID3D12GraphicsCommandList *This
_In_ UINT _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers)
_In_ UINT _In_ UINT NumViews
Definition: mini_d3d12.h:4036
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT NumRects
Definition: mini_d3d12.h:4065
void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE Type
Definition: mini_d3d12.h:4094
_In_opt_ const D3D12_INDEX_BUFFER_VIEW * pView
Definition: mini_d3d12.h:4031
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
Definition: mini_d3d12.h:3912
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT Num32BitValuesToSet
Definition: mini_d3d12.h:3988
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3811
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT NumRects
Definition: mini_d3d12.h:4083
void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT NumRects
Definition: mini_d3d12.h:4058
void(STDMETHODCALLTYPE *IASetVertexBuffers)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap * pQueryHeap
Definition: mini_d3d12.h:4093
ID3D12GraphicsCommandList _In_ REFGUID guid
Definition: mini_d3d12.h:3809
void(STDMETHODCALLTYPE *SOSetTargets)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource * pSrcBuffer
Definition: mini_d3d12.h:3880
void(STDMETHODCALLTYPE *OMSetBlendFactor)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource UINT64 DstOffset
Definition: mini_d3d12.h:3879
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
Definition: mini_d3d12.h:3896
_In_ ID3D12Resource _In_opt_ const D3D12_DISCARD_REGION * pRegion
Definition: mini_d3d12.h:4089
void(STDMETHODCALLTYPE *RSSetScissorRects)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ UINT _In_ UINT StartVertexLocation
Definition: mini_d3d12.h:3859
void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *RSSetViewports)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT NumQueries
Definition: mini_d3d12.h:4108
void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4072
void(STDMETHODCALLTYPE *SetMarker)(ID3D12GraphicsCommandList *This
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT DstZ
Definition: mini_d3d12.h:3889
void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator * pAllocator
Definition: mini_d3d12.h:3848
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT DstY
Definition: mini_d3d12.h:3888
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition: mini_d3d12.h:3849
void(STDMETHODCALLTYPE *ClearRenderTargetView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *CopyTextureRegion)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3817
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 D3D12_TILE_COPY_FLAGS Flags
Definition: mini_d3d12.h:3905
void(STDMETHODCALLTYPE *ClearDepthStencilView)(ID3D12GraphicsCommandList *This
_In_ ID3D12PipelineState * pPipelineState
Definition: mini_d3d12.h:3939
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT Index
Definition: mini_d3d12.h:4095
void(STDMETHODCALLTYPE *IASetIndexBuffer)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pTiledResource
Definition: mini_d3d12.h:3900
_In_ ID3D12Resource * pResource
Definition: mini_d3d12.h:4088
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pRenderTargetDescriptors
Definition: mini_d3d12.h:4048
_In_ UINT _In_ UINT _In_ UINT DestOffsetIn32BitValues
Definition: mini_d3d12.h:3977
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView
Definition: mini_d3d12.h:4054
void(STDMETHODCALLTYPE *SetDescriptorHeaps)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *ResourceBarrier)(ID3D12GraphicsCommandList *This
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL RTsSingleHandleToDescriptorRange
Definition: mini_d3d12.h:4049
_In_ UINT _In_ UINT _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews)
UINT _In_reads_bytes_opt_(Size) const void *pData
void(STDMETHODCALLTYPE *EndEvent)(ID3D12GraphicsCommandList *This)
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource * pCountBuffer
Definition: mini_d3d12.h:4139
_In_ const D3D12_TEXTURE_COPY_LOCATION * pDst
Definition: mini_d3d12.h:3886
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE * pTileRegionSize
Definition: mini_d3d12.h:3902
ID3D12GraphicsCommandList * This
Definition: mini_d3d12.h:3800
_In_ UINT _In_ UINT SrcData
Definition: mini_d3d12.h:3976
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION * pSrc
Definition: mini_d3d12.h:3890
void(STDMETHODCALLTYPE *ResolveQueryData)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
_In_opt_ ID3D12PipelineState * pPipelineState
Definition: mini_d3d12.h:3853
_In_ UINT _In_ UINT ThreadGroupCountY
Definition: mini_d3d12.h:3873
void(STDMETHODCALLTYPE *EndQuery)(ID3D12GraphicsCommandList *This
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION _In_opt_ const D3D12_BOX * pSrcBox
Definition: mini_d3d12.h:3891
_In_ UINT _In_ UINT _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews)
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *DrawInstanced)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(ID3D12GraphicsCommandList *This
_In_ ID3D12Resource * pDstResource
Definition: mini_d3d12.h:3895
void(STDMETHODCALLTYPE *OMSetRenderTargets)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *Dispatch)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *ClearState)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandList REFIID riid
Definition: mini_d3d12.h:3834
_In_ ID3D12Resource _In_ UINT DstSubresource
Definition: mini_d3d12.h:3910
void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(ID3D12GraphicsCommandList *This
_In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap
Definition: mini_d3d12.h:4070
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3810
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
Definition: mini_d3d12.h:3917
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 Stencil
Definition: mini_d3d12.h:4057
_In_ UINT _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps)
_In_ ID3D12CommandSignature * pCommandSignature
Definition: mini_d3d12.h:4135
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource _In_ UINT64 CountBufferOffset
Definition: mini_d3d12.h:4140
void(STDMETHODCALLTYPE *BeginQuery)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *DiscardResource)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pTileRegionStartCoordinate
Definition: mini_d3d12.h:3901
_In_ UINT _In_ UINT InstanceCount
Definition: mini_d3d12.h:3858
void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(ID3D12GraphicsCommandList *This
void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(ID3D12GraphicsCommandList *This
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS ClearFlags
Definition: mini_d3d12.h:4055
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT _In_ DXGI_FORMAT Format
Definition: mini_d3d12.h:3913
_In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView
Definition: mini_d3d12.h:4063
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT Depth
Definition: mini_d3d12.h:4056
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource * pBuffer
Definition: mini_d3d12.h:3903
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource * pArgumentBuffer
Definition: mini_d3d12.h:4137
_In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports)
ID3D12GraphicsCommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3835
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(ID3D12GraphicsCommandList *This
_In_ UINT _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition: mini_d3d12.h:4002
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT DstX
Definition: mini_d3d12.h:3887
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pDepthStencilDescriptor
Definition: mini_d3d12.h:4050
void(STDMETHODCALLTYPE *SetPipelineState)(ID3D12GraphicsCommandList *This
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource _In_ UINT64 AlignedDestinationBufferOffset
Definition: mini_d3d12.h:4110
ID3D12GraphicsCommandList _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3829
_In_opt_ ID3D12Resource _In_ UINT64 _In_ D3D12_PREDICATION_OP Operation
Definition: mini_d3d12.h:4116
BEGIN_INTERFACE(ID3D12Object *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Object _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1498
ID3D12Object _In_ REFGUID guid
Definition: mini_d3d12.h:1490
ID3D12Object _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1491
ID3D12Object _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1505
ID3D12Object _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1510
ID3D12Object _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1492
ID3D12Object * This
Definition: mini_d3d12.h:1481
ID3D12Object _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Pageable REFIID riid
Definition: mini_d3d12.h:1797
ID3D12Pageable _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1792
ID3D12Pageable _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1773
ID3D12Pageable REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:1798
ID3D12Pageable * This
Definition: mini_d3d12.h:1763
BEGIN_INTERFACE(ID3D12Pageable *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Pageable _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1780
ID3D12Pageable _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1774
ID3D12Pageable _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1787
ID3D12Pageable _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Pageable _In_ REFGUID guid
Definition: mini_d3d12.h:1772
ID3D12PipelineState _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5460
ID3D12PipelineState REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5484
ID3D12PipelineState REFIID riid
Definition: mini_d3d12.h:5483
ID3D12PipelineState _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12PipelineState * This
Definition: mini_d3d12.h:5449
ID3D12PipelineState _COM_Outptr_ ID3DBlob ** ppBlob
Definition: mini_d3d12.h:5489
ID3D12PipelineState _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5466
ID3D12PipelineState _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5459
ID3D12PipelineState _In_ REFGUID guid
Definition: mini_d3d12.h:5458
ID3D12PipelineState _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5473
ID3D12PipelineState _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5478
ID3D12QueryHeap REFIID riid
Definition: mini_d3d12.h:5725
ID3D12QueryHeap * This
Definition: mini_d3d12.h:5691
ID3D12QueryHeap _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:5720
ID3D12QueryHeap _In_ REFGUID guid
Definition: mini_d3d12.h:5700
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:5701
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:5702
ID3D12QueryHeap _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:5708
ID3D12QueryHeap _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:5715
ID3D12QueryHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:5726
ID3D12QueryHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
BEGIN_INTERFACE(ID3D12Resource *This, REFIID riid, _COM_Outptr_ void **ppvObject)
ID3D12Resource REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:3195
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void * pSrcData
Definition: mini_d3d12.h:3222
ID3D12Resource _Out_ void UINT DstRowPitch
Definition: mini_d3d12.h:3230
ID3D12Resource _Out_ void * pDstData
Definition: mini_d3d12.h:3229
ID3D12Resource UINT DstSubresource
Definition: mini_d3d12.h:3220
ID3D12Resource _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES _Out_opt_ D3D12_HEAP_FLAGS * pHeapFlags
Definition: mini_d3d12.h:3239
ID3D12Resource UINT _In_opt_ const D3D12_RANGE * pReadRange
Definition: mini_d3d12.h:3201
ID3D12Resource _Out_ void UINT UINT UINT _In_opt_ const D3D12_BOX * pSrcBox
Definition: mini_d3d12.h:3233
ID3D12Resource _Out_ void UINT UINT DstDepthPitch
Definition: mini_d3d12.h:3231
ID3D12Resource REFIID riid
Definition: mini_d3d12.h:3194
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT UINT SrcDepthPitch
Definition: mini_d3d12.h:3224
ID3D12Resource _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:3177
ID3D12Resource * This
Definition: mini_d3d12.h:3160
ID3D12Resource _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:3171
void(STDMETHODCALLTYPE *Unmap)(ID3D12Resource *This
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES * pHeapProperties
Definition: mini_d3d12.h:3238
ID3D12Resource _In_ REFGUID guid
Definition: mini_d3d12.h:3169
ID3D12Resource _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:3184
ID3D12Resource UINT _In_opt_ const D3D12_RANGE _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData)
ID3D12Resource UINT Subresource
Definition: mini_d3d12.h:3200
ID3D12Resource _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:3189
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT SrcRowPitch
Definition: mini_d3d12.h:3223
ID3D12Resource _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:3170
ID3D12Resource UINT _In_opt_ const D3D12_BOX * pDstBox
Definition: mini_d3d12.h:3221
ID3D12Resource _Out_ void UINT UINT UINT SrcSubresource
Definition: mini_d3d12.h:3232
UINT _In_opt_ const D3D12_RANGE * pWrittenRange
Definition: mini_d3d12.h:3207
ID3D12RootSignature _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12RootSignature _In_z_ LPCWSTR Name
Definition: mini_d3d12.h:1692
ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition: mini_d3d12.h:1698
ID3D12RootSignature _In_ REFGUID _In_opt_ const IUnknown * pData
Definition: mini_d3d12.h:1687
ID3D12RootSignature _In_ REFGUID guid
Definition: mini_d3d12.h:1672
ID3D12RootSignature * This
Definition: mini_d3d12.h:1663
ID3D12RootSignature _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition: mini_d3d12.h:1674
ID3D12RootSignature _In_ REFGUID _In_ UINT DataSize
Definition: mini_d3d12.h:1680
ID3D12RootSignature REFIID riid
Definition: mini_d3d12.h:1697
ID3D12RootSignature _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:1673
BEGIN_INTERFACE(ID3D12RootSignature *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIAdapter1 _In_ REFGUID Name
Definition: mini_d3d12.h:6655
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC1 * pDesc
Definition: mini_d3d12.h:6711
IDXGIAdapter1 _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6684
IDXGIAdapter1 _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: mini_d3d12.h:6705
IDXGIAdapter1 UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: mini_d3d12.h:6691
IDXGIAdapter1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6666
IDXGIAdapter1 _In_ REFGUID InterfaceName
Definition: mini_d3d12.h:6703
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6674
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6676
IDXGIAdapter1 * This
Definition: mini_d3d12.h:6645
IDXGIAdapter1 UINT Output
Definition: mini_d3d12.h:6689
IDXGIAdapter1 _In_ REFIID riid
Definition: mini_d3d12.h:6682
IDXGIAdapter1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
BEGIN_INTERFACE(IDXGIAdapter1 *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC * pDesc
Definition: mini_d3d12.h:6697
IDXGIAdapter1 _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6656
IDXGIAdapter _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6365
IDXGIAdapter _In_ REFGUID InterfaceName
Definition: mini_d3d12.h:6384
IDXGIAdapter _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6355
IDXGIAdapter _In_ REFGUID Name
Definition: mini_d3d12.h:6336
IDXGIAdapter _In_ REFIID riid
Definition: mini_d3d12.h:6363
IDXGIAdapter _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6347
IDXGIAdapter _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIAdapter UINT Output
Definition: mini_d3d12.h:6370
IDXGIAdapter _Out_ DXGI_ADAPTER_DESC * pDesc
Definition: mini_d3d12.h:6378
BEGIN_INTERFACE(IDXGIAdapter *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIAdapter UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition: mini_d3d12.h:6372
IDXGIAdapter _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6337
IDXGIAdapter _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6357
IDXGIAdapter _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition: mini_d3d12.h:6386
IDXGIAdapter * This
Definition: mini_d3d12.h:6326
IDXGIFactory1 HWND WindowHandle
Definition: mini_d3d12.h:6519
IDXGIFactory1 HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6543
IDXGIFactory1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6489
IDXGIFactory1 UINT Adapter
Definition: mini_d3d12.h:6512
IDXGIFactory1 _Out_ HWND * pWindowHandle
Definition: mini_d3d12.h:6526
IDXGIFactory1 * This
Definition: mini_d3d12.h:6468
IDXGIFactory1 _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6507
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: mini_d3d12.h:6534
IDXGIFactory1 HWND UINT Flags
Definition: mini_d3d12.h:6520
IDXGIFactory1 _In_ REFGUID Name
Definition: mini_d3d12.h:6478
IDXGIFactory1 HMODULE Module
Definition: mini_d3d12.h:6541
IDXGIFactory1 _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6479
IDXGIFactory1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: mini_d3d12.h:6536
IDXGIFactory1 _In_ REFIID riid
Definition: mini_d3d12.h:6505
IDXGIFactory1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6499
IDXGIFactory1 _In_ IUnknown * pDevice
Definition: mini_d3d12.h:6532
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6514
BEGIN_INTERFACE(IDXGIFactory1 *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIFactory1 _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6497
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition: mini_d3d12.h:6550
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition: mini_d3d12.h:6221
IDXGIFactory _Out_ HWND * pWindowHandle
Definition: mini_d3d12.h:6211
IDXGIFactory UINT Adapter
Definition: mini_d3d12.h:6197
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition: mini_d3d12.h:6219
IDXGIFactory HWND WindowHandle
Definition: mini_d3d12.h:6204
IDXGIFactory _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6174
IDXGIFactory _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6164
IDXGIFactory _In_ REFIID riid
Definition: mini_d3d12.h:6190
IDXGIFactory * This
Definition: mini_d3d12.h:6153
IDXGIFactory _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6182
IDXGIFactory HMODULE Module
Definition: mini_d3d12.h:6226
BEGIN_INTERFACE(IDXGIFactory *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IDXGIFactory _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory _In_ REFGUID Name
Definition: mini_d3d12.h:6163
IDXGIFactory _In_ IUnknown * pDevice
Definition: mini_d3d12.h:6217
IDXGIFactory UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6199
IDXGIFactory _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6192
IDXGIFactory _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6184
IDXGIFactory HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition: mini_d3d12.h:6228
IDXGIFactory HWND UINT Flags
Definition: mini_d3d12.h:6205
IDXGIObject _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIObject _In_ REFGUID Name
Definition: mini_d3d12.h:6032
IDXGIObject _In_ REFIID riid
Definition: mini_d3d12.h:6059
IDXGIObject _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition: mini_d3d12.h:6043
IDXGIObject _In_ REFGUID UINT DataSize
Definition: mini_d3d12.h:6033
IDXGIObject * This
Definition: mini_d3d12.h:6022
IDXGIObject _In_ REFIID _COM_Outptr_ void ** ppParent
Definition: mini_d3d12.h:6061
IDXGIObject _In_ REFGUID _Inout_ UINT * pDataSize
Definition: mini_d3d12.h:6051
IDXGIObject _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition: mini_d3d12.h:6053
BEGIN_INTERFACE(IDXGIObject *This, REFIID riid, _COM_Outptr_ void **ppvObject)
BEGIN_INTERFACE(IUnknown *This, REFIID riid, _COM_Outptr_ void **ppvObject)
IUnknown * This
Definition: mini_d3d12.h: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::@5 u
struct _LARGE_INTEGER::@4 DUMMYSTRUCTNAME