Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
mini_d3d12.h
Go to the documentation of this file.
1#ifndef __mini_d3d12_h__
2#define __mini_d3d12_h__
3
4#ifdef __clang__
5// #define __stdcall __attribute__ ((stdcall))
6#pragma clang diagnostic push
7#pragma clang diagnostic ignored "-Wunknown-pragmas"
8#pragma clang diagnostic ignored "-Wunused-value"
9#define __export
10#ifndef _WIN32
11#define _WIN32 1
12#endif //_WIN32
13#ifdef BITS_64 // <- Halide back-end compilation flag (-DBITS_${j})
14#ifndef _WIN64
15#define _WIN64 1
16#endif //_WIN64
17#else
18#define _STDCALL_SUPPORTED
19#endif
20#endif
21
22#ifndef __midl
23#define __midl
24#endif //__midl
25
26/* sal.h */
27// Clear-out SAL macros (Source-code Annotation Language)
28#ifndef _In_
29#define _In_
30#endif //_In_
31
32#ifndef _In_z_
33#define _In_z_
34#endif //_In_z_
35
36#ifndef _In_opt_
37#define _In_opt_
38#endif //_In_opt_
39
40#ifndef _Out_
41#define _Out_
42#endif //_Out_
43
44#ifndef _Out_opt_
45#define _Out_opt_
46#endif //_Out_opt_
47
48#ifndef _Inout_
49#define _Inout_
50#endif //_Inout_
51
52#ifndef _Inout_opt_
53#define _Inout_opt_
54#endif //_Inout_opt_
55
56#ifndef _COM_Outptr_
57#define _COM_Outptr_
58#endif //_COM_Outptr_
59
60#ifndef _COM_Outptr_opt_
61#define _COM_Outptr_opt_
62#endif //_COM_Outptr_opt_
63
64#ifndef _Check_return_
65#define _Check_return_
66#endif //_Check_return_
67
68#ifndef _Null_terminated_
69#define _Null_terminated_
70#endif //_Null_terminated_
71
72#ifndef _Return_type_success_
73#define _Return_type_success_(expr)
74#endif //_Return_type_success_
75
76#ifndef _Post_equal_to_
77#define _Post_equal_to_(e)
78#endif //_Post_equal_to_
79
80#ifndef _Post_satisfies_
81#define _Post_satisfies_(expr)
82#endif //_Post_satisfies_
83
84#ifndef _In_range_
85#define _In_range_(lb, ub)
86#endif //_In_range_
87
88#ifndef _In_reads_
89#define _In_reads_(size)
90#endif //_In_reads_
91
92#ifndef _In_reads_opt_
93#define _In_reads_opt_(size)
94#endif //_In_reads_opt_
95
96#ifndef _In_reads_bytes_
97#define _In_reads_bytes_(size)
98#endif //_In_reads_bytes_
99
100#ifndef _In_reads_bytes_opt_
101#define _In_reads_bytes_opt_(size)
102#endif //_In_reads_bytes_opt_
103
104#ifndef _Out_writes_
105#define _Out_writes_(size)
106#endif //_Out_writes_
107
108#ifndef _Out_writes_opt_
109#define _Out_writes_opt_(size)
110#endif //_Out_writes_opt_
111
112#ifndef _Out_writes_bytes_
113#define _Out_writes_bytes_(size)
114#endif //_Out_writes_bytes_
115
116#ifndef _Out_writes_bytes_opt_
117#define _Out_writes_bytes_opt_(size)
118#endif //_Out_writes_bytes_opt_
119
120#ifndef _Inout_updates_bytes_
121#define _Inout_updates_bytes_(size)
122#endif //_Inout_updates_bytes_
123
124#ifndef _Field_size_full_
125#define _Field_size_full_(size)
126#endif //_Field_size_full_
127
128#ifndef _Field_size_bytes_full_
129#define _Field_size_bytes_full_(size)
130#endif //_Field_size_bytes_full_
131
132#ifndef _Outptr_opt_result_bytebuffer_
133#define _Outptr_opt_result_bytebuffer_(size)
134#endif //_Outptr_opt_result_bytebuffer_
135
136#ifndef _Must_inspect_result_
137#define _Must_inspect_result_
138#endif //_Must_inspect_result_
139
140#ifndef __specstrings
141#define __specstrings
142#endif //__specstrings
143
144#ifndef _Always_
145#define _Always_(annos)
146#endif //_Always_
147
148/* rpcsal.h */
149#ifndef __RPC_string
150#define __RPC_string
151#endif //__RPC_string
152
153#ifndef __RPC__deref_out
154#define __RPC__deref_out
155#endif //__RPC__deref_out
156
157/* minwindef.h */
158/*
159 * On ARM and x64 processors, __stdcall is accepted and ignored by the compiler;
160 * on ARM and x64 architectures, by convention, arguments are passed in registers
161 * when possible, and subsequent arguments are passed on the stack.
162 */
163#define WINAPI __stdcall
164
165#define VOID void
166 typedef char CHAR;
167 typedef short SHORT;
168 typedef unsigned char BYTE;
169 typedef unsigned short WORD;
170#ifdef __clang__
171// must enforce LLP64 for Windows x64 ...
172 typedef int32_t LONG; // long is 64bits on clang-x64
173 typedef int32_t INT; // and so is int as well...
174 typedef uint32_t ULONG;
175 typedef uint32_t UINT;
176 typedef uint32_t DWORD;
177#else
178 typedef long LONG;
179 typedef int INT;
180 typedef unsigned long ULONG;
181 typedef unsigned int UINT;
182 typedef unsigned long DWORD;
183#endif
184 typedef float FLOAT;
185
186#define CONST const
187#define far
188#define near
189 typedef CONST void far *LPCVOID;
190 typedef void far *LPVOID;
191
192 typedef INT BOOL;
193
194#ifdef __clang__
195 typedef unsigned short WCHAR; // clang's wchar_t is 32bits by default...
196#else
197#ifndef _MAC
198 typedef 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
201 typedef unsigned short WCHAR; // wc, 16-bit UNICODE character
202#endif
203#endif
204 typedef _Null_terminated_ CHAR *NPSTR, *LPSTR, *PSTR;
205 typedef _Null_terminated_ CONST CHAR *LPCSTR, *PCSTR;
206 typedef _Null_terminated_ CONST WCHAR *LPCWSTR, *PCWSTR;
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 */
220 typedef CHAR INT8, *PINT8;
221 typedef SHORT INT16, *PINT16;
222 typedef INT INT32, *PINT32;
223 typedef BYTE UINT8, *PUINT8;
224 typedef WORD UINT16, *PUINT16;
225 typedef UINT UINT32, *PUINT32;
226#ifdef __clang__
227 typedef int64_t INT64, *PINT64;
228 typedef uint64_t UINT64, *PUINT64;
229#else
230 typedef __int64 INT64, *PINT64;
231 typedef 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)
241 typedef INT64 INT_PTR, *PINT_PTR;
242 typedef UINT64 UINT_PTR, *PUINT_PTR;
243
244 typedef INT64 LONG_PTR, *PLONG_PTR;
245 typedef UINT64 ULONG_PTR, *PULONG_PTR;
246
247#define __int3264 INT64
248
249#else
250 typedef _W64 INT32 INT_PTR, *PINT_PTR;
251 typedef _W64 UINT32 UINT_PTR, *PUINT_PTR;
252
253 typedef _W64 INT32 LONG_PTR, *PLONG_PTR;
254 typedef _W64 UINT32 ULONG_PTR, *PULONG_PTR;
255
256#define __int3264 INT32
257
258#endif
259 typedef ULONG_PTR SIZE_T, *PSIZE_T;
260 typedef LONG_PTR SSIZE_T, *PSSIZE_T;
261
262#ifndef NO_STRICT
263#ifndef STRICT
264#define STRICT 1
265#endif
266#endif /* NO_STRICT */
267
268/* minwinbase.h */
269 typedef struct _SECURITY_ATTRIBUTES {
270 DWORD nLength;
271 LPVOID lpSecurityDescriptor;
272 BOOL bInheritHandle;
273} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
274
275/* winnt.h */
276#ifdef __clang__
277 typedef int64_t LONGLONG;
278#else
279 typedef __int64 LONGLONG;
280#endif
281
282 typedef _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
310 typedef union _LARGE_INTEGER {
311 struct {
312 DWORD LowPart;
313 LONG HighPart;
314 } DUMMYSTRUCTNAME;
315 struct {
316 DWORD LowPart;
317 LONG HighPart;
318 } u;
319 LONGLONG QuadPart;
320} LARGE_INTEGER;
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.
348 extern "C++" {
349
350 template<size_t S>
351 struct _ENUM_FLAG_INTEGER_FOR_SIZE;
352
353 template<>
354 struct _ENUM_FLAG_INTEGER_FOR_SIZE<1> {
355 typedef INT8 type;
356};
357
358 template<>
359 struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> {
360 typedef INT16 type;
361};
362
363 template<>
364 struct _ENUM_FLAG_INTEGER_FOR_SIZE<4> {
365 typedef INT32 type;
366};
367
368// used as an approximation of std::underlying_type<T>
369 template<class T>
370 struct _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
426 typedef 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
439 typedef PVOID HANDLE;
440#define DECLARE_HANDLE(name) typedef HANDLE name
441#endif
442 typedef HANDLE *PHANDLE;
443
444/* windef.h */
445 typedef struct tagRECT {
446 LONG left;
447 LONG top;
448 LONG right;
449 LONG bottom;
450} RECT, *PRECT, NEAR *NPRECT, FAR *LPRECT;
451
452 DECLARE_HANDLE(HWND);
453
454/* minwindef.h (2) */
455 DECLARE_HANDLE(HINSTANCE);
456 typedef 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 */
467 typedef struct _GUID {
468 DWORD Data1;
469 WORD Data2;
470 WORD Data3;
471 BYTE Data4[8];
472} GUID;
473 typedef GUID IID;
474 typedef 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)
512 typedef _Return_type_success_(return == 0) LONG RPC_STATUS;
513#else
514 typedef 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
531 typedef void *I_RPC_HANDLE;
532
533/* rpcdce.h */
534#ifndef UUID_DEFINED
535#define UUID_DEFINED
536 typedef GUID UUID;
537#ifndef uuid_t
538#define uuid_t UUID
539#endif
540#endif
541
542 typedef I_RPC_HANDLE RPC_BINDING_HANDLE;
543 typedef RPC_BINDING_HANDLE handle_t;
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
551 typedef struct _RPC_VERSION {
552 unsigned short MajorVersion;
553 unsigned short MinorVersion;
554} RPC_VERSION;
555
556 typedef struct _RPC_SYNTAX_IDENTIFIER {
557 GUID SyntaxGUID;
558 RPC_VERSION SyntaxVersion;
559} RPC_SYNTAX_IDENTIFIER, __RPC_FAR *PRPC_SYNTAX_IDENTIFIER;
560
561 typedef struct _RPC_MESSAGE {
562 RPC_BINDING_HANDLE Handle;
563 unsigned long DataRepresentation;
564 void __RPC_FAR *Buffer;
565 unsigned int BufferLength;
566 unsigned int ProcNum;
567 PRPC_SYNTAX_IDENTIFIER TransferSyntax;
568 void __RPC_FAR *RpcInterfaceInformation;
569 void __RPC_FAR *ReservedForRuntime;
570 RPC_MGR_EPV __RPC_FAR *ManagerEpv;
571 void __RPC_FAR *ImportContext;
572 unsigned long RpcFlags;
573} RPC_MESSAGE, __RPC_FAR *PRPC_MESSAGE;
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__
673 typedef interface IUnknown IUnknown;
674
675#endif /* __IUnknown_FWD_DEFINED__ */
676
677 extern "C++" {
678 template<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
742 typedef interface IRpcStubBuffer IRpcStubBuffer;
743 typedef interface IRpcChannelBuffer IRpcChannelBuffer;
744
745/* Unknwn.h */
746#ifndef __IUnknown_FWD_DEFINED__
747#define __IUnknown_FWD_DEFINED__
748 typedef 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
758 typedef /* [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)
766 EXTERN_C const IID IID_IUnknown;
767 extern "C++" {
768 MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
769 IUnknown {
770 public:
771 BEGIN_INTERFACE
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
785 STDMETHODCALLTYPE
786#endif
787 QueryInterface(_COM_Outptr_ Q * *pp) {
788 return QueryInterface(__uuidof(Q), (void **)pp);
789 }
790
791 END_INTERFACE
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
799 void __RPC_STUB IUnknown_QueryInterface_Stub(
800 IRpcStubBuffer *This,
801 IRpcChannelBuffer *_pRpcChannelBuffer,
802 PRPC_MESSAGE _pRpcMessage,
803 DWORD *_pdwStubPhase);
804
805 ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
806 IUnknown __RPC_FAR *This);
807
808 void __RPC_STUB IUnknown_AddRef_Stub(
809 IRpcStubBuffer *This,
810 IRpcChannelBuffer *_pRpcChannelBuffer,
811 PRPC_MESSAGE _pRpcMessage,
812 DWORD *_pdwStubPhase);
813
814 ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
815 IUnknown __RPC_FAR *This);
816
817 void __RPC_STUB IUnknown_Release_Stub(
818 IRpcStubBuffer *This,
819 IRpcChannelBuffer *_pRpcChannelBuffer,
820 PRPC_MESSAGE _pRpcMessage,
821 DWORD *_pdwStubPhase);
822#else
823
824 EXTERN_C const IID IID_IUnknown;
825
826#if defined(__cplusplus) && !defined(CINTERFACE)
827
828 MIDL_INTERFACE("00000000-0000-0000-C000-000000000046")
829 IUnknown {
830 public:
831 BEGIN_INTERFACE
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
841 END_INTERFACE
842};
843
844#else /* C style interface */
845
846 typedef struct IUnknownVtbl {
847 BEGIN_INTERFACE
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 (
858 IUnknown *This);
859
860 ULONG(STDMETHODCALLTYPE *Release)
861 (
862 IUnknown *This);
863
864 END_INTERFACE
865} IUnknownVtbl;
866
867 interface 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
894 void __RPC_STUB IUnknown_QueryInterface_Stub(
895 IRpcStubBuffer *This,
896 IRpcChannelBuffer *_pRpcChannelBuffer,
897 PRPC_MESSAGE _pRpcMessage,
898 DWORD *_pdwStubPhase);
899
900
901 ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(
902 IUnknown * This);
903
904
905 void __RPC_STUB IUnknown_AddRef_Stub(
906 IRpcStubBuffer *This,
907 IRpcChannelBuffer *_pRpcChannelBuffer,
908 PRPC_MESSAGE _pRpcMessage,
909 DWORD *_pdwStubPhase);
910
911
912 ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(
913 IUnknown * This);
914
915
916 void __RPC_STUB IUnknown_Release_Stub(
917 IRpcStubBuffer *This,
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)
929 typedef WCHAR OLECHAR;
930
931 typedef /* [string] */ __RPC_string OLECHAR *LPOLESTR;
932
933 typedef /* [string] */ __RPC_string const OLECHAR *LPCOLESTR;
934
935#define OLESTR(str) L##str
936
937#else
938
939 typedef char OLECHAR;
940 typedef LPSTR LPOLESTR;
941 typedef LPCSTR LPCOLESTR;
942#define OLESTR(str) str
943#endif
944
945/* d3dcommon.h */
946#ifdef __cplusplus
947 extern "C" {
948#endif
949
950 typedef enum D3D_FEATURE_LEVEL {
951 D3D_FEATURE_LEVEL_9_1 = 0x9100,
952 D3D_FEATURE_LEVEL_9_2 = 0x9200,
953 D3D_FEATURE_LEVEL_9_3 = 0x9300,
954 D3D_FEATURE_LEVEL_10_0 = 0xa000,
955 D3D_FEATURE_LEVEL_10_1 = 0xa100,
956 D3D_FEATURE_LEVEL_11_0 = 0xb000,
957 D3D_FEATURE_LEVEL_11_1 = 0xb100,
958 D3D_FEATURE_LEVEL_12_0 = 0xc000,
959 D3D_FEATURE_LEVEL_12_1 = 0xc100
960} D3D_FEATURE_LEVEL;
961
962 typedef enum D3D_PRIMITIVE_TOPOLOGY {
963 D3D_PRIMITIVE_TOPOLOGY_UNDEFINED = 0,
964 D3D_PRIMITIVE_TOPOLOGY_POINTLIST = 1,
965 D3D_PRIMITIVE_TOPOLOGY_LINELIST = 2,
966 D3D_PRIMITIVE_TOPOLOGY_LINESTRIP = 3,
967 D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST = 4,
968 D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = 5,
969 D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = 10,
970 D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = 11,
971 D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = 12,
972 D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = 13,
973 D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = 33,
974 D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = 34,
975 D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = 35,
976 D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = 36,
977 D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = 37,
978 D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = 38,
979 D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = 39,
980 D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = 40,
981 D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = 41,
982 D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = 42,
983 D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = 43,
984 D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = 44,
985 D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = 45,
986 D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = 46,
987 D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = 47,
988 D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = 48,
989 D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = 49,
990 D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = 50,
991 D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = 51,
992 D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = 52,
993 D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = 53,
994 D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = 54,
995 D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = 55,
996 D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = 56,
997 D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = 57,
998 D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = 58,
999 D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = 59,
1000 D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = 60,
1001 D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = 61,
1002 D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = 62,
1003 D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = 63,
1004 D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = 64,
1005 D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
1006 D3D10_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
1007 D3D10_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
1008 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
1009 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
1010 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
1011 D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
1012 D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
1013 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
1014 D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
1015 D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED = D3D_PRIMITIVE_TOPOLOGY_UNDEFINED,
1016 D3D11_PRIMITIVE_TOPOLOGY_POINTLIST = D3D_PRIMITIVE_TOPOLOGY_POINTLIST,
1017 D3D11_PRIMITIVE_TOPOLOGY_LINELIST = D3D_PRIMITIVE_TOPOLOGY_LINELIST,
1018 D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP,
1019 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST,
1020 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP,
1021 D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ,
1022 D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ,
1023 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ,
1024 D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ = D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ,
1025 D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST,
1026 D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST,
1027 D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST,
1028 D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST,
1029 D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST,
1030 D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST,
1031 D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST,
1032 D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST,
1033 D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST,
1034 D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST,
1035 D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST,
1036 D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST,
1037 D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST,
1038 D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST,
1039 D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST,
1040 D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST,
1041 D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST,
1042 D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST,
1043 D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST,
1044 D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST,
1045 D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST,
1046 D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST,
1047 D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST,
1048 D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST,
1049 D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST,
1050 D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST,
1051 D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST,
1052 D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST,
1053 D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST,
1054 D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST,
1055 D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST,
1056 D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST = D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
1057} D3D_PRIMITIVE_TOPOLOGY;
1058
1059#ifdef __cplusplus
1060}
1061#endif
1062
1063/* dxgiformat.h */
1064 typedef enum DXGI_FORMAT {
1065 DXGI_FORMAT_UNKNOWN = 0,
1066 DXGI_FORMAT_R32G32B32A32_TYPELESS = 1,
1067 DXGI_FORMAT_R32G32B32A32_FLOAT = 2,
1068 DXGI_FORMAT_R32G32B32A32_UINT = 3,
1069 DXGI_FORMAT_R32G32B32A32_SINT = 4,
1070 DXGI_FORMAT_R32G32B32_TYPELESS = 5,
1071 DXGI_FORMAT_R32G32B32_FLOAT = 6,
1072 DXGI_FORMAT_R32G32B32_UINT = 7,
1073 DXGI_FORMAT_R32G32B32_SINT = 8,
1074 DXGI_FORMAT_R16G16B16A16_TYPELESS = 9,
1075 DXGI_FORMAT_R16G16B16A16_FLOAT = 10,
1076 DXGI_FORMAT_R16G16B16A16_UNORM = 11,
1077 DXGI_FORMAT_R16G16B16A16_UINT = 12,
1078 DXGI_FORMAT_R16G16B16A16_SNORM = 13,
1079 DXGI_FORMAT_R16G16B16A16_SINT = 14,
1080 DXGI_FORMAT_R32G32_TYPELESS = 15,
1081 DXGI_FORMAT_R32G32_FLOAT = 16,
1082 DXGI_FORMAT_R32G32_UINT = 17,
1083 DXGI_FORMAT_R32G32_SINT = 18,
1084 DXGI_FORMAT_R32G8X24_TYPELESS = 19,
1085 DXGI_FORMAT_D32_FLOAT_S8X24_UINT = 20,
1086 DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS = 21,
1087 DXGI_FORMAT_X32_TYPELESS_G8X24_UINT = 22,
1088 DXGI_FORMAT_R10G10B10A2_TYPELESS = 23,
1089 DXGI_FORMAT_R10G10B10A2_UNORM = 24,
1090 DXGI_FORMAT_R10G10B10A2_UINT = 25,
1091 DXGI_FORMAT_R11G11B10_FLOAT = 26,
1092 DXGI_FORMAT_R8G8B8A8_TYPELESS = 27,
1093 DXGI_FORMAT_R8G8B8A8_UNORM = 28,
1094 DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = 29,
1095 DXGI_FORMAT_R8G8B8A8_UINT = 30,
1096 DXGI_FORMAT_R8G8B8A8_SNORM = 31,
1097 DXGI_FORMAT_R8G8B8A8_SINT = 32,
1098 DXGI_FORMAT_R16G16_TYPELESS = 33,
1099 DXGI_FORMAT_R16G16_FLOAT = 34,
1100 DXGI_FORMAT_R16G16_UNORM = 35,
1101 DXGI_FORMAT_R16G16_UINT = 36,
1102 DXGI_FORMAT_R16G16_SNORM = 37,
1103 DXGI_FORMAT_R16G16_SINT = 38,
1104 DXGI_FORMAT_R32_TYPELESS = 39,
1105 DXGI_FORMAT_D32_FLOAT = 40,
1106 DXGI_FORMAT_R32_FLOAT = 41,
1107 DXGI_FORMAT_R32_UINT = 42,
1108 DXGI_FORMAT_R32_SINT = 43,
1109 DXGI_FORMAT_R24G8_TYPELESS = 44,
1110 DXGI_FORMAT_D24_UNORM_S8_UINT = 45,
1111 DXGI_FORMAT_R24_UNORM_X8_TYPELESS = 46,
1112 DXGI_FORMAT_X24_TYPELESS_G8_UINT = 47,
1113 DXGI_FORMAT_R8G8_TYPELESS = 48,
1114 DXGI_FORMAT_R8G8_UNORM = 49,
1115 DXGI_FORMAT_R8G8_UINT = 50,
1116 DXGI_FORMAT_R8G8_SNORM = 51,
1117 DXGI_FORMAT_R8G8_SINT = 52,
1118 DXGI_FORMAT_R16_TYPELESS = 53,
1119 DXGI_FORMAT_R16_FLOAT = 54,
1120 DXGI_FORMAT_D16_UNORM = 55,
1121 DXGI_FORMAT_R16_UNORM = 56,
1122 DXGI_FORMAT_R16_UINT = 57,
1123 DXGI_FORMAT_R16_SNORM = 58,
1124 DXGI_FORMAT_R16_SINT = 59,
1125 DXGI_FORMAT_R8_TYPELESS = 60,
1126 DXGI_FORMAT_R8_UNORM = 61,
1127 DXGI_FORMAT_R8_UINT = 62,
1128 DXGI_FORMAT_R8_SNORM = 63,
1129 DXGI_FORMAT_R8_SINT = 64,
1130 DXGI_FORMAT_A8_UNORM = 65,
1131 DXGI_FORMAT_R1_UNORM = 66,
1132 DXGI_FORMAT_R9G9B9E5_SHAREDEXP = 67,
1133 DXGI_FORMAT_R8G8_B8G8_UNORM = 68,
1134 DXGI_FORMAT_G8R8_G8B8_UNORM = 69,
1135 DXGI_FORMAT_BC1_TYPELESS = 70,
1136 DXGI_FORMAT_BC1_UNORM = 71,
1137 DXGI_FORMAT_BC1_UNORM_SRGB = 72,
1138 DXGI_FORMAT_BC2_TYPELESS = 73,
1139 DXGI_FORMAT_BC2_UNORM = 74,
1140 DXGI_FORMAT_BC2_UNORM_SRGB = 75,
1141 DXGI_FORMAT_BC3_TYPELESS = 76,
1142 DXGI_FORMAT_BC3_UNORM = 77,
1143 DXGI_FORMAT_BC3_UNORM_SRGB = 78,
1144 DXGI_FORMAT_BC4_TYPELESS = 79,
1145 DXGI_FORMAT_BC4_UNORM = 80,
1146 DXGI_FORMAT_BC4_SNORM = 81,
1147 DXGI_FORMAT_BC5_TYPELESS = 82,
1148 DXGI_FORMAT_BC5_UNORM = 83,
1149 DXGI_FORMAT_BC5_SNORM = 84,
1150 DXGI_FORMAT_B5G6R5_UNORM = 85,
1151 DXGI_FORMAT_B5G5R5A1_UNORM = 86,
1152 DXGI_FORMAT_B8G8R8A8_UNORM = 87,
1153 DXGI_FORMAT_B8G8R8X8_UNORM = 88,
1154 DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM = 89,
1155 DXGI_FORMAT_B8G8R8A8_TYPELESS = 90,
1156 DXGI_FORMAT_B8G8R8A8_UNORM_SRGB = 91,
1157 DXGI_FORMAT_B8G8R8X8_TYPELESS = 92,
1158 DXGI_FORMAT_B8G8R8X8_UNORM_SRGB = 93,
1159 DXGI_FORMAT_BC6H_TYPELESS = 94,
1160 DXGI_FORMAT_BC6H_UF16 = 95,
1161 DXGI_FORMAT_BC6H_SF16 = 96,
1162 DXGI_FORMAT_BC7_TYPELESS = 97,
1163 DXGI_FORMAT_BC7_UNORM = 98,
1164 DXGI_FORMAT_BC7_UNORM_SRGB = 99,
1165 DXGI_FORMAT_AYUV = 100,
1166 DXGI_FORMAT_Y410 = 101,
1167 DXGI_FORMAT_Y416 = 102,
1168 DXGI_FORMAT_NV12 = 103,
1169 DXGI_FORMAT_P010 = 104,
1170 DXGI_FORMAT_P016 = 105,
1171 DXGI_FORMAT_420_OPAQUE = 106,
1172 DXGI_FORMAT_YUY2 = 107,
1173 DXGI_FORMAT_Y210 = 108,
1174 DXGI_FORMAT_Y216 = 109,
1175 DXGI_FORMAT_NV11 = 110,
1176 DXGI_FORMAT_AI44 = 111,
1177 DXGI_FORMAT_IA44 = 112,
1178 DXGI_FORMAT_P8 = 113,
1179 DXGI_FORMAT_A8P8 = 114,
1180 DXGI_FORMAT_B4G4R4A4_UNORM = 115,
1181 DXGI_FORMAT_FORCE_UINT = 0xffffffff
1182} DXGI_FORMAT;
1183
1184/* dxgitype.h */
1185 typedef struct DXGI_SAMPLE_DESC {
1186 UINT Count;
1187 UINT Quality;
1188} DXGI_SAMPLE_DESC;
1189
1190/* d3dcommon.h */
1191 typedef enum _D3D_INCLUDE_TYPE {
1192 D3D_INCLUDE_LOCAL = 0,
1193 D3D_INCLUDE_SYSTEM = (D3D_INCLUDE_LOCAL + 1),
1194 D3D10_INCLUDE_LOCAL = D3D_INCLUDE_LOCAL,
1195 D3D10_INCLUDE_SYSTEM = D3D_INCLUDE_SYSTEM,
1196 D3D_INCLUDE_FORCE_DWORD = 0x7fffffff
1197} D3D_INCLUDE_TYPE;
1198
1199 typedef interface ID3DInclude ID3DInclude;
1200#undef INTERFACE
1201#define INTERFACE ID3DInclude
1202 DECLARE_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
1209 typedef struct _D3D_SHADER_MACRO {
1210 LPCSTR Name;
1211 LPCSTR Definition;
1212} D3D_SHADER_MACRO;
1213
1214 typedef struct _D3D_SHADER_MACRO *LPD3D_SHADER_MACRO;
1215
1216#if defined(__cplusplus) && !defined(CINTERFACE)
1217
1218 MIDL_INTERFACE("8BA5FB08-5195-40e2-AC58-0D989C3A0102")
1219 ID3D10Blob : public IUnknown {
1220 public:
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__
1230 typedef interface ID3D10Blob ID3D10Blob;
1231
1232#endif /* __ID3D10Blob_FWD_DEFINED__ */
1233
1234 typedef struct ID3D10BlobVtbl {
1235 BEGIN_INTERFACE
1236
1237 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1238 (
1239 ID3D10Blob *This,
1240 /* [in] */ REFIID riid,
1241 /* [annotation][iid_is][out] */
1242 _COM_Outptr_ void **ppvObject);
1243
1244 ULONG(STDMETHODCALLTYPE *AddRef)
1245 (
1246 ID3D10Blob *This);
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
1260 END_INTERFACE
1261} ID3D10BlobVtbl;
1262
1263 interface 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
1288 typedef interface ID3D10Blob *LPD3D10BLOB;
1289 typedef ID3D10Blob ID3DBlob;
1290
1291 typedef ID3DBlob *LPD3DBLOB;
1292#define IID_ID3DBlob IID_ID3D10Blob
1293
1294/* d3d12.h */
1295/* Forward Declarations */
1296
1297#ifndef __ID3D12Object_FWD_DEFINED__
1298#define __ID3D12Object_FWD_DEFINED__
1299 typedef interface ID3D12Object ID3D12Object;
1300
1301#endif /* __ID3D12Object_FWD_DEFINED__ */
1302
1303#ifndef __ID3D12DeviceChild_FWD_DEFINED__
1304#define __ID3D12DeviceChild_FWD_DEFINED__
1305 typedef interface ID3D12DeviceChild ID3D12DeviceChild;
1306
1307#endif /* __ID3D12DeviceChild_FWD_DEFINED__ */
1308
1309#ifndef __ID3D12RootSignature_FWD_DEFINED__
1310#define __ID3D12RootSignature_FWD_DEFINED__
1311 typedef interface ID3D12RootSignature ID3D12RootSignature;
1312
1313#endif /* __ID3D12RootSignature_FWD_DEFINED__ */
1314
1315#ifndef __ID3D12RootSignatureDeserializer_FWD_DEFINED__
1316#define __ID3D12RootSignatureDeserializer_FWD_DEFINED__
1317 typedef interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer;
1318
1319#endif /* __ID3D12RootSignatureDeserializer_FWD_DEFINED__ */
1320
1321#ifndef __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
1322#define __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__
1323 typedef interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer;
1324
1325#endif /* __ID3D12VersionedRootSignatureDeserializer_FWD_DEFINED__ */
1326
1327#ifndef __ID3D12Pageable_FWD_DEFINED__
1328#define __ID3D12Pageable_FWD_DEFINED__
1329 typedef interface ID3D12Pageable ID3D12Pageable;
1330
1331#endif /* __ID3D12Pageable_FWD_DEFINED__ */
1332
1333#ifndef __ID3D12Heap_FWD_DEFINED__
1334#define __ID3D12Heap_FWD_DEFINED__
1335 typedef interface ID3D12Heap ID3D12Heap;
1336
1337#endif /* __ID3D12Heap_FWD_DEFINED__ */
1338
1339#ifndef __ID3D12Resource_FWD_DEFINED__
1340#define __ID3D12Resource_FWD_DEFINED__
1341 typedef interface ID3D12Resource ID3D12Resource;
1342
1343#endif /* __ID3D12Resource_FWD_DEFINED__ */
1344
1345#ifndef __ID3D12CommandAllocator_FWD_DEFINED__
1346#define __ID3D12CommandAllocator_FWD_DEFINED__
1347 typedef interface ID3D12CommandAllocator ID3D12CommandAllocator;
1348
1349#endif /* __ID3D12CommandAllocator_FWD_DEFINED__ */
1350
1351#ifndef __ID3D12Fence_FWD_DEFINED__
1352#define __ID3D12Fence_FWD_DEFINED__
1353 typedef interface ID3D12Fence ID3D12Fence;
1354
1355#endif /* __ID3D12Fence_FWD_DEFINED__ */
1356
1357#ifndef __ID3D12PipelineState_FWD_DEFINED__
1358#define __ID3D12PipelineState_FWD_DEFINED__
1359 typedef interface ID3D12PipelineState ID3D12PipelineState;
1360
1361#endif /* __ID3D12PipelineState_FWD_DEFINED__ */
1362
1363#ifndef __ID3D12DescriptorHeap_FWD_DEFINED__
1364#define __ID3D12DescriptorHeap_FWD_DEFINED__
1365 typedef interface ID3D12DescriptorHeap ID3D12DescriptorHeap;
1366
1367#endif /* __ID3D12DescriptorHeap_FWD_DEFINED__ */
1368
1369#ifndef __ID3D12QueryHeap_FWD_DEFINED__
1370#define __ID3D12QueryHeap_FWD_DEFINED__
1371 typedef interface ID3D12QueryHeap ID3D12QueryHeap;
1372
1373#endif /* __ID3D12QueryHeap_FWD_DEFINED__ */
1374
1375#ifndef __ID3D12CommandSignature_FWD_DEFINED__
1376#define __ID3D12CommandSignature_FWD_DEFINED__
1377 typedef interface ID3D12CommandSignature ID3D12CommandSignature;
1378
1379#endif /* __ID3D12CommandSignature_FWD_DEFINED__ */
1380
1381#ifndef __ID3D12CommandList_FWD_DEFINED__
1382#define __ID3D12CommandList_FWD_DEFINED__
1383 typedef interface ID3D12CommandList ID3D12CommandList;
1384
1385#endif /* __ID3D12CommandList_FWD_DEFINED__ */
1386
1387#ifndef __ID3D12GraphicsCommandList_FWD_DEFINED__
1388#define __ID3D12GraphicsCommandList_FWD_DEFINED__
1389 typedef interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList;
1390
1391#endif /* __ID3D12GraphicsCommandList_FWD_DEFINED__ */
1392
1393#ifndef __ID3D12GraphicsCommandList1_FWD_DEFINED__
1394#define __ID3D12GraphicsCommandList1_FWD_DEFINED__
1395 typedef interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1;
1396
1397#endif /* __ID3D12GraphicsCommandList1_FWD_DEFINED__ */
1398
1399#ifndef __ID3D12CommandQueue_FWD_DEFINED__
1400#define __ID3D12CommandQueue_FWD_DEFINED__
1401 typedef interface ID3D12CommandQueue ID3D12CommandQueue;
1402
1403#endif /* __ID3D12CommandQueue_FWD_DEFINED__ */
1404
1405#ifndef __ID3D12Device_FWD_DEFINED__
1406#define __ID3D12Device_FWD_DEFINED__
1407 typedef interface ID3D12Device ID3D12Device;
1408
1409#endif /* __ID3D12Device_FWD_DEFINED__ */
1410
1411#ifndef __ID3D12PipelineLibrary_FWD_DEFINED__
1412#define __ID3D12PipelineLibrary_FWD_DEFINED__
1413 typedef interface ID3D12PipelineLibrary ID3D12PipelineLibrary;
1414
1415#endif /* __ID3D12PipelineLibrary_FWD_DEFINED__ */
1416
1417#ifndef __ID3D12PipelineLibrary1_FWD_DEFINED__
1418#define __ID3D12PipelineLibrary1_FWD_DEFINED__
1419 typedef interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1;
1420
1421#endif /* __ID3D12PipelineLibrary1_FWD_DEFINED__ */
1422
1423#ifndef __ID3D12Device1_FWD_DEFINED__
1424#define __ID3D12Device1_FWD_DEFINED__
1425 typedef interface ID3D12Device1 ID3D12Device1;
1426
1427#endif /* __ID3D12Device1_FWD_DEFINED__ */
1428
1429#ifndef __ID3D12Device2_FWD_DEFINED__
1430#define __ID3D12Device2_FWD_DEFINED__
1431 typedef interface ID3D12Device2 ID3D12Device2;
1432
1433#endif /* __ID3D12Device2_FWD_DEFINED__ */
1434
1435#ifndef __ID3D12Tools_FWD_DEFINED__
1436#define __ID3D12Tools_FWD_DEFINED__
1437 typedef interface ID3D12Tools ID3D12Tools;
1438
1439#endif /* __ID3D12Tools_FWD_DEFINED__ */
1440
1441#ifdef __cplusplus
1442 extern "C" {
1443#endif
1444
1445#if defined(__cplusplus) && !defined(CINTERFACE)
1446
1447 MIDL_INTERFACE("c4fec28f-7966-4e95-9f94-f431cb56c3b8")
1448 ID3D12Object : public IUnknown {
1449 public:
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
1470 typedef struct ID3D12ObjectVtbl {
1471 BEGIN_INTERFACE
1472
1473 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1474 (
1475 ID3D12Object *This,
1476 REFIID riid,
1477 _COM_Outptr_ void **ppvObject);
1478
1479 ULONG(STDMETHODCALLTYPE *AddRef)
1480 (
1481 ID3D12Object *This);
1482
1483 ULONG(STDMETHODCALLTYPE *Release)
1484 (
1485 ID3D12Object *This);
1486
1487 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1488 (
1489 ID3D12Object *This,
1490 _In_ REFGUID guid,
1491 _Inout_ UINT *pDataSize,
1492 _Out_writes_bytes_opt_(*pDataSize) void *pData);
1493
1494 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1495 (
1496 ID3D12Object *This,
1497 _In_ REFGUID guid,
1498 _In_ UINT DataSize,
1499 _In_reads_bytes_opt_(DataSize) const void *pData);
1500
1501 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1502 (
1503 ID3D12Object *This,
1504 _In_ REFGUID guid,
1505 _In_opt_ const IUnknown *pData);
1506
1507 HRESULT(STDMETHODCALLTYPE *SetName)
1508 (
1509 ID3D12Object *This,
1510 _In_z_ LPCWSTR Name);
1511
1512 END_INTERFACE
1513} ID3D12ObjectVtbl;
1514
1515 interface 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
1548 MIDL_INTERFACE("905db94b-a00c-4140-9df5-2b64ca9ea357")
1549 ID3D12DeviceChild : public ID3D12Object {
1550 public:
1551 virtual HRESULT STDMETHODCALLTYPE GetDevice(
1552 REFIID riid,
1553 _COM_Outptr_opt_ void **ppvDevice) = 0;
1554};
1555
1556#else /* C style interface */
1557
1558 typedef struct ID3D12DeviceChildVtbl {
1559 BEGIN_INTERFACE
1560
1561 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1562 (
1563 ID3D12DeviceChild *This,
1564 REFIID riid,
1565 _COM_Outptr_ void **ppvObject);
1566
1567 ULONG(STDMETHODCALLTYPE *AddRef)
1568 (
1569 ID3D12DeviceChild *This);
1570
1571 ULONG(STDMETHODCALLTYPE *Release)
1572 (
1573 ID3D12DeviceChild *This);
1574
1575 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1576 (
1577 ID3D12DeviceChild *This,
1578 _In_ REFGUID guid,
1579 _Inout_ UINT *pDataSize,
1580 _Out_writes_bytes_opt_(*pDataSize) void *pData);
1581
1582 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1583 (
1584 ID3D12DeviceChild *This,
1585 _In_ REFGUID guid,
1586 _In_ UINT DataSize,
1587 _In_reads_bytes_opt_(DataSize) const void *pData);
1588
1589 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1590 (
1591 ID3D12DeviceChild *This,
1592 _In_ REFGUID guid,
1593 _In_opt_ const IUnknown *pData);
1594
1595 HRESULT(STDMETHODCALLTYPE *SetName)
1596 (
1597 ID3D12DeviceChild *This,
1598 _In_z_ LPCWSTR Name);
1599
1600 HRESULT(STDMETHODCALLTYPE *GetDevice)
1601 (
1602 ID3D12DeviceChild *This,
1603 REFIID riid,
1604 _COM_Outptr_opt_ void **ppvDevice);
1605
1606 END_INTERFACE
1607} ID3D12DeviceChildVtbl;
1608
1609 interface 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
1645 MIDL_INTERFACE("c54a6b66-72df-4ee8-8be5-a946a1429214")
1646 ID3D12RootSignature : public ID3D12DeviceChild{
1647 public :
1648};
1649
1650#else /* C style interface */
1651
1652 typedef struct ID3D12RootSignatureVtbl {
1653 BEGIN_INTERFACE
1654
1655 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1656 (
1657 ID3D12RootSignature *This,
1658 REFIID riid,
1659 _COM_Outptr_ void **ppvObject);
1660
1661 ULONG(STDMETHODCALLTYPE *AddRef)
1662 (
1663 ID3D12RootSignature *This);
1664
1665 ULONG(STDMETHODCALLTYPE *Release)
1666 (
1667 ID3D12RootSignature *This);
1668
1669 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1670 (
1671 ID3D12RootSignature *This,
1672 _In_ REFGUID guid,
1673 _Inout_ UINT *pDataSize,
1674 _Out_writes_bytes_opt_(*pDataSize) void *pData);
1675
1676 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1677 (
1678 ID3D12RootSignature *This,
1679 _In_ REFGUID guid,
1680 _In_ UINT DataSize,
1681 _In_reads_bytes_opt_(DataSize) const void *pData);
1682
1683 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1684 (
1685 ID3D12RootSignature *This,
1686 _In_ REFGUID guid,
1687 _In_opt_ const IUnknown *pData);
1688
1689 HRESULT(STDMETHODCALLTYPE *SetName)
1690 (
1691 ID3D12RootSignature *This,
1692 _In_z_ LPCWSTR Name);
1693
1694 HRESULT(STDMETHODCALLTYPE *GetDevice)
1695 (
1696 ID3D12RootSignature *This,
1697 REFIID riid,
1698 _COM_Outptr_opt_ void **ppvDevice);
1699
1700 END_INTERFACE
1701} ID3D12RootSignatureVtbl;
1702
1703 interface 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
1739 MIDL_INTERFACE("63ee58fb-1268-4835-86da-f008ce62f0d6")
1740 ID3D12Pageable : public ID3D12DeviceChild{
1741 public :
1742};
1743
1744#else /* C style interface */
1745
1746#ifndef __ID3D12Pageable_FWD_DEFINED__
1747#define __ID3D12Pageable_FWD_DEFINED__
1748 typedef interface ID3D12Pageable ID3D12Pageable;
1749
1750#endif /* __ID3D12Pageable_FWD_DEFINED__ */
1751
1752 typedef struct ID3D12PageableVtbl {
1753 BEGIN_INTERFACE
1754
1755 HRESULT(STDMETHODCALLTYPE *QueryInterface)
1756 (
1757 ID3D12Pageable *This,
1758 REFIID riid,
1759 _COM_Outptr_ void **ppvObject);
1760
1761 ULONG(STDMETHODCALLTYPE *AddRef)
1762 (
1763 ID3D12Pageable *This);
1764
1765 ULONG(STDMETHODCALLTYPE *Release)
1766 (
1767 ID3D12Pageable *This);
1768
1769 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
1770 (
1771 ID3D12Pageable *This,
1772 _In_ REFGUID guid,
1773 _Inout_ UINT *pDataSize,
1774 _Out_writes_bytes_opt_(*pDataSize) void *pData);
1775
1776 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
1777 (
1778 ID3D12Pageable *This,
1779 _In_ REFGUID guid,
1780 _In_ UINT DataSize,
1781 _In_reads_bytes_opt_(DataSize) const void *pData);
1782
1783 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
1784 (
1785 ID3D12Pageable *This,
1786 _In_ REFGUID guid,
1787 _In_opt_ const IUnknown *pData);
1788
1789 HRESULT(STDMETHODCALLTYPE *SetName)
1790 (
1791 ID3D12Pageable *This,
1792 _In_z_ LPCWSTR Name);
1793
1794 HRESULT(STDMETHODCALLTYPE *GetDevice)
1795 (
1796 ID3D12Pageable *This,
1797 REFIID riid,
1798 _COM_Outptr_opt_ void **ppvDevice);
1799
1800 END_INTERFACE
1801} ID3D12PageableVtbl;
1802
1803 interface 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
1837 typedef struct D3D12_RANGE {
1838 SIZE_T Begin;
1839 SIZE_T End;
1840} D3D12_RANGE;
1841
1842 typedef struct D3D12_BOX {
1843 UINT left;
1844 UINT top;
1845 UINT front;
1846 UINT right;
1847 UINT bottom;
1848 UINT back;
1849} D3D12_BOX;
1850
1851 typedef enum D3D12_COMMAND_LIST_TYPE {
1852 D3D12_COMMAND_LIST_TYPE_DIRECT = 0,
1853 D3D12_COMMAND_LIST_TYPE_BUNDLE = 1,
1854 D3D12_COMMAND_LIST_TYPE_COMPUTE = 2,
1855 D3D12_COMMAND_LIST_TYPE_COPY = 3
1856} D3D12_COMMAND_LIST_TYPE;
1857
1858 typedef enum D3D12_COMMAND_QUEUE_FLAGS {
1859 D3D12_COMMAND_QUEUE_FLAG_NONE = 0,
1860 D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT = 0x1
1861} D3D12_COMMAND_QUEUE_FLAGS;
1862
1863 DEFINE_ENUM_FLAG_OPERATORS(D3D12_COMMAND_QUEUE_FLAGS);
1864 typedef enum D3D12_COMMAND_QUEUE_PRIORITY {
1865 D3D12_COMMAND_QUEUE_PRIORITY_NORMAL = 0,
1866 D3D12_COMMAND_QUEUE_PRIORITY_HIGH = 100,
1867 D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME = 10000
1868} D3D12_COMMAND_QUEUE_PRIORITY;
1869
1870 typedef struct D3D12_COMMAND_QUEUE_DESC {
1871 D3D12_COMMAND_LIST_TYPE Type;
1872 INT Priority;
1873 D3D12_COMMAND_QUEUE_FLAGS Flags;
1874 UINT NodeMask;
1875} D3D12_COMMAND_QUEUE_DESC;
1876
1877 typedef struct D3D12_SHADER_BYTECODE {
1878 _Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode;
1879 SIZE_T BytecodeLength;
1880} D3D12_SHADER_BYTECODE;
1881
1882 typedef struct D3D12_SO_DECLARATION_ENTRY {
1883 UINT Stream;
1884 LPCSTR SemanticName;
1885 UINT SemanticIndex;
1886 BYTE StartComponent;
1887 BYTE ComponentCount;
1888 BYTE OutputSlot;
1889} D3D12_SO_DECLARATION_ENTRY;
1890
1891 typedef struct D3D12_STREAM_OUTPUT_DESC {
1892 _Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration;
1893 UINT NumEntries;
1894 _Field_size_full_(NumStrides) const UINT *pBufferStrides;
1895 UINT NumStrides;
1896 UINT RasterizedStream;
1897} D3D12_STREAM_OUTPUT_DESC;
1898
1899 typedef enum D3D12_BLEND {
1900 D3D12_BLEND_ZERO = 1,
1901 D3D12_BLEND_ONE = 2,
1902 D3D12_BLEND_SRC_COLOR = 3,
1903 D3D12_BLEND_INV_SRC_COLOR = 4,
1904 D3D12_BLEND_SRC_ALPHA = 5,
1905 D3D12_BLEND_INV_SRC_ALPHA = 6,
1906 D3D12_BLEND_DEST_ALPHA = 7,
1907 D3D12_BLEND_INV_DEST_ALPHA = 8,
1908 D3D12_BLEND_DEST_COLOR = 9,
1909 D3D12_BLEND_INV_DEST_COLOR = 10,
1910 D3D12_BLEND_SRC_ALPHA_SAT = 11,
1911 D3D12_BLEND_BLEND_FACTOR = 14,
1912 D3D12_BLEND_INV_BLEND_FACTOR = 15,
1913 D3D12_BLEND_SRC1_COLOR = 16,
1914 D3D12_BLEND_INV_SRC1_COLOR = 17,
1915 D3D12_BLEND_SRC1_ALPHA = 18,
1916 D3D12_BLEND_INV_SRC1_ALPHA = 19
1917} D3D12_BLEND;
1918
1919 typedef enum D3D12_BLEND_OP {
1920 D3D12_BLEND_OP_ADD = 1,
1921 D3D12_BLEND_OP_SUBTRACT = 2,
1922 D3D12_BLEND_OP_REV_SUBTRACT = 3,
1923 D3D12_BLEND_OP_MIN = 4,
1924 D3D12_BLEND_OP_MAX = 5
1925} D3D12_BLEND_OP;
1926
1927 typedef enum D3D12_LOGIC_OP {
1928 D3D12_LOGIC_OP_CLEAR = 0,
1929 D3D12_LOGIC_OP_SET = (D3D12_LOGIC_OP_CLEAR + 1),
1930 D3D12_LOGIC_OP_COPY = (D3D12_LOGIC_OP_SET + 1),
1931 D3D12_LOGIC_OP_COPY_INVERTED = (D3D12_LOGIC_OP_COPY + 1),
1932 D3D12_LOGIC_OP_NOOP = (D3D12_LOGIC_OP_COPY_INVERTED + 1),
1933 D3D12_LOGIC_OP_INVERT = (D3D12_LOGIC_OP_NOOP + 1),
1934 D3D12_LOGIC_OP_AND = (D3D12_LOGIC_OP_INVERT + 1),
1935 D3D12_LOGIC_OP_NAND = (D3D12_LOGIC_OP_AND + 1),
1936 D3D12_LOGIC_OP_OR = (D3D12_LOGIC_OP_NAND + 1),
1937 D3D12_LOGIC_OP_NOR = (D3D12_LOGIC_OP_OR + 1),
1938 D3D12_LOGIC_OP_XOR = (D3D12_LOGIC_OP_NOR + 1),
1939 D3D12_LOGIC_OP_EQUIV = (D3D12_LOGIC_OP_XOR + 1),
1940 D3D12_LOGIC_OP_AND_REVERSE = (D3D12_LOGIC_OP_EQUIV + 1),
1941 D3D12_LOGIC_OP_AND_INVERTED = (D3D12_LOGIC_OP_AND_REVERSE + 1),
1942 D3D12_LOGIC_OP_OR_REVERSE = (D3D12_LOGIC_OP_AND_INVERTED + 1),
1943 D3D12_LOGIC_OP_OR_INVERTED = (D3D12_LOGIC_OP_OR_REVERSE + 1)
1944} D3D12_LOGIC_OP;
1945
1946 typedef struct D3D12_RENDER_TARGET_BLEND_DESC {
1947 BOOL BlendEnable;
1948 BOOL LogicOpEnable;
1949 D3D12_BLEND SrcBlend;
1950 D3D12_BLEND DestBlend;
1951 D3D12_BLEND_OP BlendOp;
1952 D3D12_BLEND SrcBlendAlpha;
1953 D3D12_BLEND DestBlendAlpha;
1954 D3D12_BLEND_OP BlendOpAlpha;
1955 D3D12_LOGIC_OP LogicOp;
1956 UINT8 RenderTargetWriteMask;
1957} D3D12_RENDER_TARGET_BLEND_DESC;
1958
1959 typedef struct D3D12_BLEND_DESC {
1960 BOOL AlphaToCoverageEnable;
1961 BOOL IndependentBlendEnable;
1962 D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8];
1963} D3D12_BLEND_DESC;
1964
1965 typedef enum D3D12_FILL_MODE {
1966 D3D12_FILL_MODE_WIREFRAME = 2,
1967 D3D12_FILL_MODE_SOLID = 3
1968} D3D12_FILL_MODE;
1969
1970 typedef enum D3D12_CULL_MODE {
1971 D3D12_CULL_MODE_NONE = 1,
1972 D3D12_CULL_MODE_FRONT = 2,
1973 D3D12_CULL_MODE_BACK = 3
1974} D3D12_CULL_MODE;
1975
1976 typedef enum D3D12_CONSERVATIVE_RASTERIZATION_MODE {
1977 D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF = 0,
1978 D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON = 1
1979} D3D12_CONSERVATIVE_RASTERIZATION_MODE;
1980
1981 typedef struct D3D12_RASTERIZER_DESC {
1982 D3D12_FILL_MODE FillMode;
1983 D3D12_CULL_MODE CullMode;
1984 BOOL FrontCounterClockwise;
1985 INT DepthBias;
1986 FLOAT DepthBiasClamp;
1987 FLOAT SlopeScaledDepthBias;
1988 BOOL DepthClipEnable;
1989 BOOL MultisampleEnable;
1990 BOOL AntialiasedLineEnable;
1991 UINT ForcedSampleCount;
1992 D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster;
1993} D3D12_RASTERIZER_DESC;
1994
1995 typedef enum D3D12_DEPTH_WRITE_MASK {
1996 D3D12_DEPTH_WRITE_MASK_ZERO = 0,
1997 D3D12_DEPTH_WRITE_MASK_ALL = 1
1998} D3D12_DEPTH_WRITE_MASK;
1999
2000 typedef enum D3D12_COMPARISON_FUNC {
2001 D3D12_COMPARISON_FUNC_NEVER = 1,
2002 D3D12_COMPARISON_FUNC_LESS = 2,
2003 D3D12_COMPARISON_FUNC_EQUAL = 3,
2004 D3D12_COMPARISON_FUNC_LESS_EQUAL = 4,
2005 D3D12_COMPARISON_FUNC_GREATER = 5,
2006 D3D12_COMPARISON_FUNC_NOT_EQUAL = 6,
2007 D3D12_COMPARISON_FUNC_GREATER_EQUAL = 7,
2008 D3D12_COMPARISON_FUNC_ALWAYS = 8
2009} D3D12_COMPARISON_FUNC;
2010
2011 typedef enum D3D12_STENCIL_OP {
2012 D3D12_STENCIL_OP_KEEP = 1,
2013 D3D12_STENCIL_OP_ZERO = 2,
2014 D3D12_STENCIL_OP_REPLACE = 3,
2015 D3D12_STENCIL_OP_INCR_SAT = 4,
2016 D3D12_STENCIL_OP_DECR_SAT = 5,
2017 D3D12_STENCIL_OP_INVERT = 6,
2018 D3D12_STENCIL_OP_INCR = 7,
2019 D3D12_STENCIL_OP_DECR = 8
2020} D3D12_STENCIL_OP;
2021
2022 typedef struct D3D12_DEPTH_STENCILOP_DESC {
2023 D3D12_STENCIL_OP StencilFailOp;
2024 D3D12_STENCIL_OP StencilDepthFailOp;
2025 D3D12_STENCIL_OP StencilPassOp;
2026 D3D12_COMPARISON_FUNC StencilFunc;
2027} D3D12_DEPTH_STENCILOP_DESC;
2028
2029 typedef struct D3D12_DEPTH_STENCIL_DESC {
2030 BOOL DepthEnable;
2031 D3D12_DEPTH_WRITE_MASK DepthWriteMask;
2032 D3D12_COMPARISON_FUNC DepthFunc;
2033 BOOL StencilEnable;
2034 UINT8 StencilReadMask;
2035 UINT8 StencilWriteMask;
2036 D3D12_DEPTH_STENCILOP_DESC FrontFace;
2037 D3D12_DEPTH_STENCILOP_DESC BackFace;
2038} D3D12_DEPTH_STENCIL_DESC;
2039
2040 typedef enum D3D12_INPUT_CLASSIFICATION {
2041 D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA = 0,
2042 D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA = 1
2043} D3D12_INPUT_CLASSIFICATION;
2044
2045 typedef struct D3D12_INPUT_ELEMENT_DESC {
2046 LPCSTR SemanticName;
2047 UINT SemanticIndex;
2048 DXGI_FORMAT Format;
2049 UINT InputSlot;
2050 UINT AlignedByteOffset;
2051 D3D12_INPUT_CLASSIFICATION InputSlotClass;
2052 UINT InstanceDataStepRate;
2053} D3D12_INPUT_ELEMENT_DESC;
2054
2055 typedef struct D3D12_INPUT_LAYOUT_DESC {
2056 _Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs;
2057 UINT NumElements;
2058} D3D12_INPUT_LAYOUT_DESC;
2059
2060 typedef enum D3D12_PIPELINE_STATE_FLAGS {
2061 D3D12_PIPELINE_STATE_FLAG_NONE = 0,
2062 D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG = 0x1
2063} D3D12_PIPELINE_STATE_FLAGS;
2064
2065 typedef enum D3D12_INDEX_BUFFER_STRIP_CUT_VALUE {
2066 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED = 0,
2067 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF = 1,
2068 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF = 2
2069} D3D12_INDEX_BUFFER_STRIP_CUT_VALUE;
2070
2071 typedef enum D3D12_PRIMITIVE_TOPOLOGY_TYPE {
2072 D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED = 0,
2073 D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT = 1,
2074 D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE = 2,
2075 D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE = 3,
2076 D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH = 4
2077} D3D12_PRIMITIVE_TOPOLOGY_TYPE;
2078
2079 typedef struct D3D12_CACHED_PIPELINE_STATE {
2080 _Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob;
2081 SIZE_T CachedBlobSizeInBytes;
2082} D3D12_CACHED_PIPELINE_STATE;
2083
2084 DEFINE_ENUM_FLAG_OPERATORS(D3D12_PIPELINE_STATE_FLAGS);
2085 typedef struct D3D12_GRAPHICS_PIPELINE_STATE_DESC {
2086 ID3D12RootSignature *pRootSignature;
2087 D3D12_SHADER_BYTECODE VS;
2088 D3D12_SHADER_BYTECODE PS;
2089 D3D12_SHADER_BYTECODE DS;
2090 D3D12_SHADER_BYTECODE HS;
2091 D3D12_SHADER_BYTECODE GS;
2092 D3D12_STREAM_OUTPUT_DESC StreamOutput;
2093 D3D12_BLEND_DESC BlendState;
2094 UINT SampleMask;
2095 D3D12_RASTERIZER_DESC RasterizerState;
2096 D3D12_DEPTH_STENCIL_DESC DepthStencilState;
2097 D3D12_INPUT_LAYOUT_DESC InputLayout;
2098 D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue;
2099 D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType;
2100 UINT NumRenderTargets;
2101 DXGI_FORMAT RTVFormats[8];
2102 DXGI_FORMAT DSVFormat;
2103 DXGI_SAMPLE_DESC SampleDesc;
2104 UINT NodeMask;
2105 D3D12_CACHED_PIPELINE_STATE CachedPSO;
2106 D3D12_PIPELINE_STATE_FLAGS Flags;
2107} D3D12_GRAPHICS_PIPELINE_STATE_DESC;
2108
2109 typedef struct D3D12_COMPUTE_PIPELINE_STATE_DESC {
2110 ID3D12RootSignature *pRootSignature;
2111 D3D12_SHADER_BYTECODE CS;
2112 UINT NodeMask;
2113 D3D12_CACHED_PIPELINE_STATE CachedPSO;
2114 D3D12_PIPELINE_STATE_FLAGS Flags;
2115} D3D12_COMPUTE_PIPELINE_STATE_DESC;
2116
2117 typedef struct D3D12_RESOURCE_ALLOCATION_INFO {
2118 UINT64 SizeInBytes;
2119 UINT64 Alignment;
2120} D3D12_RESOURCE_ALLOCATION_INFO;
2121
2122 typedef enum D3D12_RESOURCE_DIMENSION {
2123 D3D12_RESOURCE_DIMENSION_UNKNOWN = 0,
2124 D3D12_RESOURCE_DIMENSION_BUFFER = 1,
2125 D3D12_RESOURCE_DIMENSION_TEXTURE1D = 2,
2126 D3D12_RESOURCE_DIMENSION_TEXTURE2D = 3,
2127 D3D12_RESOURCE_DIMENSION_TEXTURE3D = 4
2128} D3D12_RESOURCE_DIMENSION;
2129
2130 typedef enum D3D12_TEXTURE_LAYOUT {
2131 D3D12_TEXTURE_LAYOUT_UNKNOWN = 0,
2132 D3D12_TEXTURE_LAYOUT_ROW_MAJOR = 1,
2133 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE = 2,
2134 D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE = 3
2135} D3D12_TEXTURE_LAYOUT;
2136
2137 typedef enum D3D12_RESOURCE_FLAGS {
2138 D3D12_RESOURCE_FLAG_NONE = 0,
2139 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
2140 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
2141 D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
2142 D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
2143 D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
2144 D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20
2145} D3D12_RESOURCE_FLAGS;
2146
2147 DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_FLAGS);
2148 typedef struct D3D12_RESOURCE_DESC {
2149 D3D12_RESOURCE_DIMENSION Dimension;
2150 UINT64 Alignment;
2151 UINT64 Width;
2152 UINT Height;
2153 UINT16 DepthOrArraySize;
2154 UINT16 MipLevels;
2155 DXGI_FORMAT Format;
2156 DXGI_SAMPLE_DESC SampleDesc;
2157 D3D12_TEXTURE_LAYOUT Layout;
2158 D3D12_RESOURCE_FLAGS Flags;
2159} D3D12_RESOURCE_DESC;
2160
2161 typedef enum D3D12_CPU_PAGE_PROPERTY {
2162 D3D12_CPU_PAGE_PROPERTY_UNKNOWN = 0,
2163 D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE = 1,
2164 D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE = 2,
2165 D3D12_CPU_PAGE_PROPERTY_WRITE_BACK = 3
2166} D3D12_CPU_PAGE_PROPERTY;
2167
2168 typedef enum D3D12_MEMORY_POOL {
2169 D3D12_MEMORY_POOL_UNKNOWN = 0,
2170 D3D12_MEMORY_POOL_L0 = 1,
2171 D3D12_MEMORY_POOL_L1 = 2
2172} D3D12_MEMORY_POOL;
2173
2174 typedef enum D3D12_HEAP_TYPE {
2175 D3D12_HEAP_TYPE_DEFAULT = 1,
2176 D3D12_HEAP_TYPE_UPLOAD = 2,
2177 D3D12_HEAP_TYPE_READBACK = 3,
2178 D3D12_HEAP_TYPE_CUSTOM = 4
2179} D3D12_HEAP_TYPE;
2180
2181 typedef struct D3D12_HEAP_PROPERTIES {
2182 D3D12_HEAP_TYPE Type;
2183 D3D12_CPU_PAGE_PROPERTY CPUPageProperty;
2184 D3D12_MEMORY_POOL MemoryPoolPreference;
2185 UINT CreationNodeMask;
2186 UINT VisibleNodeMask;
2187} D3D12_HEAP_PROPERTIES;
2188
2189 typedef enum D3D12_HEAP_FLAGS {
2190 D3D12_HEAP_FLAG_NONE = 0,
2191 D3D12_HEAP_FLAG_SHARED = 0x1,
2192 D3D12_HEAP_FLAG_DENY_BUFFERS = 0x4,
2193 D3D12_HEAP_FLAG_ALLOW_DISPLAY = 0x8,
2194 D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER = 0x20,
2195 D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES = 0x40,
2196 D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES = 0x80,
2197 D3D12_HEAP_FLAG_HARDWARE_PROTECTED = 0x100,
2198 D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH = 0x200,
2199 D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES = 0,
2200 D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS = 0xc0,
2201 D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES = 0x44,
2202 D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES = 0x84
2203} D3D12_HEAP_FLAGS;
2204
2205 typedef enum D3D12_TILE_MAPPING_FLAGS {
2206 D3D12_TILE_MAPPING_FLAG_NONE = 0,
2207 D3D12_TILE_MAPPING_FLAG_NO_HAZARD = 0x1
2208} D3D12_TILE_MAPPING_FLAGS;
2209
2210 DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_MAPPING_FLAGS);
2211 typedef enum D3D12_TILE_COPY_FLAGS {
2212 D3D12_TILE_COPY_FLAG_NONE = 0,
2213 D3D12_TILE_COPY_FLAG_NO_HAZARD = 0x1,
2214 D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE = 0x2,
2215 D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER = 0x4
2216} D3D12_TILE_COPY_FLAGS;
2217
2218 DEFINE_ENUM_FLAG_OPERATORS(D3D12_TILE_COPY_FLAGS);
2219 typedef enum D3D12_RESOURCE_STATES {
2220 D3D12_RESOURCE_STATE_COMMON = 0,
2221 D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER = 0x1,
2222 D3D12_RESOURCE_STATE_INDEX_BUFFER = 0x2,
2223 D3D12_RESOURCE_STATE_RENDER_TARGET = 0x4,
2224 D3D12_RESOURCE_STATE_UNORDERED_ACCESS = 0x8,
2225 D3D12_RESOURCE_STATE_DEPTH_WRITE = 0x10,
2226 D3D12_RESOURCE_STATE_DEPTH_READ = 0x20,
2227 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE = 0x40,
2228 D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE = 0x80,
2229 D3D12_RESOURCE_STATE_STREAM_OUT = 0x100,
2230 D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT = 0x200,
2231 D3D12_RESOURCE_STATE_COPY_DEST = 0x400,
2232 D3D12_RESOURCE_STATE_COPY_SOURCE = 0x800,
2233 D3D12_RESOURCE_STATE_RESOLVE_DEST = 0x1000,
2234 D3D12_RESOURCE_STATE_RESOLVE_SOURCE = 0x2000,
2235 D3D12_RESOURCE_STATE_GENERIC_READ = (((((0x1 | 0x2) | 0x40) | 0x80) | 0x200) | 0x800),
2236 D3D12_RESOURCE_STATE_PRESENT = 0,
2237 D3D12_RESOURCE_STATE_PREDICATION = 0x200
2238} D3D12_RESOURCE_STATES;
2239
2240 typedef struct D3D12_DEPTH_STENCIL_VALUE {
2241 FLOAT Depth;
2242 UINT8 Stencil;
2243} D3D12_DEPTH_STENCIL_VALUE;
2244
2245 typedef struct D3D12_CLEAR_VALUE {
2246 DXGI_FORMAT Format;
2247 union {
2248 FLOAT Color[4];
2249 D3D12_DEPTH_STENCIL_VALUE DepthStencil;
2250 };
2251} D3D12_CLEAR_VALUE;
2252
2253 typedef enum D3D12_FEATURE {
2254 D3D12_FEATURE_D3D12_OPTIONS = 0,
2255 D3D12_FEATURE_ARCHITECTURE = 1,
2256 D3D12_FEATURE_FEATURE_LEVELS = 2,
2257 D3D12_FEATURE_FORMAT_SUPPORT = 3,
2258 D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS = 4,
2259 D3D12_FEATURE_FORMAT_INFO = 5,
2260 D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT = 6,
2261 D3D12_FEATURE_SHADER_MODEL = 7,
2262 D3D12_FEATURE_D3D12_OPTIONS1 = 8,
2263 D3D12_FEATURE_ROOT_SIGNATURE = 12,
2264 D3D12_FEATURE_ARCHITECTURE1 = 16,
2265 D3D12_FEATURE_D3D12_OPTIONS2 = 18,
2266 D3D12_FEATURE_SHADER_CACHE = 19,
2267 D3D12_FEATURE_COMMAND_QUEUE_PRIORITY = 20
2268} D3D12_FEATURE;
2269
2270 typedef enum D3D12_CLEAR_FLAGS {
2271 D3D12_CLEAR_FLAG_DEPTH = 0x1,
2272 D3D12_CLEAR_FLAG_STENCIL = 0x2
2273} D3D12_CLEAR_FLAGS;
2274
2275 DEFINE_ENUM_FLAG_OPERATORS(D3D12_CLEAR_FLAGS);
2276 typedef enum D3D12_FENCE_FLAGS {
2277 D3D12_FENCE_FLAG_NONE = 0,
2278 D3D12_FENCE_FLAG_SHARED = 0x1,
2279 D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER = 0x2
2280} D3D12_FENCE_FLAGS;
2281
2282 DEFINE_ENUM_FLAG_OPERATORS(D3D12_FENCE_FLAGS);
2283 typedef enum D3D12_DESCRIPTOR_HEAP_TYPE {
2284 D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV = 0,
2285 D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER = (D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV + 1),
2286 D3D12_DESCRIPTOR_HEAP_TYPE_RTV = (D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER + 1),
2287 D3D12_DESCRIPTOR_HEAP_TYPE_DSV = (D3D12_DESCRIPTOR_HEAP_TYPE_RTV + 1),
2288 D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES = (D3D12_DESCRIPTOR_HEAP_TYPE_DSV + 1)
2289} D3D12_DESCRIPTOR_HEAP_TYPE;
2290
2291 typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
2292 D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
2293 D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
2294} D3D12_DESCRIPTOR_HEAP_FLAGS;
2295
2296 typedef enum D3D12_SHADER_COMPONENT_MAPPING {
2297 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0 = 0,
2298 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1 = 1,
2299 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2 = 2,
2300 D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3 = 3,
2301 D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0 = 4,
2302 D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1 = 5
2303} D3D12_SHADER_COMPONENT_MAPPING;
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
2317 typedef enum D3D12_BUFFER_SRV_FLAGS {
2318 D3D12_BUFFER_SRV_FLAG_NONE = 0,
2319 D3D12_BUFFER_SRV_FLAG_RAW = 0x1
2320} D3D12_BUFFER_SRV_FLAGS;
2321
2322 DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_SRV_FLAGS);
2323 typedef struct D3D12_BUFFER_SRV {
2324 UINT64 FirstElement;
2325 UINT NumElements;
2326 UINT StructureByteStride;
2327 D3D12_BUFFER_SRV_FLAGS Flags;
2328} D3D12_BUFFER_SRV;
2329
2330 typedef struct D3D12_TEX1D_SRV {
2331 UINT MostDetailedMip;
2332 UINT MipLevels;
2333 FLOAT ResourceMinLODClamp;
2334} D3D12_TEX1D_SRV;
2335
2336 typedef struct D3D12_TEX1D_ARRAY_SRV {
2337 UINT MostDetailedMip;
2338 UINT MipLevels;
2339 UINT FirstArraySlice;
2340 UINT ArraySize;
2341 FLOAT ResourceMinLODClamp;
2342} D3D12_TEX1D_ARRAY_SRV;
2343
2344 typedef struct D3D12_TEX2D_SRV {
2345 UINT MostDetailedMip;
2346 UINT MipLevels;
2347 UINT PlaneSlice;
2348 FLOAT ResourceMinLODClamp;
2349} D3D12_TEX2D_SRV;
2350
2351 typedef struct D3D12_TEX2D_ARRAY_SRV {
2352 UINT MostDetailedMip;
2353 UINT MipLevels;
2354 UINT FirstArraySlice;
2355 UINT ArraySize;
2356 UINT PlaneSlice;
2357 FLOAT ResourceMinLODClamp;
2358} D3D12_TEX2D_ARRAY_SRV;
2359
2360 typedef struct D3D12_TEX3D_SRV {
2361 UINT MostDetailedMip;
2362 UINT MipLevels;
2363 FLOAT ResourceMinLODClamp;
2364} D3D12_TEX3D_SRV;
2365
2366 typedef struct D3D12_TEXCUBE_SRV {
2367 UINT MostDetailedMip;
2368 UINT MipLevels;
2369 FLOAT ResourceMinLODClamp;
2370} D3D12_TEXCUBE_SRV;
2371
2372 typedef struct D3D12_TEXCUBE_ARRAY_SRV {
2373 UINT MostDetailedMip;
2374 UINT MipLevels;
2375 UINT First2DArrayFace;
2376 UINT NumCubes;
2377 FLOAT ResourceMinLODClamp;
2378} D3D12_TEXCUBE_ARRAY_SRV;
2379
2380 typedef struct D3D12_TEX2DMS_SRV {
2381 UINT UnusedField_NothingToDefine;
2382} D3D12_TEX2DMS_SRV;
2383
2384 typedef struct D3D12_TEX2DMS_ARRAY_SRV {
2385 UINT FirstArraySlice;
2386 UINT ArraySize;
2387} D3D12_TEX2DMS_ARRAY_SRV;
2388
2389 typedef enum D3D12_SRV_DIMENSION {
2390 D3D12_SRV_DIMENSION_UNKNOWN = 0,
2391 D3D12_SRV_DIMENSION_BUFFER = 1,
2392 D3D12_SRV_DIMENSION_TEXTURE1D = 2,
2393 D3D12_SRV_DIMENSION_TEXTURE1DARRAY = 3,
2394 D3D12_SRV_DIMENSION_TEXTURE2D = 4,
2395 D3D12_SRV_DIMENSION_TEXTURE2DARRAY = 5,
2396 D3D12_SRV_DIMENSION_TEXTURE2DMS = 6,
2397 D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY = 7,
2398 D3D12_SRV_DIMENSION_TEXTURE3D = 8,
2399 D3D12_SRV_DIMENSION_TEXTURECUBE = 9,
2400 D3D12_SRV_DIMENSION_TEXTURECUBEARRAY = 10
2401} D3D12_SRV_DIMENSION;
2402
2403 typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC {
2404 DXGI_FORMAT Format;
2405 D3D12_SRV_DIMENSION ViewDimension;
2406 UINT Shader4ComponentMapping;
2407 union {
2408 D3D12_BUFFER_SRV Buffer;
2409 D3D12_TEX1D_SRV Texture1D;
2410 D3D12_TEX1D_ARRAY_SRV Texture1DArray;
2411 D3D12_TEX2D_SRV Texture2D;
2412 D3D12_TEX2D_ARRAY_SRV Texture2DArray;
2413 D3D12_TEX2DMS_SRV Texture2DMS;
2414 D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
2415 D3D12_TEX3D_SRV Texture3D;
2416 D3D12_TEXCUBE_SRV TextureCube;
2417 D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
2418 };
2419} D3D12_SHADER_RESOURCE_VIEW_DESC;
2420
2421 typedef UINT64 D3D12_GPU_VIRTUAL_ADDRESS;
2422
2423 typedef struct D3D12_CONSTANT_BUFFER_VIEW_DESC {
2424 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
2425 UINT SizeInBytes;
2426} D3D12_CONSTANT_BUFFER_VIEW_DESC;
2427
2428 typedef struct D3D12_CPU_DESCRIPTOR_HANDLE {
2429 SIZE_T ptr;
2430} D3D12_CPU_DESCRIPTOR_HANDLE;
2431
2432 typedef struct D3D12_GPU_DESCRIPTOR_HANDLE {
2433 UINT64 ptr;
2434} D3D12_GPU_DESCRIPTOR_HANDLE;
2435
2436 typedef enum D3D12_BUFFER_UAV_FLAGS {
2437 D3D12_BUFFER_UAV_FLAG_NONE = 0,
2438 D3D12_BUFFER_UAV_FLAG_RAW = 0x1
2439} D3D12_BUFFER_UAV_FLAGS;
2440
2441 DEFINE_ENUM_FLAG_OPERATORS(D3D12_BUFFER_UAV_FLAGS);
2442 typedef struct D3D12_BUFFER_UAV {
2443 UINT64 FirstElement;
2444 UINT NumElements;
2445 UINT StructureByteStride;
2446 UINT64 CounterOffsetInBytes;
2447 D3D12_BUFFER_UAV_FLAGS Flags;
2448} D3D12_BUFFER_UAV;
2449
2450 typedef struct D3D12_TEX1D_UAV {
2451 UINT MipSlice;
2452} D3D12_TEX1D_UAV;
2453
2454 typedef struct D3D12_TEX1D_ARRAY_UAV {
2455 UINT MipSlice;
2456 UINT FirstArraySlice;
2457 UINT ArraySize;
2458} D3D12_TEX1D_ARRAY_UAV;
2459
2460 typedef struct D3D12_TEX2D_UAV {
2461 UINT MipSlice;
2462 UINT PlaneSlice;
2463} D3D12_TEX2D_UAV;
2464
2465 typedef struct D3D12_TEX2D_ARRAY_UAV {
2466 UINT MipSlice;
2467 UINT FirstArraySlice;
2468 UINT ArraySize;
2469 UINT PlaneSlice;
2470} D3D12_TEX2D_ARRAY_UAV;
2471
2472 typedef struct D3D12_TEX3D_UAV {
2473 UINT MipSlice;
2474 UINT FirstWSlice;
2475 UINT WSize;
2476} D3D12_TEX3D_UAV;
2477
2478 typedef enum D3D12_UAV_DIMENSION {
2479 D3D12_UAV_DIMENSION_UNKNOWN = 0,
2480 D3D12_UAV_DIMENSION_BUFFER = 1,
2481 D3D12_UAV_DIMENSION_TEXTURE1D = 2,
2482 D3D12_UAV_DIMENSION_TEXTURE1DARRAY = 3,
2483 D3D12_UAV_DIMENSION_TEXTURE2D = 4,
2484 D3D12_UAV_DIMENSION_TEXTURE2DARRAY = 5,
2485 D3D12_UAV_DIMENSION_TEXTURE3D = 8
2486} D3D12_UAV_DIMENSION;
2487
2488 typedef struct D3D12_UNORDERED_ACCESS_VIEW_DESC {
2489 DXGI_FORMAT Format;
2490 D3D12_UAV_DIMENSION ViewDimension;
2491 union {
2492 D3D12_BUFFER_UAV Buffer;
2493 D3D12_TEX1D_UAV Texture1D;
2494 D3D12_TEX1D_ARRAY_UAV Texture1DArray;
2495 D3D12_TEX2D_UAV Texture2D;
2496 D3D12_TEX2D_ARRAY_UAV Texture2DArray;
2497 D3D12_TEX3D_UAV Texture3D;
2498 };
2499} D3D12_UNORDERED_ACCESS_VIEW_DESC;
2500
2501 typedef struct D3D12_BUFFER_RTV {
2502 UINT64 FirstElement;
2503 UINT NumElements;
2504} D3D12_BUFFER_RTV;
2505
2506 typedef struct D3D12_TEX1D_RTV {
2507 UINT MipSlice;
2508} D3D12_TEX1D_RTV;
2509
2510 typedef struct D3D12_TEX1D_ARRAY_RTV {
2511 UINT MipSlice;
2512 UINT FirstArraySlice;
2513 UINT ArraySize;
2514} D3D12_TEX1D_ARRAY_RTV;
2515
2516 typedef struct D3D12_TEX2D_RTV {
2517 UINT MipSlice;
2518 UINT PlaneSlice;
2519} D3D12_TEX2D_RTV;
2520
2521 typedef struct D3D12_TEX2DMS_RTV {
2522 UINT UnusedField_NothingToDefine;
2523} D3D12_TEX2DMS_RTV;
2524
2525 typedef struct D3D12_TEX2D_ARRAY_RTV {
2526 UINT MipSlice;
2527 UINT FirstArraySlice;
2528 UINT ArraySize;
2529 UINT PlaneSlice;
2530} D3D12_TEX2D_ARRAY_RTV;
2531
2532 typedef struct D3D12_TEX2DMS_ARRAY_RTV {
2533 UINT FirstArraySlice;
2534 UINT ArraySize;
2535} D3D12_TEX2DMS_ARRAY_RTV;
2536
2537 typedef struct D3D12_TEX3D_RTV {
2538 UINT MipSlice;
2539 UINT FirstWSlice;
2540 UINT WSize;
2541} D3D12_TEX3D_RTV;
2542
2543 typedef enum D3D12_RTV_DIMENSION {
2544 D3D12_RTV_DIMENSION_UNKNOWN = 0,
2545 D3D12_RTV_DIMENSION_BUFFER = 1,
2546 D3D12_RTV_DIMENSION_TEXTURE1D = 2,
2547 D3D12_RTV_DIMENSION_TEXTURE1DARRAY = 3,
2548 D3D12_RTV_DIMENSION_TEXTURE2D = 4,
2549 D3D12_RTV_DIMENSION_TEXTURE2DARRAY = 5,
2550 D3D12_RTV_DIMENSION_TEXTURE2DMS = 6,
2551 D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY = 7,
2552 D3D12_RTV_DIMENSION_TEXTURE3D = 8
2553} D3D12_RTV_DIMENSION;
2554
2555 typedef struct D3D12_RENDER_TARGET_VIEW_DESC {
2556 DXGI_FORMAT Format;
2557 D3D12_RTV_DIMENSION ViewDimension;
2558 union {
2559 D3D12_BUFFER_RTV Buffer;
2560 D3D12_TEX1D_RTV Texture1D;
2561 D3D12_TEX1D_ARRAY_RTV Texture1DArray;
2562 D3D12_TEX2D_RTV Texture2D;
2563 D3D12_TEX2D_ARRAY_RTV Texture2DArray;
2564 D3D12_TEX2DMS_RTV Texture2DMS;
2565 D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray;
2566 D3D12_TEX3D_RTV Texture3D;
2567 };
2568} D3D12_RENDER_TARGET_VIEW_DESC;
2569
2570 typedef struct D3D12_TEX1D_DSV {
2571 UINT MipSlice;
2572} D3D12_TEX1D_DSV;
2573
2574 typedef struct D3D12_TEX1D_ARRAY_DSV {
2575 UINT MipSlice;
2576 UINT FirstArraySlice;
2577 UINT ArraySize;
2578} D3D12_TEX1D_ARRAY_DSV;
2579
2580 typedef struct D3D12_TEX2D_DSV {
2581 UINT MipSlice;
2582} D3D12_TEX2D_DSV;
2583
2584 typedef struct D3D12_TEX2D_ARRAY_DSV {
2585 UINT MipSlice;
2586 UINT FirstArraySlice;
2587 UINT ArraySize;
2588} D3D12_TEX2D_ARRAY_DSV;
2589
2590 typedef struct D3D12_TEX2DMS_DSV {
2591 UINT UnusedField_NothingToDefine;
2592} D3D12_TEX2DMS_DSV;
2593
2594 typedef struct D3D12_TEX2DMS_ARRAY_DSV {
2595 UINT FirstArraySlice;
2596 UINT ArraySize;
2597} D3D12_TEX2DMS_ARRAY_DSV;
2598
2599 typedef enum D3D12_DSV_FLAGS {
2600 D3D12_DSV_FLAG_NONE = 0,
2601 D3D12_DSV_FLAG_READ_ONLY_DEPTH = 0x1,
2602 D3D12_DSV_FLAG_READ_ONLY_STENCIL = 0x2
2603} D3D12_DSV_FLAGS;
2604
2605 DEFINE_ENUM_FLAG_OPERATORS(D3D12_DSV_FLAGS);
2606 typedef enum D3D12_DSV_DIMENSION {
2607 D3D12_DSV_DIMENSION_UNKNOWN = 0,
2608 D3D12_DSV_DIMENSION_TEXTURE1D = 1,
2609 D3D12_DSV_DIMENSION_TEXTURE1DARRAY = 2,
2610 D3D12_DSV_DIMENSION_TEXTURE2D = 3,
2611 D3D12_DSV_DIMENSION_TEXTURE2DARRAY = 4,
2612 D3D12_DSV_DIMENSION_TEXTURE2DMS = 5,
2613 D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY = 6
2614} D3D12_DSV_DIMENSION;
2615
2616 typedef struct D3D12_DEPTH_STENCIL_VIEW_DESC {
2617 DXGI_FORMAT Format;
2618 D3D12_DSV_DIMENSION ViewDimension;
2619 D3D12_DSV_FLAGS Flags;
2620 union {
2621 D3D12_TEX1D_DSV Texture1D;
2622 D3D12_TEX1D_ARRAY_DSV Texture1DArray;
2623 D3D12_TEX2D_DSV Texture2D;
2624 D3D12_TEX2D_ARRAY_DSV Texture2DArray;
2625 D3D12_TEX2DMS_DSV Texture2DMS;
2626 D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray;
2627 };
2628} D3D12_DEPTH_STENCIL_VIEW_DESC;
2629
2630 typedef enum D3D12_FILTER {
2631 D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
2632 D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
2633 D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
2634 D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
2635 D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
2636 D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
2637 D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
2638 D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
2639 D3D12_FILTER_ANISOTROPIC = 0x55,
2640 D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
2641 D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
2642 D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
2643 D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
2644 D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
2645 D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
2646 D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
2647 D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
2648 D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
2649 D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
2650 D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
2651 D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
2652 D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
2653 D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
2654 D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
2655 D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
2656 D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
2657 D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
2658 D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
2659 D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
2660 D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
2661 D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
2662 D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
2663 D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
2664 D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
2665 D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
2666 D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
2667} D3D12_FILTER;
2668
2669 typedef enum D3D12_TEXTURE_ADDRESS_MODE {
2670 D3D12_TEXTURE_ADDRESS_MODE_WRAP = 1,
2671 D3D12_TEXTURE_ADDRESS_MODE_MIRROR = 2,
2672 D3D12_TEXTURE_ADDRESS_MODE_CLAMP = 3,
2673 D3D12_TEXTURE_ADDRESS_MODE_BORDER = 4,
2674 D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE = 5
2675} D3D12_TEXTURE_ADDRESS_MODE;
2676
2677 typedef struct D3D12_SAMPLER_DESC {
2678 D3D12_FILTER Filter;
2679 D3D12_TEXTURE_ADDRESS_MODE AddressU;
2680 D3D12_TEXTURE_ADDRESS_MODE AddressV;
2681 D3D12_TEXTURE_ADDRESS_MODE AddressW;
2682 FLOAT MipLODBias;
2683 UINT MaxAnisotropy;
2684 D3D12_COMPARISON_FUNC ComparisonFunc;
2685 FLOAT BorderColor[4];
2686 FLOAT MinLOD;
2687 FLOAT MaxLOD;
2688} D3D12_SAMPLER_DESC;
2689
2690 DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_HEAP_FLAGS);
2691 typedef struct D3D12_DESCRIPTOR_HEAP_DESC {
2692 D3D12_DESCRIPTOR_HEAP_TYPE Type;
2693 UINT NumDescriptors;
2694 D3D12_DESCRIPTOR_HEAP_FLAGS Flags;
2695 UINT NodeMask;
2696} D3D12_DESCRIPTOR_HEAP_DESC;
2697
2698 DEFINE_ENUM_FLAG_OPERATORS(D3D12_HEAP_FLAGS);
2699 typedef struct D3D12_HEAP_DESC {
2700 UINT64 SizeInBytes;
2701 D3D12_HEAP_PROPERTIES Properties;
2702 UINT64 Alignment;
2703 D3D12_HEAP_FLAGS Flags;
2704} D3D12_HEAP_DESC;
2705
2706 typedef struct D3D12_SUBRESOURCE_FOOTPRINT {
2707 DXGI_FORMAT Format;
2708 UINT Width;
2709 UINT Height;
2710 UINT Depth;
2711 UINT RowPitch;
2712} D3D12_SUBRESOURCE_FOOTPRINT;
2713
2714 typedef struct D3D12_PLACED_SUBRESOURCE_FOOTPRINT {
2715 UINT64 Offset;
2716 D3D12_SUBRESOURCE_FOOTPRINT Footprint;
2717} D3D12_PLACED_SUBRESOURCE_FOOTPRINT;
2718
2719 typedef enum D3D12_QUERY_HEAP_TYPE {
2720 D3D12_QUERY_HEAP_TYPE_OCCLUSION = 0,
2721 D3D12_QUERY_HEAP_TYPE_TIMESTAMP = 1,
2722 D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS = 2,
2723 D3D12_QUERY_HEAP_TYPE_SO_STATISTICS = 3
2724} D3D12_QUERY_HEAP_TYPE;
2725
2726 typedef struct D3D12_QUERY_HEAP_DESC {
2727 D3D12_QUERY_HEAP_TYPE Type;
2728 UINT Count;
2729 UINT NodeMask;
2730} D3D12_QUERY_HEAP_DESC;
2731
2732 typedef enum D3D12_INDIRECT_ARGUMENT_TYPE {
2733 D3D12_INDIRECT_ARGUMENT_TYPE_DRAW = 0,
2734 D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED = (D3D12_INDIRECT_ARGUMENT_TYPE_DRAW + 1),
2735 D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH = (D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED + 1),
2736 D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH + 1),
2737 D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW + 1),
2738 D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT = (D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW + 1),
2739 D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT + 1),
2740 D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW + 1),
2741 D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW = (D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW + 1)
2742} D3D12_INDIRECT_ARGUMENT_TYPE;
2743
2744 typedef struct D3D12_INDIRECT_ARGUMENT_DESC {
2745 D3D12_INDIRECT_ARGUMENT_TYPE Type;
2746 union {
2747 struct
2748 {
2749 UINT Slot;
2750 } VertexBuffer;
2751 struct
2752 {
2753 UINT RootParameterIndex;
2754 UINT DestOffsetIn32BitValues;
2755 UINT Num32BitValuesToSet;
2756 } Constant;
2757 struct
2758 {
2759 UINT RootParameterIndex;
2760 } ConstantBufferView;
2761 struct
2762 {
2763 UINT RootParameterIndex;
2764 } ShaderResourceView;
2765 struct
2766 {
2767 UINT RootParameterIndex;
2768 } UnorderedAccessView;
2769 };
2770} D3D12_INDIRECT_ARGUMENT_DESC;
2771
2772 typedef struct D3D12_COMMAND_SIGNATURE_DESC {
2773 UINT ByteStride;
2774 UINT NumArgumentDescs;
2775 _Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs;
2776 UINT NodeMask;
2777} D3D12_COMMAND_SIGNATURE_DESC;
2778
2779 typedef struct D3D12_PACKED_MIP_INFO {
2780 UINT8 NumStandardMips;
2781 UINT8 NumPackedMips;
2782 UINT NumTilesForPackedMips;
2783 UINT StartTileIndexInOverallResource;
2784} D3D12_PACKED_MIP_INFO;
2785
2786 typedef struct D3D12_TILE_SHAPE {
2787 UINT WidthInTexels;
2788 UINT HeightInTexels;
2789 UINT DepthInTexels;
2790} D3D12_TILE_SHAPE;
2791
2792 typedef struct D3D12_SUBRESOURCE_TILING {
2793 UINT WidthInTiles;
2794 UINT16 HeightInTiles;
2795 UINT16 DepthInTiles;
2796 UINT StartTileIndexInOverallResource;
2797} D3D12_SUBRESOURCE_TILING;
2798
2799 typedef struct D3D12_TILED_RESOURCE_COORDINATE {
2800 UINT X;
2801 UINT Y;
2802 UINT Z;
2803 UINT Subresource;
2804} D3D12_TILED_RESOURCE_COORDINATE;
2805
2806 typedef struct D3D12_TILE_REGION_SIZE {
2807 UINT NumTiles;
2808 BOOL UseBox;
2809 UINT Width;
2810 UINT16 Height;
2811 UINT16 Depth;
2812} D3D12_TILE_REGION_SIZE;
2813
2814 typedef enum D3D12_TILE_RANGE_FLAGS {
2815 D3D12_TILE_RANGE_FLAG_NONE = 0,
2816 D3D12_TILE_RANGE_FLAG_NULL = 1,
2817 D3D12_TILE_RANGE_FLAG_SKIP = 2,
2818 D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE = 4
2819} D3D12_TILE_RANGE_FLAGS;
2820
2821 typedef enum D3D12_TEXTURE_COPY_TYPE {
2822 D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX = 0,
2823 D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT = 1
2824} D3D12_TEXTURE_COPY_TYPE;
2825
2826 typedef struct D3D12_TEXTURE_COPY_LOCATION {
2827 ID3D12Resource *pResource;
2828 D3D12_TEXTURE_COPY_TYPE Type;
2829 union {
2830 D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint;
2831 UINT SubresourceIndex;
2832 };
2833} D3D12_TEXTURE_COPY_LOCATION;
2834
2835 typedef D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY;
2836
2837#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
2838
2839 typedef struct D3D12_INDEX_BUFFER_VIEW {
2840 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
2841 UINT SizeInBytes;
2842 DXGI_FORMAT Format;
2843} D3D12_INDEX_BUFFER_VIEW;
2844
2845 typedef struct D3D12_VIEWPORT {
2846 FLOAT TopLeftX;
2847 FLOAT TopLeftY;
2848 FLOAT Width;
2849 FLOAT Height;
2850 FLOAT MinDepth;
2851 FLOAT MaxDepth;
2852} D3D12_VIEWPORT;
2853
2854 typedef RECT D3D12_RECT;
2855
2856 typedef struct D3D12_RESOURCE_TRANSITION_BARRIER {
2857 ID3D12Resource *pResource;
2858 UINT Subresource;
2859 D3D12_RESOURCE_STATES StateBefore;
2860 D3D12_RESOURCE_STATES StateAfter;
2861} D3D12_RESOURCE_TRANSITION_BARRIER;
2862
2863 typedef struct D3D12_RESOURCE_ALIASING_BARRIER {
2864 ID3D12Resource *pResourceBefore;
2865 ID3D12Resource *pResourceAfter;
2866} D3D12_RESOURCE_ALIASING_BARRIER;
2867
2868 typedef struct D3D12_RESOURCE_UAV_BARRIER {
2869 ID3D12Resource *pResource;
2870} D3D12_RESOURCE_UAV_BARRIER;
2871
2872 typedef enum D3D12_RESOURCE_BARRIER_FLAGS {
2873 D3D12_RESOURCE_BARRIER_FLAG_NONE = 0,
2874 D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY = 0x1,
2875 D3D12_RESOURCE_BARRIER_FLAG_END_ONLY = 0x2
2876} D3D12_RESOURCE_BARRIER_FLAGS;
2877
2878 DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_STATES);
2879 typedef enum D3D12_RESOURCE_BARRIER_TYPE {
2880 D3D12_RESOURCE_BARRIER_TYPE_TRANSITION = 0,
2881 D3D12_RESOURCE_BARRIER_TYPE_ALIASING = (D3D12_RESOURCE_BARRIER_TYPE_TRANSITION + 1),
2882 D3D12_RESOURCE_BARRIER_TYPE_UAV = (D3D12_RESOURCE_BARRIER_TYPE_ALIASING + 1)
2883} D3D12_RESOURCE_BARRIER_TYPE;
2884
2885 DEFINE_ENUM_FLAG_OPERATORS(D3D12_RESOURCE_BARRIER_FLAGS);
2886 typedef struct D3D12_RESOURCE_BARRIER {
2887 D3D12_RESOURCE_BARRIER_TYPE Type;
2888 D3D12_RESOURCE_BARRIER_FLAGS Flags;
2889 union {
2890 D3D12_RESOURCE_TRANSITION_BARRIER Transition;
2891 D3D12_RESOURCE_ALIASING_BARRIER Aliasing;
2892 D3D12_RESOURCE_UAV_BARRIER UAV;
2893 };
2894} D3D12_RESOURCE_BARRIER;
2895
2896 typedef struct D3D12_VERTEX_BUFFER_VIEW {
2897 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
2898 UINT SizeInBytes;
2899 UINT StrideInBytes;
2900} D3D12_VERTEX_BUFFER_VIEW;
2901
2902 typedef struct D3D12_STREAM_OUTPUT_BUFFER_VIEW {
2903 D3D12_GPU_VIRTUAL_ADDRESS BufferLocation;
2904 UINT64 SizeInBytes;
2905 D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation;
2906} D3D12_STREAM_OUTPUT_BUFFER_VIEW;
2907
2908 typedef struct D3D12_DISCARD_REGION {
2909 UINT NumRects;
2910 _In_reads_(NumRects) const D3D12_RECT *pRects;
2911 UINT FirstSubresource;
2912 UINT NumSubresources;
2913} D3D12_DISCARD_REGION;
2914
2915 typedef enum D3D12_QUERY_TYPE {
2916 D3D12_QUERY_TYPE_OCCLUSION = 0,
2917 D3D12_QUERY_TYPE_BINARY_OCCLUSION = 1,
2918 D3D12_QUERY_TYPE_TIMESTAMP = 2,
2919 D3D12_QUERY_TYPE_PIPELINE_STATISTICS = 3,
2920 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0 = 4,
2921 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1 = 5,
2922 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2 = 6,
2923 D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3 = 7
2924} D3D12_QUERY_TYPE;
2925
2926 typedef enum D3D12_PREDICATION_OP {
2927 D3D12_PREDICATION_OP_EQUAL_ZERO = 0,
2928 D3D12_PREDICATION_OP_NOT_EQUAL_ZERO = 1
2929} D3D12_PREDICATION_OP;
2930
2931 typedef enum D3D12_ROOT_SIGNATURE_FLAGS {
2932 D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
2933 D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
2934 D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
2935 D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
2936 D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
2937 D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
2938 D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
2939 D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40
2940} D3D12_ROOT_SIGNATURE_FLAGS;
2941
2942 typedef enum D3D12_ROOT_PARAMETER_TYPE {
2943 D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE = 0,
2944 D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS = (D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE + 1),
2945 D3D12_ROOT_PARAMETER_TYPE_CBV = (D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS + 1),
2946 D3D12_ROOT_PARAMETER_TYPE_SRV = (D3D12_ROOT_PARAMETER_TYPE_CBV + 1),
2947 D3D12_ROOT_PARAMETER_TYPE_UAV = (D3D12_ROOT_PARAMETER_TYPE_SRV + 1)
2948} D3D12_ROOT_PARAMETER_TYPE;
2949
2950 typedef enum D3D12_DESCRIPTOR_RANGE_TYPE {
2951 D3D12_DESCRIPTOR_RANGE_TYPE_SRV = 0,
2952 D3D12_DESCRIPTOR_RANGE_TYPE_UAV = (D3D12_DESCRIPTOR_RANGE_TYPE_SRV + 1),
2953 D3D12_DESCRIPTOR_RANGE_TYPE_CBV = (D3D12_DESCRIPTOR_RANGE_TYPE_UAV + 1),
2954 D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER = (D3D12_DESCRIPTOR_RANGE_TYPE_CBV + 1)
2955} D3D12_DESCRIPTOR_RANGE_TYPE;
2956
2957 typedef struct D3D12_DESCRIPTOR_RANGE {
2958 D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
2959 UINT NumDescriptors;
2960 UINT BaseShaderRegister;
2961 UINT RegisterSpace;
2962 UINT OffsetInDescriptorsFromTableStart;
2963} D3D12_DESCRIPTOR_RANGE;
2964
2965 typedef struct D3D12_ROOT_DESCRIPTOR_TABLE {
2966 UINT NumDescriptorRanges;
2967 _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges;
2968} D3D12_ROOT_DESCRIPTOR_TABLE;
2969
2970 typedef struct D3D12_ROOT_CONSTANTS {
2971 UINT ShaderRegister;
2972 UINT RegisterSpace;
2973 UINT Num32BitValues;
2974} D3D12_ROOT_CONSTANTS;
2975
2976 typedef struct D3D12_ROOT_DESCRIPTOR {
2977 UINT ShaderRegister;
2978 UINT RegisterSpace;
2979} D3D12_ROOT_DESCRIPTOR;
2980
2981 typedef enum D3D12_SHADER_VISIBILITY {
2982 D3D12_SHADER_VISIBILITY_ALL = 0,
2983 D3D12_SHADER_VISIBILITY_VERTEX = 1,
2984 D3D12_SHADER_VISIBILITY_HULL = 2,
2985 D3D12_SHADER_VISIBILITY_DOMAIN = 3,
2986 D3D12_SHADER_VISIBILITY_GEOMETRY = 4,
2987 D3D12_SHADER_VISIBILITY_PIXEL = 5
2988} D3D12_SHADER_VISIBILITY;
2989
2990 typedef struct D3D12_ROOT_PARAMETER {
2991 D3D12_ROOT_PARAMETER_TYPE ParameterType;
2992 union {
2993 D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable;
2994 D3D12_ROOT_CONSTANTS Constants;
2995 D3D12_ROOT_DESCRIPTOR Descriptor;
2996 };
2997 D3D12_SHADER_VISIBILITY ShaderVisibility;
2998} D3D12_ROOT_PARAMETER;
2999
3000 DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_SIGNATURE_FLAGS);
3001 typedef enum D3D12_STATIC_BORDER_COLOR {
3002 D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK = 0,
3003 D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK = (D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK + 1),
3004 D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE = (D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK + 1)
3005} D3D12_STATIC_BORDER_COLOR;
3006
3007 typedef struct D3D12_STATIC_SAMPLER_DESC {
3008 D3D12_FILTER Filter;
3009 D3D12_TEXTURE_ADDRESS_MODE AddressU;
3010 D3D12_TEXTURE_ADDRESS_MODE AddressV;
3011 D3D12_TEXTURE_ADDRESS_MODE AddressW;
3012 FLOAT MipLODBias;
3013 UINT MaxAnisotropy;
3014 D3D12_COMPARISON_FUNC ComparisonFunc;
3015 D3D12_STATIC_BORDER_COLOR BorderColor;
3016 FLOAT MinLOD;
3017 FLOAT MaxLOD;
3018 UINT ShaderRegister;
3019 UINT RegisterSpace;
3020 D3D12_SHADER_VISIBILITY ShaderVisibility;
3021} D3D12_STATIC_SAMPLER_DESC;
3022
3023 typedef struct D3D12_ROOT_SIGNATURE_DESC {
3024 UINT NumParameters;
3025 _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters;
3026 UINT NumStaticSamplers;
3027 _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
3028 D3D12_ROOT_SIGNATURE_FLAGS Flags;
3029} D3D12_ROOT_SIGNATURE_DESC;
3030
3031 typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
3032 D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
3033 D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
3034 D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
3035 D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
3036 D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8
3037} D3D12_DESCRIPTOR_RANGE_FLAGS;
3038
3039 DEFINE_ENUM_FLAG_OPERATORS(D3D12_DESCRIPTOR_RANGE_FLAGS);
3040 typedef struct D3D12_DESCRIPTOR_RANGE1 {
3041 D3D12_DESCRIPTOR_RANGE_TYPE RangeType;
3042 UINT NumDescriptors;
3043 UINT BaseShaderRegister;
3044 UINT RegisterSpace;
3045 D3D12_DESCRIPTOR_RANGE_FLAGS Flags;
3046 UINT OffsetInDescriptorsFromTableStart;
3047} D3D12_DESCRIPTOR_RANGE1;
3048
3049 typedef struct D3D12_ROOT_DESCRIPTOR_TABLE1 {
3050 UINT NumDescriptorRanges;
3051 _Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges;
3052} D3D12_ROOT_DESCRIPTOR_TABLE1;
3053
3054 typedef enum D3D12_ROOT_DESCRIPTOR_FLAGS {
3055 D3D12_ROOT_DESCRIPTOR_FLAG_NONE = 0,
3056 D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE = 0x2,
3057 D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
3058 D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC = 0x8
3059} D3D12_ROOT_DESCRIPTOR_FLAGS;
3060
3061 DEFINE_ENUM_FLAG_OPERATORS(D3D12_ROOT_DESCRIPTOR_FLAGS);
3062 typedef struct D3D12_ROOT_DESCRIPTOR1 {
3063 UINT ShaderRegister;
3064 UINT RegisterSpace;
3065 D3D12_ROOT_DESCRIPTOR_FLAGS Flags;
3066} D3D12_ROOT_DESCRIPTOR1;
3067
3068 typedef struct D3D12_ROOT_PARAMETER1 {
3069 D3D12_ROOT_PARAMETER_TYPE ParameterType;
3070 union {
3071 D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable;
3072 D3D12_ROOT_CONSTANTS Constants;
3073 D3D12_ROOT_DESCRIPTOR1 Descriptor;
3074 };
3075 D3D12_SHADER_VISIBILITY ShaderVisibility;
3076} D3D12_ROOT_PARAMETER1;
3077
3078 typedef struct D3D12_ROOT_SIGNATURE_DESC1 {
3079 UINT NumParameters;
3080 _Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters;
3081 UINT NumStaticSamplers;
3082 _Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers;
3083 D3D12_ROOT_SIGNATURE_FLAGS Flags;
3084} D3D12_ROOT_SIGNATURE_DESC1;
3085
3086 typedef enum D3D_ROOT_SIGNATURE_VERSION {
3087 D3D_ROOT_SIGNATURE_VERSION_1 = 0x1,
3088 D3D_ROOT_SIGNATURE_VERSION_1_0 = 0x1,
3089 D3D_ROOT_SIGNATURE_VERSION_1_1 = 0x2
3090} D3D_ROOT_SIGNATURE_VERSION;
3091
3092 typedef struct D3D12_VERSIONED_ROOT_SIGNATURE_DESC {
3093 D3D_ROOT_SIGNATURE_VERSION Version;
3094 union {
3095 D3D12_ROOT_SIGNATURE_DESC Desc_1_0;
3096 D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1;
3097 };
3098} D3D12_VERSIONED_ROOT_SIGNATURE_DESC;
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
3108 EXTERN_C const IID IID_ID3D12Resource;
3109
3110#if defined(__cplusplus) && !defined(CINTERFACE)
3111
3112 MIDL_INTERFACE("696442be-a72e-4059-bc79-5b5c98040fad")
3113 ID3D12Resource : public ID3D12Pageable {
3114 public:
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
3149 typedef struct ID3D12ResourceVtbl {
3150 BEGIN_INTERFACE
3151
3152 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3153 (
3154 ID3D12Resource *This,
3155 REFIID riid,
3156 _COM_Outptr_ void **ppvObject);
3157
3158 ULONG(STDMETHODCALLTYPE *AddRef)
3159 (
3160 ID3D12Resource *This);
3161
3162 ULONG(STDMETHODCALLTYPE *Release)
3163 (
3164 ID3D12Resource *This);
3165
3166 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3167 (
3168 ID3D12Resource *This,
3169 _In_ REFGUID guid,
3170 _Inout_ UINT *pDataSize,
3171 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3172
3173 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3174 (
3175 ID3D12Resource *This,
3176 _In_ REFGUID guid,
3177 _In_ UINT DataSize,
3178 _In_reads_bytes_opt_(DataSize) const void *pData);
3179
3180 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3181 (
3182 ID3D12Resource *This,
3183 _In_ REFGUID guid,
3184 _In_opt_ const IUnknown *pData);
3185
3186 HRESULT(STDMETHODCALLTYPE *SetName)
3187 (
3188 ID3D12Resource *This,
3189 _In_z_ LPCWSTR Name);
3190
3191 HRESULT(STDMETHODCALLTYPE *GetDevice)
3192 (
3193 ID3D12Resource *This,
3194 REFIID riid,
3195 _COM_Outptr_opt_ void **ppvDevice);
3196
3197 HRESULT(STDMETHODCALLTYPE *Map)
3198 (
3199 ID3D12Resource *This,
3200 UINT Subresource,
3201 _In_opt_ const D3D12_RANGE *pReadRange,
3202 _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData);
3203
3204 void(STDMETHODCALLTYPE *Unmap)(
3205 ID3D12Resource *This,
3206 UINT Subresource,
3207 _In_opt_ const D3D12_RANGE *pWrittenRange);
3208
3209 D3D12_RESOURCE_DESC(STDMETHODCALLTYPE *GetDesc)
3210 (
3211 ID3D12Resource *This);
3212
3213 D3D12_GPU_VIRTUAL_ADDRESS(STDMETHODCALLTYPE *GetGPUVirtualAddress)
3214 (
3215 ID3D12Resource *This);
3216
3217 HRESULT(STDMETHODCALLTYPE *WriteToSubresource)
3218 (
3219 ID3D12Resource *This,
3220 UINT DstSubresource,
3221 _In_opt_ const D3D12_BOX *pDstBox,
3222 _In_ const void *pSrcData,
3223 UINT SrcRowPitch,
3224 UINT SrcDepthPitch);
3225
3226 HRESULT(STDMETHODCALLTYPE *ReadFromSubresource)
3227 (
3228 ID3D12Resource *This,
3229 _Out_ void *pDstData,
3230 UINT DstRowPitch,
3231 UINT DstDepthPitch,
3232 UINT SrcSubresource,
3233 _In_opt_ const D3D12_BOX *pSrcBox);
3234
3235 HRESULT(STDMETHODCALLTYPE *GetHeapProperties)
3236 (
3237 ID3D12Resource *This,
3238 _Out_opt_ D3D12_HEAP_PROPERTIES *pHeapProperties,
3239 _Out_opt_ D3D12_HEAP_FLAGS *pHeapFlags);
3240
3241 END_INTERFACE
3242} ID3D12ResourceVtbl;
3243
3244 interface ID3D12Resource {
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
3307 EXTERN_C const IID IID_ID3D12CommandAllocator;
3308
3309#if defined(__cplusplus) && !defined(CINTERFACE)
3310
3311 MIDL_INTERFACE("6102dee4-af59-4b09-b999-b44d73f09b24")
3312 ID3D12CommandAllocator : public ID3D12Pageable {
3313 public:
3314 virtual HRESULT STDMETHODCALLTYPE Reset() = 0;
3315};
3316
3317#else /* C style interface */
3318
3319 typedef struct ID3D12CommandAllocatorVtbl {
3320 BEGIN_INTERFACE
3321
3322 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3323 (
3324 ID3D12CommandAllocator *This,
3325 REFIID riid,
3326 _COM_Outptr_ void **ppvObject);
3327
3328 ULONG(STDMETHODCALLTYPE *AddRef)
3329 (
3330 ID3D12CommandAllocator *This);
3331
3332 ULONG(STDMETHODCALLTYPE *Release)
3333 (
3334 ID3D12CommandAllocator *This);
3335
3336 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3337 (
3338 ID3D12CommandAllocator *This,
3339 _In_ REFGUID guid,
3340 _Inout_ UINT *pDataSize,
3341 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3342
3343 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3344 (
3345 ID3D12CommandAllocator *This,
3346 _In_ REFGUID guid,
3347 _In_ UINT DataSize,
3348 _In_reads_bytes_opt_(DataSize) const void *pData);
3349
3350 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3351 (
3352 ID3D12CommandAllocator *This,
3353 _In_ REFGUID guid,
3354 _In_opt_ const IUnknown *pData);
3355
3356 HRESULT(STDMETHODCALLTYPE *SetName)
3357 (
3358 ID3D12CommandAllocator *This,
3359 _In_z_ LPCWSTR Name);
3360
3361 HRESULT(STDMETHODCALLTYPE *GetDevice)
3362 (
3363 ID3D12CommandAllocator *This,
3364 REFIID riid,
3365 _COM_Outptr_opt_ void **ppvDevice);
3366
3367 HRESULT(STDMETHODCALLTYPE *Reset)
3368 (
3369 ID3D12CommandAllocator *This);
3370
3371 END_INTERFACE
3372} ID3D12CommandAllocatorVtbl;
3373
3374 interface ID3D12CommandAllocator {
3375 CONST_VTBL struct ID3D12CommandAllocatorVtbl *lpVtbl;
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
3419 EXTERN_C const IID IID_ID3D12CommandList;
3420
3421#if defined(__cplusplus) && !defined(CINTERFACE)
3422
3423 MIDL_INTERFACE("7116d91c-e7e4-47ce-b8c6-ec8168f437e5")
3424 ID3D12CommandList : public ID3D12DeviceChild {
3425 public:
3426 virtual D3D12_COMMAND_LIST_TYPE STDMETHODCALLTYPE GetType() = 0;
3427};
3428
3429#else /* C style interface */
3430
3431 typedef struct ID3D12CommandListVtbl {
3432 BEGIN_INTERFACE
3433
3434 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3435 (
3436 ID3D12CommandList *This,
3437 REFIID riid,
3438 _COM_Outptr_ void **ppvObject);
3439
3440 ULONG(STDMETHODCALLTYPE *AddRef)
3441 (
3442 ID3D12CommandList *This);
3443
3444 ULONG(STDMETHODCALLTYPE *Release)
3445 (
3446 ID3D12CommandList *This);
3447
3448 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3449 (
3450 ID3D12CommandList *This,
3451 _In_ REFGUID guid,
3452 _Inout_ UINT *pDataSize,
3453 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3454
3455 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3456 (
3457 ID3D12CommandList *This,
3458 _In_ REFGUID guid,
3459 _In_ UINT DataSize,
3460 _In_reads_bytes_opt_(DataSize) const void *pData);
3461
3462 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3463 (
3464 ID3D12CommandList *This,
3465 _In_ REFGUID guid,
3466 _In_opt_ const IUnknown *pData);
3467
3468 HRESULT(STDMETHODCALLTYPE *SetName)
3469 (
3470 ID3D12CommandList *This,
3471 _In_z_ LPCWSTR Name);
3472
3473 HRESULT(STDMETHODCALLTYPE *GetDevice)
3474 (
3475 ID3D12CommandList *This,
3476 REFIID riid,
3477 _COM_Outptr_opt_ void **ppvDevice);
3478
3479 D3D12_COMMAND_LIST_TYPE(STDMETHODCALLTYPE *GetType)
3480 (
3481 ID3D12CommandList *This);
3482
3483 END_INTERFACE
3484} ID3D12CommandListVtbl;
3485
3486 interface 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
3531 EXTERN_C const IID IID_ID3D12GraphicsCommandList;
3532
3533#if defined(__cplusplus) && !defined(CINTERFACE)
3534
3535 MIDL_INTERFACE("5b160d0f-ac1b-4185-8ba8-b3ae42a5a455")
3536 ID3D12GraphicsCommandList : public ID3D12CommandList {
3537 public:
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(
3573 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
3574 UINT DstX,
3575 UINT DstY,
3576 UINT DstZ,
3577 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
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,
3594 _In_ UINT DstSubresource,
3595 _In_ ID3D12Resource * pSrcResource,
3596 _In_ UINT SrcSubresource,
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(
3603 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
3604 _In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports) = 0;
3605
3606 virtual void STDMETHODCALLTYPE RSSetScissorRects(
3607 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
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,
3745 _In_ D3D12_QUERY_TYPE Type,
3746 _In_ UINT Index) = 0;
3747
3748 virtual void STDMETHODCALLTYPE EndQuery(
3749 _In_ ID3D12QueryHeap * pQueryHeap,
3750 _In_ D3D12_QUERY_TYPE Type,
3751 _In_ UINT Index) = 0;
3752
3753 virtual void STDMETHODCALLTYPE ResolveQueryData(
3754 _In_ ID3D12QueryHeap * pQueryHeap,
3755 _In_ D3D12_QUERY_TYPE Type,
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
3789 typedef struct ID3D12GraphicsCommandListVtbl {
3790 BEGIN_INTERFACE
3791
3792 HRESULT(STDMETHODCALLTYPE *QueryInterface)
3793 (
3794 ID3D12GraphicsCommandList *This,
3795 REFIID riid,
3796 _COM_Outptr_ void **ppvObject);
3797
3798 ULONG(STDMETHODCALLTYPE *AddRef)
3799 (
3800 ID3D12GraphicsCommandList *This);
3801
3802 ULONG(STDMETHODCALLTYPE *Release)
3803 (
3804 ID3D12GraphicsCommandList *This);
3805
3806 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
3807 (
3808 ID3D12GraphicsCommandList *This,
3809 _In_ REFGUID guid,
3810 _Inout_ UINT *pDataSize,
3811 _Out_writes_bytes_opt_(*pDataSize) void *pData);
3812
3813 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
3814 (
3815 ID3D12GraphicsCommandList *This,
3816 _In_ REFGUID guid,
3817 _In_ UINT DataSize,
3818 _In_reads_bytes_opt_(DataSize) const void *pData);
3819
3820 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
3821 (
3822 ID3D12GraphicsCommandList *This,
3823 _In_ REFGUID guid,
3824 _In_opt_ const IUnknown *pData);
3825
3826 HRESULT(STDMETHODCALLTYPE *SetName)
3827 (
3828 ID3D12GraphicsCommandList *This,
3829 _In_z_ LPCWSTR Name);
3830
3831 HRESULT(STDMETHODCALLTYPE *GetDevice)
3832 (
3833 ID3D12GraphicsCommandList *This,
3834 REFIID riid,
3835 _COM_Outptr_opt_ void **ppvDevice);
3836
3837 D3D12_COMMAND_LIST_TYPE(STDMETHODCALLTYPE *GetType)
3838 (
3839 ID3D12GraphicsCommandList *This);
3840
3841 HRESULT(STDMETHODCALLTYPE *Close)
3842 (
3843 ID3D12GraphicsCommandList *This);
3844
3845 HRESULT(STDMETHODCALLTYPE *Reset)
3846 (
3847 ID3D12GraphicsCommandList *This,
3848 _In_ ID3D12CommandAllocator *pAllocator,
3849 _In_opt_ ID3D12PipelineState *pInitialState);
3850
3851 void(STDMETHODCALLTYPE *ClearState)(
3852 ID3D12GraphicsCommandList *This,
3853 _In_opt_ ID3D12PipelineState *pPipelineState);
3854
3855 void(STDMETHODCALLTYPE *DrawInstanced)(
3856 ID3D12GraphicsCommandList *This,
3857 _In_ UINT VertexCountPerInstance,
3858 _In_ UINT InstanceCount,
3859 _In_ UINT StartVertexLocation,
3860 _In_ UINT StartInstanceLocation);
3861
3862 void(STDMETHODCALLTYPE *DrawIndexedInstanced)(
3863 ID3D12GraphicsCommandList *This,
3864 _In_ UINT IndexCountPerInstance,
3865 _In_ UINT InstanceCount,
3866 _In_ UINT StartIndexLocation,
3867 _In_ INT BaseVertexLocation,
3868 _In_ UINT StartInstanceLocation);
3869
3870 void(STDMETHODCALLTYPE *Dispatch)(
3871 ID3D12GraphicsCommandList *This,
3872 _In_ UINT ThreadGroupCountX,
3873 _In_ UINT ThreadGroupCountY,
3874 _In_ UINT ThreadGroupCountZ);
3875
3876 void(STDMETHODCALLTYPE *CopyBufferRegion)(
3877 ID3D12GraphicsCommandList *This,
3878 _In_ ID3D12Resource *pDstBuffer,
3879 UINT64 DstOffset,
3880 _In_ ID3D12Resource *pSrcBuffer,
3881 UINT64 SrcOffset,
3882 UINT64 NumBytes);
3883
3884 void(STDMETHODCALLTYPE *CopyTextureRegion)(
3885 ID3D12GraphicsCommandList *This,
3886 _In_ const D3D12_TEXTURE_COPY_LOCATION *pDst,
3887 UINT DstX,
3888 UINT DstY,
3889 UINT DstZ,
3890 _In_ const D3D12_TEXTURE_COPY_LOCATION *pSrc,
3891 _In_opt_ const D3D12_BOX *pSrcBox);
3892
3893 void(STDMETHODCALLTYPE *CopyResource)(
3894 ID3D12GraphicsCommandList *This,
3895 _In_ ID3D12Resource *pDstResource,
3896 _In_ ID3D12Resource *pSrcResource);
3897
3898 void(STDMETHODCALLTYPE *CopyTiles)(
3899 ID3D12GraphicsCommandList *This,
3900 _In_ ID3D12Resource *pTiledResource,
3901 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pTileRegionStartCoordinate,
3902 _In_ const D3D12_TILE_REGION_SIZE *pTileRegionSize,
3903 _In_ ID3D12Resource *pBuffer,
3904 UINT64 BufferStartOffsetInBytes,
3905 D3D12_TILE_COPY_FLAGS Flags);
3906
3907 void(STDMETHODCALLTYPE *ResolveSubresource)(
3908 ID3D12GraphicsCommandList *This,
3909 _In_ ID3D12Resource *pDstResource,
3910 _In_ UINT DstSubresource,
3911 _In_ ID3D12Resource *pSrcResource,
3912 _In_ UINT SrcSubresource,
3913 _In_ DXGI_FORMAT Format);
3914
3915 void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(
3916 ID3D12GraphicsCommandList *This,
3917 _In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology);
3918
3919 void(STDMETHODCALLTYPE *RSSetViewports)(
3920 ID3D12GraphicsCommandList *This,
3921 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports,
3922 _In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports);
3923
3924 void(STDMETHODCALLTYPE *RSSetScissorRects)(
3925 ID3D12GraphicsCommandList *This,
3926 _In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects,
3927 _In_reads_(NumRects) const D3D12_RECT *pRects);
3928
3929 void(STDMETHODCALLTYPE *OMSetBlendFactor)(
3930 ID3D12GraphicsCommandList *This,
3931 _In_opt_ const FLOAT BlendFactor[4]);
3932
3933 void(STDMETHODCALLTYPE *OMSetStencilRef)(
3934 ID3D12GraphicsCommandList *This,
3935 _In_ UINT StencilRef);
3936
3937 void(STDMETHODCALLTYPE *SetPipelineState)(
3938 ID3D12GraphicsCommandList *This,
3939 _In_ ID3D12PipelineState *pPipelineState);
3940
3941 void(STDMETHODCALLTYPE *ResourceBarrier)(
3942 ID3D12GraphicsCommandList *This,
3943 _In_ UINT NumBarriers,
3944 _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers);
3945
3946 void(STDMETHODCALLTYPE *ExecuteBundle)(
3947 ID3D12GraphicsCommandList *This,
3948 _In_ ID3D12GraphicsCommandList *pCommandList);
3949
3950 void(STDMETHODCALLTYPE *SetDescriptorHeaps)(
3951 ID3D12GraphicsCommandList *This,
3952 _In_ UINT NumDescriptorHeaps,
3953 _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps);
3954
3955 void(STDMETHODCALLTYPE *SetComputeRootSignature)(
3956 ID3D12GraphicsCommandList *This,
3957 _In_opt_ ID3D12RootSignature *pRootSignature);
3958
3959 void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(
3960 ID3D12GraphicsCommandList *This,
3961 _In_opt_ ID3D12RootSignature *pRootSignature);
3962
3963 void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(
3964 ID3D12GraphicsCommandList *This,
3965 _In_ UINT RootParameterIndex,
3966 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
3967
3968 void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(
3969 ID3D12GraphicsCommandList *This,
3970 _In_ UINT RootParameterIndex,
3971 _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor);
3972
3973 void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(
3974 ID3D12GraphicsCommandList *This,
3975 _In_ UINT RootParameterIndex,
3976 _In_ UINT SrcData,
3977 _In_ UINT DestOffsetIn32BitValues);
3978
3979 void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(
3980 ID3D12GraphicsCommandList *This,
3981 _In_ UINT RootParameterIndex,
3982 _In_ UINT SrcData,
3983 _In_ UINT DestOffsetIn32BitValues);
3984
3985 void(STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(
3986 ID3D12GraphicsCommandList *This,
3987 _In_ UINT RootParameterIndex,
3988 _In_ UINT Num32BitValuesToSet,
3989 _In_reads_(Num32BitValuesToSet * sizeof(UINT)) const void *pSrcData,
3990 _In_ UINT DestOffsetIn32BitValues);
3991
3992 void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(
3993 ID3D12GraphicsCommandList *This,
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)(
4000 ID3D12GraphicsCommandList *This,
4001 _In_ UINT RootParameterIndex,
4002 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4003
4004 void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(
4005 ID3D12GraphicsCommandList *This,
4006 _In_ UINT RootParameterIndex,
4007 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4008
4009 void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(
4010 ID3D12GraphicsCommandList *This,
4011 _In_ UINT RootParameterIndex,
4012 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4013
4014 void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(
4015 ID3D12GraphicsCommandList *This,
4016 _In_ UINT RootParameterIndex,
4017 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4018
4019 void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(
4020 ID3D12GraphicsCommandList *This,
4021 _In_ UINT RootParameterIndex,
4022 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4023
4024 void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(
4025 ID3D12GraphicsCommandList *This,
4026 _In_ UINT RootParameterIndex,
4027 _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation);
4028
4029 void(STDMETHODCALLTYPE *IASetIndexBuffer)(
4030 ID3D12GraphicsCommandList *This,
4031 _In_opt_ const D3D12_INDEX_BUFFER_VIEW *pView);
4032
4033 void(STDMETHODCALLTYPE *IASetVertexBuffers)(
4034 ID3D12GraphicsCommandList *This,
4035 _In_ UINT StartSlot,
4036 _In_ UINT NumViews,
4037 _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews);
4038
4039 void(STDMETHODCALLTYPE *SOSetTargets)(
4040 ID3D12GraphicsCommandList *This,
4041 _In_ UINT StartSlot,
4042 _In_ UINT NumViews,
4043 _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews);
4044
4045 void(STDMETHODCALLTYPE *OMSetRenderTargets)(
4046 ID3D12GraphicsCommandList *This,
4047 _In_ UINT NumRenderTargetDescriptors,
4048 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pRenderTargetDescriptors,
4049 _In_ BOOL RTsSingleHandleToDescriptorRange,
4050 _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE *pDepthStencilDescriptor);
4051
4052 void(STDMETHODCALLTYPE *ClearDepthStencilView)(
4053 ID3D12GraphicsCommandList *This,
4054 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView,
4055 _In_ D3D12_CLEAR_FLAGS ClearFlags,
4056 _In_ FLOAT Depth,
4057 _In_ UINT8 Stencil,
4058 _In_ UINT NumRects,
4059 _In_reads_(NumRects) const D3D12_RECT *pRects);
4060
4061 void(STDMETHODCALLTYPE *ClearRenderTargetView)(
4062 ID3D12GraphicsCommandList *This,
4063 _In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView,
4064 _In_ const FLOAT ColorRGBA[4],
4065 _In_ UINT NumRects,
4066 _In_reads_(NumRects) const D3D12_RECT *pRects);
4067
4068 void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(
4069 ID3D12GraphicsCommandList *This,
4070 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
4071 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
4072 _In_ ID3D12Resource *pResource,
4073 _In_ const UINT Values[4],
4074 _In_ UINT NumRects,
4075 _In_reads_(NumRects) const D3D12_RECT *pRects);
4076
4077 void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(
4078 ID3D12GraphicsCommandList *This,
4079 _In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap,
4080 _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle,
4081 _In_ ID3D12Resource *pResource,
4082 _In_ const FLOAT Values[4],
4083 _In_ UINT NumRects,
4084 _In_reads_(NumRects) const D3D12_RECT *pRects);
4085
4086 void(STDMETHODCALLTYPE *DiscardResource)(
4087 ID3D12GraphicsCommandList *This,
4088 _In_ ID3D12Resource *pResource,
4089 _In_opt_ const D3D12_DISCARD_REGION *pRegion);
4090
4091 void(STDMETHODCALLTYPE *BeginQuery)(
4092 ID3D12GraphicsCommandList *This,
4093 _In_ ID3D12QueryHeap *pQueryHeap,
4094 _In_ D3D12_QUERY_TYPE Type,
4095 _In_ UINT Index);
4096
4097 void(STDMETHODCALLTYPE *EndQuery)(
4098 ID3D12GraphicsCommandList *This,
4099 _In_ ID3D12QueryHeap *pQueryHeap,
4100 _In_ D3D12_QUERY_TYPE Type,
4101 _In_ UINT Index);
4102
4103 void(STDMETHODCALLTYPE *ResolveQueryData)(
4104 ID3D12GraphicsCommandList *This,
4105 _In_ ID3D12QueryHeap *pQueryHeap,
4106 _In_ D3D12_QUERY_TYPE Type,
4107 _In_ UINT StartIndex,
4108 _In_ UINT NumQueries,
4109 _In_ ID3D12Resource *pDestinationBuffer,
4110 _In_ UINT64 AlignedDestinationBufferOffset);
4111
4112 void(STDMETHODCALLTYPE *SetPredication)(
4113 ID3D12GraphicsCommandList *This,
4114 _In_opt_ ID3D12Resource *pBuffer,
4115 _In_ UINT64 AlignedBufferOffset,
4116 _In_ D3D12_PREDICATION_OP Operation);
4117
4118 void(STDMETHODCALLTYPE *SetMarker)(
4119 ID3D12GraphicsCommandList *This,
4120 UINT Metadata,
4121 _In_reads_bytes_opt_(Size) const void *pData,
4122 UINT Size);
4123
4124 void(STDMETHODCALLTYPE *BeginEvent)(
4125 ID3D12GraphicsCommandList *This,
4126 UINT Metadata,
4127 _In_reads_bytes_opt_(Size) const void *pData,
4128 UINT Size);
4129
4130 void(STDMETHODCALLTYPE *EndEvent)(
4131 ID3D12GraphicsCommandList *This);
4132
4133 void(STDMETHODCALLTYPE *ExecuteIndirect)(
4134 ID3D12GraphicsCommandList *This,
4135 _In_ ID3D12CommandSignature *pCommandSignature,
4136 _In_ UINT MaxCommandCount,
4137 _In_ ID3D12Resource *pArgumentBuffer,
4138 _In_ UINT64 ArgumentBufferOffset,
4139 _In_opt_ ID3D12Resource *pCountBuffer,
4140 _In_ UINT64 CountBufferOffset);
4141
4142 END_INTERFACE
4143} ID3D12GraphicsCommandListVtbl;
4144
4145 interface ID3D12GraphicsCommandList {
4146 CONST_VTBL struct ID3D12GraphicsCommandListVtbl *lpVtbl;
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
4343 EXTERN_C const IID IID_ID3D12CommandQueue;
4344
4345#if defined(__cplusplus) && !defined(CINTERFACE)
4346
4347 MIDL_INTERFACE("0ec870a6-5d7e-4c22-8cfc-5baae07616ed")
4348 ID3D12CommandQueue : public ID3D12Pageable {
4349 public:
4350 virtual void STDMETHODCALLTYPE UpdateTileMappings(
4351 _In_ ID3D12Resource * pResource,
4352 UINT NumResourceRegions,
4353 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
4354 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
4355 _In_opt_ ID3D12Heap *pHeap,
4356 UINT NumRanges,
4357 _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags,
4358 _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets,
4359 _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts,
4360 D3D12_TILE_MAPPING_FLAGS Flags) = 0;
4361
4362 virtual void STDMETHODCALLTYPE CopyTileMappings(
4363 _In_ ID3D12Resource * pDstResource,
4364 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
4365 _In_ ID3D12Resource *pSrcResource,
4366 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
4367 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
4368 D3D12_TILE_MAPPING_FLAGS Flags) = 0;
4369
4370 virtual void STDMETHODCALLTYPE ExecuteCommandLists(
4371 _In_ UINT NumCommandLists,
4372 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists) = 0;
4373
4374 virtual void STDMETHODCALLTYPE SetMarker(
4375 UINT Metadata,
4376 _In_reads_bytes_opt_(Size) const void *pData,
4377 UINT Size) = 0;
4378
4379 virtual void STDMETHODCALLTYPE BeginEvent(
4380 UINT Metadata,
4381 _In_reads_bytes_opt_(Size) const void *pData,
4382 UINT Size) = 0;
4383
4384 virtual void STDMETHODCALLTYPE EndEvent() = 0;
4385
4386 virtual HRESULT STDMETHODCALLTYPE Signal(
4387 ID3D12Fence * pFence,
4388 UINT64 Value) = 0;
4389
4390 virtual HRESULT STDMETHODCALLTYPE Wait(
4391 ID3D12Fence * pFence,
4392 UINT64 Value) = 0;
4393
4394 virtual HRESULT STDMETHODCALLTYPE GetTimestampFrequency(
4395 _Out_ UINT64 * pFrequency) = 0;
4396
4397 virtual HRESULT STDMETHODCALLTYPE GetClockCalibration(
4398 _Out_ UINT64 * pGpuTimestamp,
4399 _Out_ UINT64 * pCpuTimestamp) = 0;
4400
4401 virtual D3D12_COMMAND_QUEUE_DESC STDMETHODCALLTYPE GetDesc() = 0;
4402};
4403
4404#else /* C style interface */
4405
4406 typedef struct ID3D12CommandQueueVtbl {
4407 BEGIN_INTERFACE
4408
4409 HRESULT(STDMETHODCALLTYPE *QueryInterface)
4410 (
4411 ID3D12CommandQueue *This,
4412 REFIID riid,
4413 _COM_Outptr_ void **ppvObject);
4414
4415 ULONG(STDMETHODCALLTYPE *AddRef)
4416 (
4417 ID3D12CommandQueue *This);
4418
4419 ULONG(STDMETHODCALLTYPE *Release)
4420 (
4421 ID3D12CommandQueue *This);
4422
4423 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4424 (
4425 ID3D12CommandQueue *This,
4426 _In_ REFGUID guid,
4427 _Inout_ UINT *pDataSize,
4428 _Out_writes_bytes_opt_(*pDataSize) void *pData);
4429
4430 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4431 (
4432 ID3D12CommandQueue *This,
4433 _In_ REFGUID guid,
4434 _In_ UINT DataSize,
4435 _In_reads_bytes_opt_(DataSize) const void *pData);
4436
4437 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4438 (
4439 ID3D12CommandQueue *This,
4440 _In_ REFGUID guid,
4441 _In_opt_ const IUnknown *pData);
4442
4443 HRESULT(STDMETHODCALLTYPE *SetName)
4444 (
4445 ID3D12CommandQueue *This,
4446 _In_z_ LPCWSTR Name);
4447
4448 HRESULT(STDMETHODCALLTYPE *GetDevice)
4449 (
4450 ID3D12CommandQueue *This,
4451 REFIID riid,
4452 _COM_Outptr_opt_ void **ppvDevice);
4453
4454 void(STDMETHODCALLTYPE *UpdateTileMappings)(
4455 ID3D12CommandQueue *This,
4456 _In_ ID3D12Resource *pResource,
4457 UINT NumResourceRegions,
4458 _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates,
4459 _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes,
4460 _In_opt_ ID3D12Heap *pHeap,
4461 UINT NumRanges,
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,
4465 D3D12_TILE_MAPPING_FLAGS Flags);
4466
4467 void(STDMETHODCALLTYPE *CopyTileMappings)(
4468 ID3D12CommandQueue *This,
4469 _In_ ID3D12Resource *pDstResource,
4470 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pDstRegionStartCoordinate,
4471 _In_ ID3D12Resource *pSrcResource,
4472 _In_ const D3D12_TILED_RESOURCE_COORDINATE *pSrcRegionStartCoordinate,
4473 _In_ const D3D12_TILE_REGION_SIZE *pRegionSize,
4474 D3D12_TILE_MAPPING_FLAGS Flags);
4475
4476 void(STDMETHODCALLTYPE *ExecuteCommandLists)(
4477 ID3D12CommandQueue *This,
4478 _In_ UINT NumCommandLists,
4479 _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists);
4480
4481 void(STDMETHODCALLTYPE *SetMarker)(
4482 ID3D12CommandQueue *This,
4483 UINT Metadata,
4484 _In_reads_bytes_opt_(Size) const void *pData,
4485 UINT Size);
4486
4487 void(STDMETHODCALLTYPE *BeginEvent)(
4488 ID3D12CommandQueue *This,
4489 UINT Metadata,
4490 _In_reads_bytes_opt_(Size) const void *pData,
4491 UINT Size);
4492
4493 void(STDMETHODCALLTYPE *EndEvent)(
4494 ID3D12CommandQueue *This);
4495
4496 HRESULT(STDMETHODCALLTYPE *Signal)
4497 (
4498 ID3D12CommandQueue *This,
4499 ID3D12Fence *pFence,
4500 UINT64 Value);
4501
4502 HRESULT(STDMETHODCALLTYPE *Wait)
4503 (
4504 ID3D12CommandQueue *This,
4505 ID3D12Fence *pFence,
4506 UINT64 Value);
4507
4508 HRESULT(STDMETHODCALLTYPE *GetTimestampFrequency)
4509 (
4510 ID3D12CommandQueue *This,
4511 _Out_ UINT64 *pFrequency);
4512
4513 HRESULT(STDMETHODCALLTYPE *GetClockCalibration)
4514 (
4515 ID3D12CommandQueue *This,
4516 _Out_ UINT64 *pGpuTimestamp,
4517 _Out_ UINT64 *pCpuTimestamp);
4518
4519 D3D12_COMMAND_QUEUE_DESC(STDMETHODCALLTYPE *GetDesc)
4520 (
4521 ID3D12CommandQueue *This);
4522
4523 END_INTERFACE
4524} ID3D12CommandQueueVtbl;
4525
4526 interface 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
4598 typedef struct __LUID {
4599 DWORD LowPart;
4600 LONG HighPart;
4601} LUID;
4602
4603 typedef 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
4616 EXTERN_C const IID IID_ID3D12Device;
4617
4618#if defined(__cplusplus) && !defined(CINTERFACE)
4619
4620 MIDL_INTERFACE("189819f1-1db6-4b57-be54-1821339b85f7")
4621 ID3D12Device : public ID3D12Object {
4622 public:
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(
4631 _In_ D3D12_COMMAND_LIST_TYPE type,
4632 REFIID riid,
4633 _COM_Outptr_ void **ppCommandAllocator) = 0;
4634
4635 virtual HRESULT STDMETHODCALLTYPE CreateGraphicsPipelineState(
4636 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
4637 REFIID riid,
4638 _COM_Outptr_ void **ppPipelineState) = 0;
4639
4640 virtual HRESULT STDMETHODCALLTYPE CreateComputePipelineState(
4641 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
4642 REFIID riid,
4643 _COM_Outptr_ void **ppPipelineState) = 0;
4644
4645 virtual HRESULT STDMETHODCALLTYPE CreateCommandList(
4646 _In_ UINT nodeMask,
4647 _In_ D3D12_COMMAND_LIST_TYPE type,
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(
4674 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
4675 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4676
4677 virtual void STDMETHODCALLTYPE CreateShaderResourceView(
4678 _In_opt_ ID3D12Resource * pResource,
4679 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
4680 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4681
4682 virtual void STDMETHODCALLTYPE CreateUnorderedAccessView(
4683 _In_opt_ ID3D12Resource * pResource,
4684 _In_opt_ ID3D12Resource * pCounterResource,
4685 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
4686 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4687
4688 virtual void STDMETHODCALLTYPE CreateRenderTargetView(
4689 _In_opt_ ID3D12Resource * pResource,
4690 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
4691 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor) = 0;
4692
4693 virtual void STDMETHODCALLTYPE CreateDepthStencilView(
4694 _In_opt_ ID3D12Resource * pResource,
4695 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
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(
4727 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
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,
4760 _In_opt_ LPCWSTR Name,
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(
4769 _In_ LPCWSTR Name,
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(
4809 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
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
4828 typedef struct ID3D12DeviceVtbl {
4829 BEGIN_INTERFACE
4830
4831 HRESULT(STDMETHODCALLTYPE *QueryInterface)
4832 (
4833 ID3D12Device *This,
4834 REFIID riid,
4835 _COM_Outptr_ void **ppvObject);
4836
4837 ULONG(STDMETHODCALLTYPE *AddRef)
4838 (
4839 ID3D12Device *This);
4840
4841 ULONG(STDMETHODCALLTYPE *Release)
4842 (
4843 ID3D12Device *This);
4844
4845 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
4846 (
4847 ID3D12Device *This,
4848 _In_ REFGUID guid,
4849 _Inout_ UINT *pDataSize,
4850 _Out_writes_bytes_opt_(*pDataSize) void *pData);
4851
4852 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
4853 (
4854 ID3D12Device *This,
4855 _In_ REFGUID guid,
4856 _In_ UINT DataSize,
4857 _In_reads_bytes_opt_(DataSize) const void *pData);
4858
4859 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
4860 (
4861 ID3D12Device *This,
4862 _In_ REFGUID guid,
4863 _In_opt_ const IUnknown *pData);
4864
4865 HRESULT(STDMETHODCALLTYPE *SetName)
4866 (
4867 ID3D12Device *This,
4868 _In_z_ LPCWSTR Name);
4869
4870 UINT(STDMETHODCALLTYPE *GetNodeCount)
4871 (
4872 ID3D12Device *This);
4873
4874 HRESULT(STDMETHODCALLTYPE *CreateCommandQueue)
4875 (
4876 ID3D12Device *This,
4877 _In_ const D3D12_COMMAND_QUEUE_DESC *pDesc,
4878 REFIID riid,
4879 _COM_Outptr_ void **ppCommandQueue);
4880
4881 HRESULT(STDMETHODCALLTYPE *CreateCommandAllocator)
4882 (
4883 ID3D12Device *This,
4884 _In_ D3D12_COMMAND_LIST_TYPE type,
4885 REFIID riid,
4886 _COM_Outptr_ void **ppCommandAllocator);
4887
4888 HRESULT(STDMETHODCALLTYPE *CreateGraphicsPipelineState)
4889 (
4890 ID3D12Device *This,
4891 _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC *pDesc,
4892 REFIID riid,
4893 _COM_Outptr_ void **ppPipelineState);
4894
4895 HRESULT(STDMETHODCALLTYPE *CreateComputePipelineState)
4896 (
4897 ID3D12Device *This,
4898 _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC *pDesc,
4899 REFIID riid,
4900 _COM_Outptr_ void **ppPipelineState);
4901
4902 HRESULT(STDMETHODCALLTYPE *CreateCommandList)
4903 (
4904 ID3D12Device *This,
4905 _In_ UINT nodeMask,
4906 _In_ D3D12_COMMAND_LIST_TYPE type,
4907 _In_ ID3D12CommandAllocator *pCommandAllocator,
4908 _In_opt_ ID3D12PipelineState *pInitialState,
4909 REFIID riid,
4910 _COM_Outptr_ void **ppCommandList);
4911
4912 HRESULT(STDMETHODCALLTYPE *CheckFeatureSupport)
4913 (
4914 ID3D12Device *This,
4915 D3D12_FEATURE Feature,
4916 _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData,
4917 UINT FeatureSupportDataSize);
4918
4919 HRESULT(STDMETHODCALLTYPE *CreateDescriptorHeap)
4920 (
4921 ID3D12Device *This,
4922 _In_ const D3D12_DESCRIPTOR_HEAP_DESC *pDescriptorHeapDesc,
4923 REFIID riid,
4924 _COM_Outptr_ void **ppvHeap);
4925
4926 UINT(STDMETHODCALLTYPE *GetDescriptorHandleIncrementSize)
4927 (
4928 ID3D12Device *This,
4929 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType);
4930
4931 HRESULT(STDMETHODCALLTYPE *CreateRootSignature)
4932 (
4933 ID3D12Device *This,
4934 _In_ UINT nodeMask,
4935 _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature,
4936 _In_ SIZE_T blobLengthInBytes,
4937 REFIID riid,
4938 _COM_Outptr_ void **ppvRootSignature);
4939
4940 void(STDMETHODCALLTYPE *CreateConstantBufferView)(
4941 ID3D12Device *This,
4942 _In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC *pDesc,
4943 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
4944
4945 void(STDMETHODCALLTYPE *CreateShaderResourceView)(
4946 ID3D12Device *This,
4947 _In_opt_ ID3D12Resource *pResource,
4948 _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC *pDesc,
4949 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
4950
4951 void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(
4952 ID3D12Device *This,
4953 _In_opt_ ID3D12Resource *pResource,
4954 _In_opt_ ID3D12Resource *pCounterResource,
4955 _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC *pDesc,
4956 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
4957
4958 void(STDMETHODCALLTYPE *CreateRenderTargetView)(
4959 ID3D12Device *This,
4960 _In_opt_ ID3D12Resource *pResource,
4961 _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC *pDesc,
4962 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
4963
4964 void(STDMETHODCALLTYPE *CreateDepthStencilView)(
4965 ID3D12Device *This,
4966 _In_opt_ ID3D12Resource *pResource,
4967 _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC *pDesc,
4968 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
4969
4970 void(STDMETHODCALLTYPE *CreateSampler)(
4971 ID3D12Device *This,
4972 _In_ const D3D12_SAMPLER_DESC *pDesc,
4973 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor);
4974
4975 void(STDMETHODCALLTYPE *CopyDescriptors)(
4976 ID3D12Device *This,
4977 _In_ UINT NumDestDescriptorRanges,
4978 _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
4979 _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes,
4980 _In_ UINT NumSrcDescriptorRanges,
4981 _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
4982 _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes,
4983 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
4984
4985 void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(
4986 ID3D12Device *This,
4987 _In_ UINT NumDescriptors,
4988 _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
4989 _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
4990 _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType);
4991
4992 D3D12_RESOURCE_ALLOCATION_INFO(STDMETHODCALLTYPE *GetResourceAllocationInfo)
4993 (
4994 ID3D12Device *This,
4995 _In_ UINT visibleMask,
4996 _In_ UINT numResourceDescs,
4997 _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs);
4998
4999 D3D12_HEAP_PROPERTIES(STDMETHODCALLTYPE *GetCustomHeapProperties)
5000 (
5001 ID3D12Device *This,
5002 _In_ UINT nodeMask,
5003 D3D12_HEAP_TYPE heapType);
5004
5005 HRESULT(STDMETHODCALLTYPE *CreateCommittedResource)
5006 (
5007 ID3D12Device *This,
5008 _In_ const D3D12_HEAP_PROPERTIES *pHeapProperties,
5009 D3D12_HEAP_FLAGS HeapFlags,
5010 _In_ const D3D12_RESOURCE_DESC *pDesc,
5011 D3D12_RESOURCE_STATES InitialResourceState,
5012 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
5013 REFIID riidResource,
5014 _COM_Outptr_opt_ void **ppvResource);
5015
5016 HRESULT(STDMETHODCALLTYPE *CreateHeap)
5017 (
5018 ID3D12Device *This,
5019 _In_ const D3D12_HEAP_DESC *pDesc,
5020 REFIID riid,
5021 _COM_Outptr_opt_ void **ppvHeap);
5022
5023 HRESULT(STDMETHODCALLTYPE *CreatePlacedResource)
5024 (
5025 ID3D12Device *This,
5026 _In_ ID3D12Heap *pHeap,
5027 UINT64 HeapOffset,
5028 _In_ const D3D12_RESOURCE_DESC *pDesc,
5029 D3D12_RESOURCE_STATES InitialState,
5030 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
5031 REFIID riid,
5032 _COM_Outptr_opt_ void **ppvResource);
5033
5034 HRESULT(STDMETHODCALLTYPE *CreateReservedResource)
5035 (
5036 ID3D12Device *This,
5037 _In_ const D3D12_RESOURCE_DESC *pDesc,
5038 D3D12_RESOURCE_STATES InitialState,
5039 _In_opt_ const D3D12_CLEAR_VALUE *pOptimizedClearValue,
5040 REFIID riid,
5041 _COM_Outptr_opt_ void **ppvResource);
5042
5043 HRESULT(STDMETHODCALLTYPE *CreateSharedHandle)
5044 (
5045 ID3D12Device *This,
5046 _In_ ID3D12DeviceChild *pObject,
5047 _In_opt_ const SECURITY_ATTRIBUTES *pAttributes,
5048 DWORD Access,
5049 _In_opt_ LPCWSTR Name,
5050 _Out_ HANDLE *pHandle);
5051
5052 HRESULT(STDMETHODCALLTYPE *OpenSharedHandle)
5053 (
5054 ID3D12Device *This,
5055 _In_ HANDLE NTHandle,
5056 REFIID riid,
5057 _COM_Outptr_opt_ void **ppvObj);
5058
5059 HRESULT(STDMETHODCALLTYPE *OpenSharedHandleByName)
5060 (
5061 ID3D12Device *This,
5062 _In_ LPCWSTR Name,
5063 DWORD Access,
5064 /* [annotation][out] */
5065 _Out_ HANDLE *pNTHandle);
5066
5067 HRESULT(STDMETHODCALLTYPE *MakeResident)
5068 (
5069 ID3D12Device *This,
5070 UINT NumObjects,
5071 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5072
5073 HRESULT(STDMETHODCALLTYPE *Evict)
5074 (
5075 ID3D12Device *This,
5076 UINT NumObjects,
5077 _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects);
5078
5079 HRESULT(STDMETHODCALLTYPE *CreateFence)
5080 (
5081 ID3D12Device *This,
5082 UINT64 InitialValue,
5083 D3D12_FENCE_FLAGS Flags,
5084 REFIID riid,
5085 _COM_Outptr_ void **ppFence);
5086
5087 HRESULT(STDMETHODCALLTYPE *GetDeviceRemovedReason)
5088 (
5089 ID3D12Device *This);
5090
5091 void(STDMETHODCALLTYPE *GetCopyableFootprints)(
5092 ID3D12Device *This,
5093 _In_ const D3D12_RESOURCE_DESC *pResourceDesc,
5094 _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource,
5095 _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources,
5096 UINT64 BaseOffset,
5097 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts,
5098 _Out_writes_opt_(NumSubresources) UINT *pNumRows,
5099 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes,
5100 _Out_opt_ UINT64 *pTotalBytes);
5101
5102 HRESULT(STDMETHODCALLTYPE *CreateQueryHeap)
5103 (
5104 ID3D12Device *This,
5105 _In_ const D3D12_QUERY_HEAP_DESC *pDesc,
5106 REFIID riid,
5107 _COM_Outptr_opt_ void **ppvHeap);
5108
5109 HRESULT(STDMETHODCALLTYPE *SetStablePowerState)
5110 (
5111 ID3D12Device *This,
5112 BOOL Enable);
5113
5114 HRESULT(STDMETHODCALLTYPE *CreateCommandSignature)
5115 (
5116 ID3D12Device *This,
5117 _In_ const D3D12_COMMAND_SIGNATURE_DESC *pDesc,
5118 _In_opt_ ID3D12RootSignature *pRootSignature,
5119 REFIID riid,
5120 _COM_Outptr_opt_ void **ppvCommandSignature);
5121
5122 void(STDMETHODCALLTYPE *GetResourceTiling)(
5123 ID3D12Device *This,
5124 _In_ ID3D12Resource *pTiledResource,
5125 _Out_opt_ UINT *pNumTilesForEntireResource,
5126 _Out_opt_ D3D12_PACKED_MIP_INFO *pPackedMipDesc,
5127 _Out_opt_ D3D12_TILE_SHAPE *pStandardTileShapeForNonPackedMips,
5128 _Inout_opt_ UINT *pNumSubresourceTilings,
5129 _In_ UINT FirstSubresourceTilingToGet,
5130 _Out_writes_(*pNumSubresourceTilings) D3D12_SUBRESOURCE_TILING *pSubresourceTilingsForNonPackedMips);
5131
5132 LUID(STDMETHODCALLTYPE *GetAdapterLuid)
5133 (
5134 ID3D12Device *This);
5135
5136 END_INTERFACE
5137} ID3D12DeviceVtbl;
5138
5139 interface 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
5289 EXTERN_C const IID IID_ID3D12Fence;
5290
5291#if defined(__cplusplus) && !defined(CINTERFACE)
5292
5293 MIDL_INTERFACE("0a753dcf-c4d8-4b91-adf6-be5a60d95a76")
5294 ID3D12Fence : public ID3D12Pageable {
5295 public:
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
5308 typedef struct ID3D12FenceVtbl {
5309 BEGIN_INTERFACE
5310
5311 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5312 (
5313 ID3D12Fence *This,
5314 REFIID riid,
5315 _COM_Outptr_ void **ppvObject);
5316
5317 ULONG(STDMETHODCALLTYPE *AddRef)
5318 (
5319 ID3D12Fence *This);
5320
5321 ULONG(STDMETHODCALLTYPE *Release)
5322 (
5323 ID3D12Fence *This);
5324
5325 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5326 (
5327 ID3D12Fence *This,
5328 _In_ REFGUID guid,
5329 _Inout_ UINT *pDataSize,
5330 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5331
5332 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5333 (
5334 ID3D12Fence *This,
5335 _In_ REFGUID guid,
5336 _In_ UINT DataSize,
5337 _In_reads_bytes_opt_(DataSize) const void *pData);
5338
5339 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5340 (
5341 ID3D12Fence *This,
5342 _In_ REFGUID guid,
5343 _In_opt_ const IUnknown *pData);
5344
5345 HRESULT(STDMETHODCALLTYPE *SetName)
5346 (
5347 ID3D12Fence *This,
5348 _In_z_ LPCWSTR Name);
5349
5350 HRESULT(STDMETHODCALLTYPE *GetDevice)
5351 (
5352 ID3D12Fence *This,
5353 REFIID riid,
5354 _COM_Outptr_opt_ void **ppvDevice);
5355
5356 UINT64(STDMETHODCALLTYPE *GetCompletedValue)
5357 (
5358 ID3D12Fence *This);
5359
5360 HRESULT(STDMETHODCALLTYPE *SetEventOnCompletion)
5361 (
5362 ID3D12Fence *This,
5363 UINT64 Value,
5364 HANDLE hEvent);
5365
5366 HRESULT(STDMETHODCALLTYPE *Signal)
5367 (
5368 ID3D12Fence *This,
5369 UINT64 Value);
5370
5371 END_INTERFACE
5372} ID3D12FenceVtbl;
5373
5374 interface 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
5425 EXTERN_C const IID IID_ID3D12PipelineState;
5426
5427#if defined(__cplusplus) && !defined(CINTERFACE)
5428
5429 MIDL_INTERFACE("765a30f3-f624-4c6f-a828-ace948622445")
5430 ID3D12PipelineState : public ID3D12Pageable {
5431 public:
5432 virtual HRESULT STDMETHODCALLTYPE GetCachedBlob(
5433 _COM_Outptr_ ID3DBlob * *ppBlob) = 0;
5434};
5435
5436#else /* C style interface */
5437
5438 typedef struct ID3D12PipelineStateVtbl {
5439 BEGIN_INTERFACE
5440
5441 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5442 (
5443 ID3D12PipelineState *This,
5444 REFIID riid,
5445 _COM_Outptr_ void **ppvObject);
5446
5447 ULONG(STDMETHODCALLTYPE *AddRef)
5448 (
5449 ID3D12PipelineState *This);
5450
5451 ULONG(STDMETHODCALLTYPE *Release)
5452 (
5453 ID3D12PipelineState *This);
5454
5455 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5456 (
5457 ID3D12PipelineState *This,
5458 _In_ REFGUID guid,
5459 _Inout_ UINT *pDataSize,
5460 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5461
5462 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5463 (
5464 ID3D12PipelineState *This,
5465 _In_ REFGUID guid,
5466 _In_ UINT DataSize,
5467 _In_reads_bytes_opt_(DataSize) const void *pData);
5468
5469 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5470 (
5471 ID3D12PipelineState *This,
5472 _In_ REFGUID guid,
5473 _In_opt_ const IUnknown *pData);
5474
5475 HRESULT(STDMETHODCALLTYPE *SetName)
5476 (
5477 ID3D12PipelineState *This,
5478 _In_z_ LPCWSTR Name);
5479
5480 HRESULT(STDMETHODCALLTYPE *GetDevice)
5481 (
5482 ID3D12PipelineState *This,
5483 REFIID riid,
5484 _COM_Outptr_opt_ void **ppvDevice);
5485
5486 HRESULT(STDMETHODCALLTYPE *GetCachedBlob)
5487 (
5488 ID3D12PipelineState *This,
5489 _COM_Outptr_ ID3DBlob **ppBlob);
5490
5491 END_INTERFACE
5492} ID3D12PipelineStateVtbl;
5493
5494 interface 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
5539 EXTERN_C const IID IID_ID3D12DescriptorHeap;
5540
5541#if defined(__cplusplus) && !defined(CINTERFACE)
5542
5543 MIDL_INTERFACE("8efb471d-616c-4f49-90f7-127bb763fa51")
5544 ID3D12DescriptorHeap : public ID3D12Pageable {
5545 public:
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
5555 typedef struct ID3D12DescriptorHeapVtbl {
5556 BEGIN_INTERFACE
5557
5558 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5559 (
5560 ID3D12DescriptorHeap *This,
5561 REFIID riid,
5562 _COM_Outptr_ void **ppvObject);
5563
5564 ULONG(STDMETHODCALLTYPE *AddRef)
5565 (
5566 ID3D12DescriptorHeap *This);
5567
5568 ULONG(STDMETHODCALLTYPE *Release)
5569 (
5570 ID3D12DescriptorHeap *This);
5571
5572 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5573 (
5574 ID3D12DescriptorHeap *This,
5575 _In_ REFGUID guid,
5576 _Inout_ UINT *pDataSize,
5577 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5578
5579 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5580 (
5581 ID3D12DescriptorHeap *This,
5582 _In_ REFGUID guid,
5583 _In_ UINT DataSize,
5584 _In_reads_bytes_opt_(DataSize) const void *pData);
5585
5586 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5587 (
5588 ID3D12DescriptorHeap *This,
5589 _In_ REFGUID guid,
5590 _In_opt_ const IUnknown *pData);
5591
5592 HRESULT(STDMETHODCALLTYPE *SetName)
5593 (
5594 ID3D12DescriptorHeap *This,
5595 _In_z_ LPCWSTR Name);
5596
5597 HRESULT(STDMETHODCALLTYPE *GetDevice)
5598 (
5599 ID3D12DescriptorHeap *This,
5600 REFIID riid,
5601 _COM_Outptr_opt_ void **ppvDevice);
5602
5603 D3D12_DESCRIPTOR_HEAP_DESC(STDMETHODCALLTYPE *GetDesc)
5604 (
5605 ID3D12DescriptorHeap *This);
5606
5607 D3D12_CPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetCPUDescriptorHandleForHeapStart)
5608 (
5609 ID3D12DescriptorHeap *This);
5610
5611 D3D12_GPU_DESCRIPTOR_HANDLE(STDMETHODCALLTYPE *GetGPUDescriptorHandleForHeapStart)
5612 (
5613 ID3D12DescriptorHeap *This);
5614
5615 END_INTERFACE
5616} ID3D12DescriptorHeapVtbl;
5617
5618 interface 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
5669 EXTERN_C const IID IID_ID3D12QueryHeap;
5670
5671#if defined(__cplusplus) && !defined(CINTERFACE)
5672
5673 MIDL_INTERFACE("0d9658ae-ed45-469e-a61d-970ec583cab4")
5674 ID3D12QueryHeap : public ID3D12Pageable{
5675 public :
5676};
5677
5678#else /* C style interface */
5679
5680 typedef struct ID3D12QueryHeapVtbl {
5681 BEGIN_INTERFACE
5682
5683 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5684 (
5685 ID3D12QueryHeap *This,
5686 REFIID riid,
5687 _COM_Outptr_ void **ppvObject);
5688
5689 ULONG(STDMETHODCALLTYPE *AddRef)
5690 (
5691 ID3D12QueryHeap *This);
5692
5693 ULONG(STDMETHODCALLTYPE *Release)
5694 (
5695 ID3D12QueryHeap *This);
5696
5697 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
5698 (
5699 ID3D12QueryHeap *This,
5700 _In_ REFGUID guid,
5701 _Inout_ UINT *pDataSize,
5702 _Out_writes_bytes_opt_(*pDataSize) void *pData);
5703
5704 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
5705 (
5706 ID3D12QueryHeap *This,
5707 _In_ REFGUID guid,
5708 _In_ UINT DataSize,
5709 _In_reads_bytes_opt_(DataSize) const void *pData);
5710
5711 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
5712 (
5713 ID3D12QueryHeap *This,
5714 _In_ REFGUID guid,
5715 _In_opt_ const IUnknown *pData);
5716
5717 HRESULT(STDMETHODCALLTYPE *SetName)
5718 (
5719 ID3D12QueryHeap *This,
5720 _In_z_ LPCWSTR Name);
5721
5722 HRESULT(STDMETHODCALLTYPE *GetDevice)
5723 (
5724 ID3D12QueryHeap *This,
5725 REFIID riid,
5726 _COM_Outptr_opt_ void **ppvDevice);
5727
5728 END_INTERFACE
5729} ID3D12QueryHeapVtbl;
5730
5731 interface 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
5767 typedef HRESULT(WINAPI *PFN_D3D12_CREATE_DEVICE)(_In_opt_ IUnknown *,
5768 D3D_FEATURE_LEVEL,
5769 _In_ REFIID, _COM_Outptr_opt_ void **);
5770
5771 typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(
5772 _In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature,
5773 _In_ D3D_ROOT_SIGNATURE_VERSION Version,
5774 _Out_ ID3DBlob **ppBlob,
5775 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob);
5776
5777 typedef HRESULT(WINAPI *PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **);
5778
5779 DEFINE_GUID(IID_ID3D12Object, 0xc4fec28f, 0x7966, 0x4e95, 0x9f, 0x94, 0xf4, 0x31, 0xcb, 0x56, 0xc3, 0xb8);
5780 DEFINE_GUID(IID_ID3D12DeviceChild, 0x905db94b, 0xa00c, 0x4140, 0x9d, 0xf5, 0x2b, 0x64, 0xca, 0x9e, 0xa3, 0x57);
5781 DEFINE_GUID(IID_ID3D12RootSignature, 0xc54a6b66, 0x72df, 0x4ee8, 0x8b, 0xe5, 0xa9, 0x46, 0xa1, 0x42, 0x92, 0x14);
5782 DEFINE_GUID(IID_ID3D12RootSignatureDeserializer, 0x34AB647B, 0x3CC8, 0x46AC, 0x84, 0x1B, 0xC0, 0x96, 0x56, 0x45, 0xC0, 0x46);
5783 DEFINE_GUID(IID_ID3D12VersionedRootSignatureDeserializer, 0x7F91CE67, 0x090C, 0x4BB7, 0xB7, 0x8E, 0xED, 0x8F, 0xF2, 0xE3, 0x1D, 0xA0);
5784 DEFINE_GUID(IID_ID3D12Pageable, 0x63ee58fb, 0x1268, 0x4835, 0x86, 0xda, 0xf0, 0x08, 0xce, 0x62, 0xf0, 0xd6);
5785 DEFINE_GUID(IID_ID3D12Heap, 0x6b3b2502, 0x6e51, 0x45b3, 0x90, 0xee, 0x98, 0x84, 0x26, 0x5e, 0x8d, 0xf3);
5786 DEFINE_GUID(IID_ID3D12Resource, 0x696442be, 0xa72e, 0x4059, 0xbc, 0x79, 0x5b, 0x5c, 0x98, 0x04, 0x0f, 0xad);
5787 DEFINE_GUID(IID_ID3D12CommandAllocator, 0x6102dee4, 0xaf59, 0x4b09, 0xb9, 0x99, 0xb4, 0x4d, 0x73, 0xf0, 0x9b, 0x24);
5788 DEFINE_GUID(IID_ID3D12Fence, 0x0a753dcf, 0xc4d8, 0x4b91, 0xad, 0xf6, 0xbe, 0x5a, 0x60, 0xd9, 0x5a, 0x76);
5789 DEFINE_GUID(IID_ID3D12PipelineState, 0x765a30f3, 0xf624, 0x4c6f, 0xa8, 0x28, 0xac, 0xe9, 0x48, 0x62, 0x24, 0x45);
5790 DEFINE_GUID(IID_ID3D12DescriptorHeap, 0x8efb471d, 0x616c, 0x4f49, 0x90, 0xf7, 0x12, 0x7b, 0xb7, 0x63, 0xfa, 0x51);
5791 DEFINE_GUID(IID_ID3D12QueryHeap, 0x0d9658ae, 0xed45, 0x469e, 0xa6, 0x1d, 0x97, 0x0e, 0xc5, 0x83, 0xca, 0xb4);
5792 DEFINE_GUID(IID_ID3D12CommandSignature, 0xc36a797c, 0xec80, 0x4f0a, 0x89, 0x85, 0xa7, 0xb2, 0x47, 0x50, 0x82, 0xd1);
5793 DEFINE_GUID(IID_ID3D12CommandList, 0x7116d91c, 0xe7e4, 0x47ce, 0xb8, 0xc6, 0xec, 0x81, 0x68, 0xf4, 0x37, 0xe5);
5794 DEFINE_GUID(IID_ID3D12GraphicsCommandList, 0x5b160d0f, 0xac1b, 0x4185, 0x8b, 0xa8, 0xb3, 0xae, 0x42, 0xa5, 0xa4, 0x55);
5795 DEFINE_GUID(IID_ID3D12GraphicsCommandList1, 0x553103fb, 0x1fe7, 0x4557, 0xbb, 0x38, 0x94, 0x6d, 0x7d, 0x0e, 0x7c, 0xa7);
5796 DEFINE_GUID(IID_ID3D12CommandQueue, 0x0ec870a6, 0x5d7e, 0x4c22, 0x8c, 0xfc, 0x5b, 0xaa, 0xe0, 0x76, 0x16, 0xed);
5797 DEFINE_GUID(IID_ID3D12Device, 0x189819f1, 0x1db6, 0x4b57, 0xbe, 0x54, 0x18, 0x21, 0x33, 0x9b, 0x85, 0xf7);
5798 DEFINE_GUID(IID_ID3D12PipelineLibrary, 0xc64226a8, 0x9201, 0x46af, 0xb4, 0xcc, 0x53, 0xfb, 0x9f, 0xf7, 0x41, 0x4f);
5799 DEFINE_GUID(IID_ID3D12PipelineLibrary1, 0x80eabf42, 0x2568, 0x4e5e, 0xbd, 0x82, 0xc3, 0x7f, 0x86, 0x96, 0x1d, 0xc3);
5800 DEFINE_GUID(IID_ID3D12Device1, 0x77acce80, 0x638e, 0x4e65, 0x88, 0x95, 0xc1, 0xf2, 0x33, 0x86, 0x86, 0x3e);
5801 DEFINE_GUID(IID_ID3D12Device2, 0x30baa41e, 0xb15b, 0x475c, 0xa0, 0xbb, 0x1a, 0xf5, 0xc5, 0xb6, 0x43, 0x28);
5802 DEFINE_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__
5811 typedef interface ID3D12Debug ID3D12Debug;
5812
5813#endif /* __ID3D12Debug_FWD_DEFINED__ */
5814
5815#ifdef __cplusplus
5816 extern "C" {
5817#endif
5818
5819#ifndef __ID3D12Debug_INTERFACE_DEFINED__
5820#define __ID3D12Debug_INTERFACE_DEFINED__
5821
5822/* interface ID3D12Debug */
5823/* [unique][local][object][uuid] */
5824
5825 EXTERN_C const IID IID_ID3D12Debug;
5826
5827#if defined(__cplusplus) && !defined(CINTERFACE)
5828
5829 MIDL_INTERFACE("344488b7-6846-474b-b989-f027448245e0")
5830 ID3D12Debug : public IUnknown {
5831 public:
5832 virtual void STDMETHODCALLTYPE EnableDebugLayer() = 0;
5833};
5834
5835#else /* C style interface */
5836
5837 typedef struct ID3D12DebugVtbl {
5838 BEGIN_INTERFACE
5839
5840 HRESULT(STDMETHODCALLTYPE *QueryInterface)
5841 (
5842 ID3D12Debug *This,
5843 REFIID riid,
5844 _COM_Outptr_ void **ppvObject);
5845
5846 ULONG(STDMETHODCALLTYPE *AddRef)
5847 (
5848 ID3D12Debug *This);
5849
5850 ULONG(STDMETHODCALLTYPE *Release)
5851 (
5852 ID3D12Debug *This);
5853
5854 void(STDMETHODCALLTYPE *EnableDebugLayer)(
5855 ID3D12Debug *This);
5856
5857 END_INTERFACE
5858} ID3D12DebugVtbl;
5859
5860 interface 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
5884 DEFINE_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__
5893 typedef interface IDXGIObject IDXGIObject;
5894
5895#endif /* __IDXGIObject_FWD_DEFINED__ */
5896
5897#ifndef __IDXGIAdapter_FWD_DEFINED__
5898#define __IDXGIAdapter_FWD_DEFINED__
5899 typedef interface IDXGIAdapter IDXGIAdapter;
5900
5901#endif /* __IDXGIAdapter_FWD_DEFINED__ */
5902
5903#ifndef __IDXGIOutput_FWD_DEFINED__
5904#define __IDXGIOutput_FWD_DEFINED__
5905 typedef interface IDXGIOutput IDXGIOutput;
5906
5907#endif /* __IDXGIOutput_FWD_DEFINED__ */
5908
5909#ifndef __IDXGISwapChain_FWD_DEFINED__
5910#define __IDXGISwapChain_FWD_DEFINED__
5911 typedef interface IDXGISwapChain IDXGISwapChain;
5912
5913#endif /* __IDXGISwapChain_FWD_DEFINED__ */
5914
5915#ifndef __IDXGIFactory_FWD_DEFINED__
5916#define __IDXGIFactory_FWD_DEFINED__
5917 typedef interface IDXGIFactory IDXGIFactory;
5918
5919#endif /* __IDXGIFactory_FWD_DEFINED__ */
5920
5921#ifndef __IDXGIFactory1_FWD_DEFINED__
5922#define __IDXGIFactory1_FWD_DEFINED__
5923 typedef interface IDXGIFactory1 IDXGIFactory1;
5924
5925#endif /* __IDXGIFactory1_FWD_DEFINED__ */
5926
5927#ifndef __IDXGIAdapter1_FWD_DEFINED__
5928#define __IDXGIAdapter1_FWD_DEFINED__
5929 typedef interface IDXGIAdapter1 IDXGIAdapter1;
5930
5931#endif /* __IDXGIAdapter1_FWD_DEFINED__ */
5932
5933 typedef struct DXGI_ADAPTER_DESC {
5934 WCHAR Description[128];
5935 UINT VendorId;
5936 UINT DeviceId;
5937 UINT SubSysId;
5938 UINT Revision;
5939 SIZE_T DedicatedVideoMemory;
5940 SIZE_T DedicatedSystemMemory;
5941 SIZE_T SharedSystemMemory;
5942 LUID AdapterLuid;
5943} DXGI_ADAPTER_DESC;
5944
5945 typedef enum DXGI_ADAPTER_FLAG {
5946 DXGI_ADAPTER_FLAG_NONE = 0,
5947 DXGI_ADAPTER_FLAG_REMOTE = 1,
5948 DXGI_ADAPTER_FLAG_SOFTWARE = 2,
5949 DXGI_ADAPTER_FLAG_FORCE_DWORD = 0xffffffff
5950} DXGI_ADAPTER_FLAG;
5951
5952 typedef struct DXGI_ADAPTER_DESC1 {
5953 WCHAR Description[128];
5954 UINT VendorId;
5955 UINT DeviceId;
5956 UINT SubSysId;
5957 UINT Revision;
5958 SIZE_T DedicatedVideoMemory;
5959 SIZE_T DedicatedSystemMemory;
5960 SIZE_T SharedSystemMemory;
5961 LUID AdapterLuid;
5962 UINT Flags;
5963} DXGI_ADAPTER_DESC1;
5964
5965 typedef struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC;
5966
5967#ifndef __IDXGIObject_INTERFACE_DEFINED__
5968#define __IDXGIObject_INTERFACE_DEFINED__
5969
5970/* interface IDXGIObject */
5971/* [unique][local][uuid][object] */
5972
5973 EXTERN_C const IID IID_IDXGIObject;
5974
5975#if defined(__cplusplus) && !defined(CINTERFACE)
5976
5977 MIDL_INTERFACE("aec22fb8-76f3-4639-9be0-28eb43a67a2e")
5978 IDXGIObject : public IUnknown {
5979 public:
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
6010 typedef struct IDXGIObjectVtbl {
6011 BEGIN_INTERFACE
6012
6013 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6014 (
6015 IDXGIObject *This,
6016 /* [in] */ REFIID riid,
6017 /* [annotation][iid_is][out] */
6018 _COM_Outptr_ void **ppvObject);
6019
6020 ULONG(STDMETHODCALLTYPE *AddRef)
6021 (
6022 IDXGIObject *This);
6023
6024 ULONG(STDMETHODCALLTYPE *Release)
6025 (
6026 IDXGIObject *This);
6027
6028 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6029 (
6030 IDXGIObject *This,
6031 /* [annotation][in] */
6032 _In_ REFGUID Name,
6033 /* [in] */ UINT DataSize,
6034 /* [annotation][in] */
6035 _In_reads_bytes_(DataSize) const void *pData);
6036
6037 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6038 (
6039 IDXGIObject *This,
6040 /* [annotation][in] */
6041 _In_ REFGUID Name,
6042 /* [annotation][in] */
6043 _In_opt_ const IUnknown *pUnknown);
6044
6045 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6046 (
6047 IDXGIObject *This,
6048 /* [annotation][in] */
6049 _In_ REFGUID Name,
6050 /* [annotation][out][in] */
6051 _Inout_ UINT *pDataSize,
6052 /* [annotation][out] */
6053 _Out_writes_bytes_(*pDataSize) void *pData);
6054
6055 HRESULT(STDMETHODCALLTYPE *GetParent)
6056 (
6057 IDXGIObject *This,
6058 /* [annotation][in] */
6059 _In_ REFIID riid,
6060 /* [annotation][retval][out] */
6061 _COM_Outptr_ void **ppParent);
6062
6063 END_INTERFACE
6064} IDXGIObjectVtbl;
6065
6066 interface 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
6105 EXTERN_C const IID IID_IDXGIFactory;
6106
6107#if defined(__cplusplus) && !defined(CINTERFACE)
6108
6109 MIDL_INTERFACE("7b7166ec-21c7-44ae-b21a-c9ae321ae369")
6110 IDXGIFactory : public IDXGIObject {
6111 public:
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
6141 typedef struct IDXGIFactoryVtbl {
6142 BEGIN_INTERFACE
6143
6144 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6145 (
6146 IDXGIFactory *This,
6147 /* [in] */ REFIID riid,
6148 /* [annotation][iid_is][out] */
6149 _COM_Outptr_ void **ppvObject);
6150
6151 ULONG(STDMETHODCALLTYPE *AddRef)
6152 (
6153 IDXGIFactory *This);
6154
6155 ULONG(STDMETHODCALLTYPE *Release)
6156 (
6157 IDXGIFactory *This);
6158
6159 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6160 (
6161 IDXGIFactory *This,
6162 /* [annotation][in] */
6163 _In_ REFGUID Name,
6164 /* [in] */ UINT DataSize,
6165 /* [annotation][in] */
6166 _In_reads_bytes_(DataSize) const void *pData);
6167
6168 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6169 (
6170 IDXGIFactory *This,
6171 /* [annotation][in] */
6172 _In_ REFGUID Name,
6173 /* [annotation][in] */
6174 _In_opt_ const IUnknown *pUnknown);
6175
6176 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6177 (
6178 IDXGIFactory *This,
6179 /* [annotation][in] */
6180 _In_ REFGUID Name,
6181 /* [annotation][out][in] */
6182 _Inout_ UINT *pDataSize,
6183 /* [annotation][out] */
6184 _Out_writes_bytes_(*pDataSize) void *pData);
6185
6186 HRESULT(STDMETHODCALLTYPE *GetParent)
6187 (
6188 IDXGIFactory *This,
6189 /* [annotation][in] */
6190 _In_ REFIID riid,
6191 /* [annotation][retval][out] */
6192 _COM_Outptr_ void **ppParent);
6193
6194 HRESULT(STDMETHODCALLTYPE *EnumAdapters)
6195 (
6196 IDXGIFactory *This,
6197 /* [in] */ UINT Adapter,
6198 /* [annotation][out] */
6199 _COM_Outptr_ IDXGIAdapter **ppAdapter);
6200
6201 HRESULT(STDMETHODCALLTYPE *MakeWindowAssociation)
6202 (
6203 IDXGIFactory *This,
6204 HWND WindowHandle,
6205 UINT Flags);
6206
6207 HRESULT(STDMETHODCALLTYPE *GetWindowAssociation)
6208 (
6209 IDXGIFactory *This,
6210 /* [annotation][out] */
6211 _Out_ HWND *pWindowHandle);
6212
6213 HRESULT(STDMETHODCALLTYPE *CreateSwapChain)
6214 (
6215 IDXGIFactory *This,
6216 /* [annotation][in] */
6217 _In_ IUnknown *pDevice,
6218 /* [annotation][in] */
6219 _In_ DXGI_SWAP_CHAIN_DESC *pDesc,
6220 /* [annotation][out] */
6221 _COM_Outptr_ IDXGISwapChain **ppSwapChain);
6222
6223 HRESULT(STDMETHODCALLTYPE *CreateSoftwareAdapter)
6224 (
6225 IDXGIFactory *This,
6226 /* [in] */ HMODULE Module,
6227 /* [annotation][out] */
6228 _COM_Outptr_ IDXGIAdapter **ppAdapter);
6229
6230 END_INTERFACE
6231} IDXGIFactoryVtbl;
6232
6233 interface 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
6281 struct DXGI_ADAPTER_DESC;
6282
6283#ifndef __IDXGIAdapter_INTERFACE_DEFINED__
6284#define __IDXGIAdapter_INTERFACE_DEFINED__
6285
6286/* interface IDXGIAdapter */
6287/* [unique][local][uuid][object] */
6288
6289 EXTERN_C const IID IID_IDXGIAdapter;
6290
6291#if defined(__cplusplus) && !defined(CINTERFACE)
6292
6293 MIDL_INTERFACE("2411e7e1-12ac-4ccf-bd14-9798e8534dc0")
6294 IDXGIAdapter : public IDXGIObject {
6295 public:
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
6314 typedef struct IDXGIAdapterVtbl {
6315 BEGIN_INTERFACE
6316
6317 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6318 (
6319 IDXGIAdapter *This,
6320 /* [in] */ REFIID riid,
6321 /* [annotation][iid_is][out] */
6322 _COM_Outptr_ void **ppvObject);
6323
6324 ULONG(STDMETHODCALLTYPE *AddRef)
6325 (
6326 IDXGIAdapter *This);
6327
6328 ULONG(STDMETHODCALLTYPE *Release)
6329 (
6330 IDXGIAdapter *This);
6331
6332 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6333 (
6334 IDXGIAdapter *This,
6335 /* [annotation][in] */
6336 _In_ REFGUID Name,
6337 /* [in] */ UINT DataSize,
6338 /* [annotation][in] */
6339 _In_reads_bytes_(DataSize) const void *pData);
6340
6341 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6342 (
6343 IDXGIAdapter *This,
6344 /* [annotation][in] */
6345 _In_ REFGUID Name,
6346 /* [annotation][in] */
6347 _In_opt_ const IUnknown *pUnknown);
6348
6349 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6350 (
6351 IDXGIAdapter *This,
6352 /* [annotation][in] */
6353 _In_ REFGUID Name,
6354 /* [annotation][out][in] */
6355 _Inout_ UINT *pDataSize,
6356 /* [annotation][out] */
6357 _Out_writes_bytes_(*pDataSize) void *pData);
6358
6359 HRESULT(STDMETHODCALLTYPE *GetParent)
6360 (
6361 IDXGIAdapter *This,
6362 /* [annotation][in] */
6363 _In_ REFIID riid,
6364 /* [annotation][retval][out] */
6365 _COM_Outptr_ void **ppParent);
6366
6367 HRESULT(STDMETHODCALLTYPE *EnumOutputs)
6368 (
6369 IDXGIAdapter *This,
6370 /* [in] */ UINT Output,
6371 /* [annotation][out][in] */
6372 _COM_Outptr_ IDXGIOutput **ppOutput);
6373
6374 HRESULT(STDMETHODCALLTYPE *GetDesc)
6375 (
6376 IDXGIAdapter *This,
6377 /* [annotation][out] */
6378 _Out_ DXGI_ADAPTER_DESC *pDesc);
6379
6380 HRESULT(STDMETHODCALLTYPE *CheckInterfaceSupport)
6381 (
6382 IDXGIAdapter *This,
6383 /* [annotation][in] */
6384 _In_ REFGUID InterfaceName,
6385 /* [annotation][out] */
6386 _Out_ LARGE_INTEGER *pUMDVersion);
6387
6388 END_INTERFACE
6389} IDXGIAdapterVtbl;
6390
6391 interface 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
6439 EXTERN_C const IID IID_IDXGIFactory1;
6440
6441#if defined(__cplusplus) && !defined(CINTERFACE)
6442
6443 MIDL_INTERFACE("770aae78-f26f-4dba-a829-253c83d1b387")
6444 IDXGIFactory1 : public IDXGIFactory {
6445 public:
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
6456 typedef struct IDXGIFactory1Vtbl {
6457 BEGIN_INTERFACE
6458
6459 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6460 (
6461 IDXGIFactory1 *This,
6462 /* [in] */ REFIID riid,
6463 /* [annotation][iid_is][out] */
6464 _COM_Outptr_ void **ppvObject);
6465
6466 ULONG(STDMETHODCALLTYPE *AddRef)
6467 (
6468 IDXGIFactory1 *This);
6469
6470 ULONG(STDMETHODCALLTYPE *Release)
6471 (
6472 IDXGIFactory1 *This);
6473
6474 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6475 (
6476 IDXGIFactory1 *This,
6477 /* [annotation][in] */
6478 _In_ REFGUID Name,
6479 /* [in] */ UINT DataSize,
6480 /* [annotation][in] */
6481 _In_reads_bytes_(DataSize) const void *pData);
6482
6483 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6484 (
6485 IDXGIFactory1 *This,
6486 /* [annotation][in] */
6487 _In_ REFGUID Name,
6488 /* [annotation][in] */
6489 _In_opt_ const IUnknown *pUnknown);
6490
6491 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6492 (
6493 IDXGIFactory1 *This,
6494 /* [annotation][in] */
6495 _In_ REFGUID Name,
6496 /* [annotation][out][in] */
6497 _Inout_ UINT *pDataSize,
6498 /* [annotation][out] */
6499 _Out_writes_bytes_(*pDataSize) void *pData);
6500
6501 HRESULT(STDMETHODCALLTYPE *GetParent)
6502 (
6503 IDXGIFactory1 *This,
6504 /* [annotation][in] */
6505 _In_ REFIID riid,
6506 /* [annotation][retval][out] */
6507 _COM_Outptr_ void **ppParent);
6508
6509 HRESULT(STDMETHODCALLTYPE *EnumAdapters)
6510 (
6511 IDXGIFactory1 *This,
6512 /* [in] */ UINT Adapter,
6513 /* [annotation][out] */
6514 _COM_Outptr_ IDXGIAdapter **ppAdapter);
6515
6516 HRESULT(STDMETHODCALLTYPE *MakeWindowAssociation)
6517 (
6518 IDXGIFactory1 *This,
6519 HWND WindowHandle,
6520 UINT Flags);
6521
6522 HRESULT(STDMETHODCALLTYPE *GetWindowAssociation)
6523 (
6524 IDXGIFactory1 *This,
6525 /* [annotation][out] */
6526 _Out_ HWND *pWindowHandle);
6527
6528 HRESULT(STDMETHODCALLTYPE *CreateSwapChain)
6529 (
6530 IDXGIFactory1 *This,
6531 /* [annotation][in] */
6532 _In_ IUnknown *pDevice,
6533 /* [annotation][in] */
6534 _In_ DXGI_SWAP_CHAIN_DESC *pDesc,
6535 /* [annotation][out] */
6536 _COM_Outptr_ IDXGISwapChain **ppSwapChain);
6537
6538 HRESULT(STDMETHODCALLTYPE *CreateSoftwareAdapter)
6539 (
6540 IDXGIFactory1 *This,
6541 /* [in] */ HMODULE Module,
6542 /* [annotation][out] */
6543 _COM_Outptr_ IDXGIAdapter **ppAdapter);
6544
6545 HRESULT(STDMETHODCALLTYPE *EnumAdapters1)
6546 (
6547 IDXGIFactory1 *This,
6548 /* [in] */ UINT Adapter,
6549 /* [annotation][out] */
6550 _COM_Outptr_ IDXGIAdapter1 **ppAdapter);
6551
6552 BOOL(STDMETHODCALLTYPE *IsCurrent)
6553 (
6554 IDXGIFactory1 *This);
6555
6556 END_INTERFACE
6557} IDXGIFactory1Vtbl;
6558
6559 interface 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
6619 EXTERN_C const IID IID_IDXGIAdapter1;
6620
6621#if defined(__cplusplus) && !defined(CINTERFACE)
6622
6623 MIDL_INTERFACE("29038f61-3839-4626-91fd-086879011a05")
6624 IDXGIAdapter1 : public IDXGIAdapter {
6625 public:
6626 virtual HRESULT STDMETHODCALLTYPE GetDesc1(
6627 /* [annotation][out] */
6628 _Out_ DXGI_ADAPTER_DESC1 * pDesc) = 0;
6629};
6630
6631#else /* C style interface */
6632
6633 typedef struct IDXGIAdapter1Vtbl {
6634 BEGIN_INTERFACE
6635
6636 HRESULT(STDMETHODCALLTYPE *QueryInterface)
6637 (
6638 IDXGIAdapter1 *This,
6639 /* [in] */ REFIID riid,
6640 /* [annotation][iid_is][out] */
6641 _COM_Outptr_ void **ppvObject);
6642
6643 ULONG(STDMETHODCALLTYPE *AddRef)
6644 (
6645 IDXGIAdapter1 *This);
6646
6647 ULONG(STDMETHODCALLTYPE *Release)
6648 (
6649 IDXGIAdapter1 *This);
6650
6651 HRESULT(STDMETHODCALLTYPE *SetPrivateData)
6652 (
6653 IDXGIAdapter1 *This,
6654 /* [annotation][in] */
6655 _In_ REFGUID Name,
6656 /* [in] */ UINT DataSize,
6657 /* [annotation][in] */
6658 _In_reads_bytes_(DataSize) const void *pData);
6659
6660 HRESULT(STDMETHODCALLTYPE *SetPrivateDataInterface)
6661 (
6662 IDXGIAdapter1 *This,
6663 /* [annotation][in] */
6664 _In_ REFGUID Name,
6665 /* [annotation][in] */
6666 _In_opt_ const IUnknown *pUnknown);
6667
6668 HRESULT(STDMETHODCALLTYPE *GetPrivateData)
6669 (
6670 IDXGIAdapter1 *This,
6671 /* [annotation][in] */
6672 _In_ REFGUID Name,
6673 /* [annotation][out][in] */
6674 _Inout_ UINT *pDataSize,
6675 /* [annotation][out] */
6676 _Out_writes_bytes_(*pDataSize) void *pData);
6677
6678 HRESULT(STDMETHODCALLTYPE *GetParent)
6679 (
6680 IDXGIAdapter1 *This,
6681 /* [annotation][in] */
6682 _In_ REFIID riid,
6683 /* [annotation][retval][out] */
6684 _COM_Outptr_ void **ppParent);
6685
6686 HRESULT(STDMETHODCALLTYPE *EnumOutputs)
6687 (
6688 IDXGIAdapter1 *This,
6689 /* [in] */ UINT Output,
6690 /* [annotation][out][in] */
6691 _COM_Outptr_ IDXGIOutput **ppOutput);
6692
6693 HRESULT(STDMETHODCALLTYPE *GetDesc)
6694 (
6695 IDXGIAdapter1 *This,
6696 /* [annotation][out] */
6697 _Out_ DXGI_ADAPTER_DESC *pDesc);
6698
6699 HRESULT(STDMETHODCALLTYPE *CheckInterfaceSupport)
6700 (
6701 IDXGIAdapter1 *This,
6702 /* [annotation][in] */
6703 _In_ REFGUID InterfaceName,
6704 /* [annotation][out] */
6705 _Out_ LARGE_INTEGER *pUMDVersion);
6706
6707 HRESULT(STDMETHODCALLTYPE *GetDesc1)
6708 (
6709 IDXGIAdapter1 *This,
6710 /* [annotation][out] */
6711 _Out_ DXGI_ADAPTER_DESC1 *pDesc);
6712
6713 END_INTERFACE
6714} IDXGIAdapter1Vtbl;
6715
6716 interface 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);
6763 typedef HRESULT(WINAPI *PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory);
6764
6765 DEFINE_GUID(IID_IDXGIObject, 0xaec22fb8, 0x76f3, 0x4639, 0x9b, 0xe0, 0x28, 0xeb, 0x43, 0xa6, 0x7a, 0x2e);
6766 DEFINE_GUID(IID_IDXGIDeviceSubObject, 0x3d3e0379, 0xf9de, 0x4d58, 0xbb, 0x6c, 0x18, 0xd6, 0x29, 0x92, 0xf1, 0xa6);
6767 DEFINE_GUID(IID_IDXGIResource, 0x035f3ab4, 0x482e, 0x4e50, 0xb4, 0x1f, 0x8a, 0x7f, 0x8b, 0xd8, 0x96, 0x0b);
6768 DEFINE_GUID(IID_IDXGIKeyedMutex, 0x9d8e1289, 0xd7b3, 0x465f, 0x81, 0x26, 0x25, 0x0e, 0x34, 0x9a, 0xf8, 0x5d);
6769 DEFINE_GUID(IID_IDXGISurface, 0xcafcb56c, 0x6ac3, 0x4889, 0xbf, 0x47, 0x9e, 0x23, 0xbb, 0xd2, 0x60, 0xec);
6770 DEFINE_GUID(IID_IDXGISurface1, 0x4AE63092, 0x6327, 0x4c1b, 0x80, 0xAE, 0xBF, 0xE1, 0x2E, 0xA3, 0x2B, 0x86);
6771 DEFINE_GUID(IID_IDXGIAdapter, 0x2411e7e1, 0x12ac, 0x4ccf, 0xbd, 0x14, 0x97, 0x98, 0xe8, 0x53, 0x4d, 0xc0);
6772 DEFINE_GUID(IID_IDXGIOutput, 0xae02eedb, 0xc735, 0x4690, 0x8d, 0x52, 0x5a, 0x8d, 0xc2, 0x02, 0x13, 0xaa);
6773 DEFINE_GUID(IID_IDXGISwapChain, 0x310d36a0, 0xd2e7, 0x4c0a, 0xaa, 0x04, 0x6a, 0x9d, 0x23, 0xb8, 0x88, 0x6a);
6774 DEFINE_GUID(IID_IDXGIFactory, 0x7b7166ec, 0x21c7, 0x44ae, 0xb2, 0x1a, 0xc9, 0xae, 0x32, 0x1a, 0xe3, 0x69);
6775 DEFINE_GUID(IID_IDXGIDevice, 0x54ec77fa, 0x1377, 0x44e6, 0x8c, 0x32, 0x88, 0xfd, 0x5f, 0x44, 0xc8, 0x4c);
6776 DEFINE_GUID(IID_IDXGIFactory1, 0x770aae78, 0xf26f, 0x4dba, 0xa8, 0x29, 0x25, 0x3c, 0x83, 0xd1, 0xb3, 0x87);
6777 DEFINE_GUID(IID_IDXGIAdapter1, 0x29038f61, 0x3839, 0x4626, 0x91, 0xfd, 0x08, 0x68, 0x79, 0x01, 0x1a, 0x05);
6778 DEFINE_GUID(IID_IDXGIDevice1, 0x77db970f, 0x6276, 0x48ba, 0xba, 0x28, 0x07, 0x01, 0x43, 0xb4, 0x39, 0x2c);
6779
6780/* d3dcompiler.h */
6781 typedef HRESULT(WINAPI *PFN_D3DCOMPILE)(
6782 _In_reads_bytes_(SrcDataSize) LPCVOID pSrcData,
6783 _In_ SIZE_T SrcDataSize,
6784 _In_opt_ LPCSTR pSourceName,
6785 _In_reads_opt_(_Inexpressible_(pDefines->Name != nullptr)) CONST D3D_SHADER_MACRO *pDefines,
6786 _In_opt_ ID3DInclude *pInclude,
6787 _In_opt_ LPCSTR pEntrypoint,
6788 _In_ LPCSTR pTarget,
6789 _In_ UINT Flags1,
6790 _In_ UINT Flags2,
6791 _Out_ ID3DBlob **ppCode,
6792 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorMsgs);
6793
6794#define D3DCOMPILE_DEBUG (1 << 0)
6795#define D3DCOMPILE_SKIP_VALIDATION (1 << 1)
6796#define D3DCOMPILE_SKIP_OPTIMIZATION (1 << 2)
6797#define D3DCOMPILE_PACK_MATRIX_ROW_MAJOR (1 << 3)
6798#define D3DCOMPILE_PACK_MATRIX_COLUMN_MAJOR (1 << 4)
6799#define D3DCOMPILE_PARTIAL_PRECISION (1 << 5)
6800#define D3DCOMPILE_FORCE_VS_SOFTWARE_NO_OPT (1 << 6)
6801#define D3DCOMPILE_FORCE_PS_SOFTWARE_NO_OPT (1 << 7)
6802#define D3DCOMPILE_NO_PRESHADER (1 << 8)
6803#define D3DCOMPILE_AVOID_FLOW_CONTROL (1 << 9)
6804#define D3DCOMPILE_PREFER_FLOW_CONTROL (1 << 10)
6805#define D3DCOMPILE_ENABLE_STRICTNESS (1 << 11)
6806#define D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY (1 << 12)
6807#define D3DCOMPILE_IEEE_STRICTNESS (1 << 13)
6808#define D3DCOMPILE_OPTIMIZATION_LEVEL0 (1 << 14)
6809#define D3DCOMPILE_OPTIMIZATION_LEVEL1 0
6810#define D3DCOMPILE_OPTIMIZATION_LEVEL2 ((1 << 14) | (1 << 15))
6811#define D3DCOMPILE_OPTIMIZATION_LEVEL3 (1 << 15)
6812#define D3DCOMPILE_RESERVED16 (1 << 16)
6813#define D3DCOMPILE_RESERVED17 (1 << 17)
6814#define D3DCOMPILE_WARNINGS_ARE_ERRORS (1 << 18)
6815#define D3DCOMPILE_RESOURCES_MAY_ALIAS (1 << 19)
6816#define D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES (1 << 20)
6817#define D3DCOMPILE_ALL_RESOURCES_BOUND (1 << 21)
6818
6819#ifdef __clang__
6820#pragma clang diagnostic pop
6821#endif
6822
6823// Mini Win32 for D3D12
6824
6825#if !defined(WINBASEAPI)
6826#if !defined(_KERNEL32_)
6827#define WINBASEAPI DECLSPEC_IMPORT
6828#else
6829#define WINBASEAPI
6830#endif
6831#endif
6832
6833#define _Ret_maybenull_
6834#define _Post_ptr_invalid_
6835
6836#define STATUS_WAIT_0 ((DWORD)0x00000000L)
6837#define WAIT_OBJECT_0 ((STATUS_WAIT_0) + 0)
6838
6839 extern "C" {
6840
6841 WINBASEAPI
6842 BOOL
6843 WINAPI
6844 CloseHandle(
6845 _In_ _Post_ptr_invalid_ HANDLE hObject);
6846
6847 WINBASEAPI
6848_Ret_maybenull_
6849 HANDLE
6850 WINAPI
6851 CreateEventA(
6852 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6853 _In_ BOOL bManualReset,
6854 _In_ BOOL bInitialState,
6855 _In_opt_ LPCSTR lpName);
6856
6857 WINBASEAPI
6858_Ret_maybenull_
6859 HANDLE
6860 WINAPI
6861 CreateEventW(
6862 _In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes,
6863 _In_ BOOL bManualReset,
6864 _In_ BOOL bInitialState,
6865 _In_opt_ LPCWSTR lpName);
6866
6867 WINBASEAPI
6868 DWORD
6869 WINAPI
6870 WaitForSingleObject(
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__*/
ID3D12Device2
interface ID3D12Device2 ID3D12Device2
Definition mini_d3d12.h:1431
PSIZE_T
ULONG_PTR * PSIZE_T
Definition mini_d3d12.h:259
LPCSTR
_Null_terminated_ CONST CHAR * LPCSTR
Definition mini_d3d12.h:205
ID3D12GraphicsCommandList
interface ID3D12GraphicsCommandList ID3D12GraphicsCommandList
Definition mini_d3d12.h:1389
UINT_PTR
_W64 UINT32 UINT_PTR
Definition mini_d3d12.h:251
__RPC_string
#define __RPC_string
Definition mini_d3d12.h:150
far
#define far
Definition mini_d3d12.h:187
PFN_D3D12_SERIALIZE_ROOT_SIGNATURE
HRESULT(WINAPI * PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature, _In_ D3D_ROOT_SIGNATURE_VERSION Version, _Out_ ID3DBlob **ppBlob, _Always_(_Outptr_opt_result_maybenull_) ID3DBlob **ppErrorBlob)
Definition mini_d3d12.h:5771
LPVOID
void far * LPVOID
Definition mini_d3d12.h:190
CONST
#define CONST
Definition mini_d3d12.h:186
_Out_opt_
#define _Out_opt_
Definition mini_d3d12.h:45
IID_ID3D12PipelineState
EXTERN_C const IID IID_ID3D12PipelineState
Definition mini_d3d12.h:5425
D3D_FEATURE_LEVEL
D3D_FEATURE_LEVEL
Definition mini_d3d12.h:950
D3D_FEATURE_LEVEL_10_0
@ D3D_FEATURE_LEVEL_10_0
Definition mini_d3d12.h:954
D3D_FEATURE_LEVEL_9_1
@ D3D_FEATURE_LEVEL_9_1
Definition mini_d3d12.h:951
D3D_FEATURE_LEVEL_9_2
@ D3D_FEATURE_LEVEL_9_2
Definition mini_d3d12.h:952
D3D_FEATURE_LEVEL_9_3
@ D3D_FEATURE_LEVEL_9_3
Definition mini_d3d12.h:953
D3D_FEATURE_LEVEL_10_1
@ D3D_FEATURE_LEVEL_10_1
Definition mini_d3d12.h:955
D3D_FEATURE_LEVEL_12_1
@ D3D_FEATURE_LEVEL_12_1
Definition mini_d3d12.h:959
D3D_FEATURE_LEVEL_12_0
@ D3D_FEATURE_LEVEL_12_0
Definition mini_d3d12.h:958
D3D_FEATURE_LEVEL_11_0
@ D3D_FEATURE_LEVEL_11_0
Definition mini_d3d12.h:956
D3D_FEATURE_LEVEL_11_1
@ D3D_FEATURE_LEVEL_11_1
Definition mini_d3d12.h:957
REFIID
#define REFIID
Definition mini_d3d12.h:485
DEFINE_GUID
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
Definition mini_d3d12.h:506
OLECHAR
char OLECHAR
Definition mini_d3d12.h:939
_In_reads_bytes_
#define _In_reads_bytes_(size)
Definition mini_d3d12.h:97
IID
GUID IID
Definition mini_d3d12.h:473
IID_ID3D12Resource
EXTERN_C const IID IID_ID3D12Resource
Definition mini_d3d12.h:3108
_D3D_INCLUDE_TYPE
_D3D_INCLUDE_TYPE
Definition mini_d3d12.h:1191
D3D_INCLUDE_SYSTEM
@ D3D_INCLUDE_SYSTEM
Definition mini_d3d12.h:1193
D3D10_INCLUDE_SYSTEM
@ D3D10_INCLUDE_SYSTEM
Definition mini_d3d12.h:1195
D3D_INCLUDE_FORCE_DWORD
@ D3D_INCLUDE_FORCE_DWORD
Definition mini_d3d12.h:1196
D3D_INCLUDE_LOCAL
@ D3D_INCLUDE_LOCAL
Definition mini_d3d12.h:1192
D3D10_INCLUDE_LOCAL
@ D3D10_INCLUDE_LOCAL
Definition mini_d3d12.h:1194
WORD
unsigned short WORD
Definition mini_d3d12.h:169
_Post_ptr_invalid_
#define _Post_ptr_invalid_
Definition mini_d3d12.h:6834
_Inout_
#define _Inout_
Definition mini_d3d12.h:49
ID3D12DescriptorHeap
interface ID3D12DescriptorHeap ID3D12DescriptorHeap
Definition mini_d3d12.h:1365
_Out_writes_bytes_
#define _Out_writes_bytes_(size)
Definition mini_d3d12.h:113
ID3D12PipelineLibrary1
interface ID3D12PipelineLibrary1 ID3D12PipelineLibrary1
Definition mini_d3d12.h:1419
SSIZE_T
LONG_PTR SSIZE_T
Definition mini_d3d12.h:260
PUINT16
WORD * PUINT16
Definition mini_d3d12.h:224
D3D12_STATIC_BORDER_COLOR
D3D12_STATIC_BORDER_COLOR
Definition mini_d3d12.h:3001
D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK
@ D3D12_STATIC_BORDER_COLOR_TRANSPARENT_BLACK
Definition mini_d3d12.h:3002
D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_WHITE
Definition mini_d3d12.h:3004
D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK
@ D3D12_STATIC_BORDER_COLOR_OPAQUE_BLACK
Definition mini_d3d12.h:3003
D3D12_DESCRIPTOR_RANGE_TYPE
D3D12_DESCRIPTOR_RANGE_TYPE
Definition mini_d3d12.h:2950
D3D12_DESCRIPTOR_RANGE_TYPE_SRV
@ D3D12_DESCRIPTOR_RANGE_TYPE_SRV
Definition mini_d3d12.h:2951
D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
@ D3D12_DESCRIPTOR_RANGE_TYPE_SAMPLER
Definition mini_d3d12.h:2954
D3D12_DESCRIPTOR_RANGE_TYPE_CBV
@ D3D12_DESCRIPTOR_RANGE_TYPE_CBV
Definition mini_d3d12.h:2953
D3D12_DESCRIPTOR_RANGE_TYPE_UAV
@ D3D12_DESCRIPTOR_RANGE_TYPE_UAV
Definition mini_d3d12.h:2952
IID_IDXGIObject
EXTERN_C const IID IID_IDXGIObject
Definition mini_d3d12.h:5973
CONST_VTBL
#define CONST_VTBL
Definition mini_d3d12.h:728
LPOLESTR
LPSTR LPOLESTR
Definition mini_d3d12.h:940
INT64
__int64 INT64
Definition mini_d3d12.h:230
D3D12_FILL_MODE
D3D12_FILL_MODE
Definition mini_d3d12.h:1965
D3D12_FILL_MODE_SOLID
@ D3D12_FILL_MODE_SOLID
Definition mini_d3d12.h:1967
D3D12_FILL_MODE_WIREFRAME
@ D3D12_FILL_MODE_WIREFRAME
Definition mini_d3d12.h:1966
D3D12_CULL_MODE
D3D12_CULL_MODE
Definition mini_d3d12.h:1970
D3D12_CULL_MODE_NONE
@ D3D12_CULL_MODE_NONE
Definition mini_d3d12.h:1971
D3D12_CULL_MODE_BACK
@ D3D12_CULL_MODE_BACK
Definition mini_d3d12.h:1973
D3D12_CULL_MODE_FRONT
@ D3D12_CULL_MODE_FRONT
Definition mini_d3d12.h:1972
D3D12_RESOURCE_STATES
D3D12_RESOURCE_STATES
Definition mini_d3d12.h:2219
D3D12_RESOURCE_STATE_GENERIC_READ
@ D3D12_RESOURCE_STATE_GENERIC_READ
Definition mini_d3d12.h:2235
D3D12_RESOURCE_STATE_RESOLVE_DEST
@ D3D12_RESOURCE_STATE_RESOLVE_DEST
Definition mini_d3d12.h:2233
D3D12_RESOURCE_STATE_INDEX_BUFFER
@ D3D12_RESOURCE_STATE_INDEX_BUFFER
Definition mini_d3d12.h:2222
D3D12_RESOURCE_STATE_COPY_DEST
@ D3D12_RESOURCE_STATE_COPY_DEST
Definition mini_d3d12.h:2231
D3D12_RESOURCE_STATE_RENDER_TARGET
@ D3D12_RESOURCE_STATE_RENDER_TARGET
Definition mini_d3d12.h:2223
D3D12_RESOURCE_STATE_COPY_SOURCE
@ D3D12_RESOURCE_STATE_COPY_SOURCE
Definition mini_d3d12.h:2232
D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
@ D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE
Definition mini_d3d12.h:2228
D3D12_RESOURCE_STATE_UNORDERED_ACCESS
@ D3D12_RESOURCE_STATE_UNORDERED_ACCESS
Definition mini_d3d12.h:2224
D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT
@ D3D12_RESOURCE_STATE_INDIRECT_ARGUMENT
Definition mini_d3d12.h:2230
D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
@ D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE
Definition mini_d3d12.h:2227
D3D12_RESOURCE_STATE_DEPTH_WRITE
@ D3D12_RESOURCE_STATE_DEPTH_WRITE
Definition mini_d3d12.h:2225
D3D12_RESOURCE_STATE_DEPTH_READ
@ D3D12_RESOURCE_STATE_DEPTH_READ
Definition mini_d3d12.h:2226
D3D12_RESOURCE_STATE_STREAM_OUT
@ D3D12_RESOURCE_STATE_STREAM_OUT
Definition mini_d3d12.h:2229
D3D12_RESOURCE_STATE_COMMON
@ D3D12_RESOURCE_STATE_COMMON
Definition mini_d3d12.h:2220
D3D12_RESOURCE_STATE_PREDICATION
@ D3D12_RESOURCE_STATE_PREDICATION
Definition mini_d3d12.h:2237
D3D12_RESOURCE_STATE_RESOLVE_SOURCE
@ D3D12_RESOURCE_STATE_RESOLVE_SOURCE
Definition mini_d3d12.h:2234
D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
@ D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER
Definition mini_d3d12.h:2221
D3D12_RESOURCE_STATE_PRESENT
@ D3D12_RESOURCE_STATE_PRESENT
Definition mini_d3d12.h:2236
CreateEventA
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventA(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName)
__RPC__deref_out
#define __RPC__deref_out
Definition mini_d3d12.h:154
D3D_ROOT_SIGNATURE_VERSION
D3D_ROOT_SIGNATURE_VERSION
Definition mini_d3d12.h:3086
D3D_ROOT_SIGNATURE_VERSION_1_0
@ D3D_ROOT_SIGNATURE_VERSION_1_0
Definition mini_d3d12.h:3088
D3D_ROOT_SIGNATURE_VERSION_1
@ D3D_ROOT_SIGNATURE_VERSION_1
Definition mini_d3d12.h:3087
D3D_ROOT_SIGNATURE_VERSION_1_1
@ D3D_ROOT_SIGNATURE_VERSION_1_1
Definition mini_d3d12.h:3089
_COM_Outptr_opt_
#define _COM_Outptr_opt_
Definition mini_d3d12.h:61
MIDL_INTERFACE
#define MIDL_INTERFACE(x)
Definition mini_d3d12.h:594
NPSTR
_Null_terminated_ CHAR * NPSTR
Definition mini_d3d12.h:204
D3D12_TEXTURE_ADDRESS_MODE
D3D12_TEXTURE_ADDRESS_MODE
Definition mini_d3d12.h:2669
D3D12_TEXTURE_ADDRESS_MODE_BORDER
@ D3D12_TEXTURE_ADDRESS_MODE_BORDER
Definition mini_d3d12.h:2673
D3D12_TEXTURE_ADDRESS_MODE_WRAP
@ D3D12_TEXTURE_ADDRESS_MODE_WRAP
Definition mini_d3d12.h:2670
D3D12_TEXTURE_ADDRESS_MODE_CLAMP
@ D3D12_TEXTURE_ADDRESS_MODE_CLAMP
Definition mini_d3d12.h:2672
D3D12_TEXTURE_ADDRESS_MODE_MIRROR
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR
Definition mini_d3d12.h:2671
D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
@ D3D12_TEXTURE_ADDRESS_MODE_MIRROR_ONCE
Definition mini_d3d12.h:2674
RPC_BINDING_HANDLE
I_RPC_HANDLE RPC_BINDING_HANDLE
Definition mini_d3d12.h:542
PCSTR
_Null_terminated_ CONST CHAR * PCSTR
Definition mini_d3d12.h:205
PINT32
INT * PINT32
Definition mini_d3d12.h:222
IDXGIFactory1
interface IDXGIFactory1 IDXGIFactory1
Definition mini_d3d12.h:5923
_Ret_maybenull_
#define _Ret_maybenull_
Definition mini_d3d12.h:6833
LONG
long LONG
Definition mini_d3d12.h:178
DEFINE_ENUM_FLAG_OPERATORS
#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE)
Definition mini_d3d12.h:414
ID3D12QueryHeap
interface ID3D12QueryHeap ID3D12QueryHeap
Definition mini_d3d12.h:1371
D3D12_INPUT_CLASSIFICATION
D3D12_INPUT_CLASSIFICATION
Definition mini_d3d12.h:2040
D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA
@ D3D12_INPUT_CLASSIFICATION_PER_VERTEX_DATA
Definition mini_d3d12.h:2041
D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
@ D3D12_INPUT_CLASSIFICATION_PER_INSTANCE_DATA
Definition mini_d3d12.h:2042
IID_IUnknown
EXTERN_C const IID IID_IUnknown
Definition mini_d3d12.h:824
UINT16
WORD UINT16
Definition mini_d3d12.h:224
ID3D12CommandAllocator
interface ID3D12CommandAllocator ID3D12CommandAllocator
Definition mini_d3d12.h:1347
RPC_VERSION
struct _RPC_VERSION RPC_VERSION
UINT
unsigned int UINT
Definition mini_d3d12.h:181
_W64
#define _W64
Definition mini_d3d12.h:237
UUID
GUID UUID
Definition mini_d3d12.h:536
D3D12_PREDICATION_OP
D3D12_PREDICATION_OP
Definition mini_d3d12.h:2926
D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
@ D3D12_PREDICATION_OP_NOT_EQUAL_ZERO
Definition mini_d3d12.h:2928
D3D12_PREDICATION_OP_EQUAL_ZERO
@ D3D12_PREDICATION_OP_EQUAL_ZERO
Definition mini_d3d12.h:2927
INT
int INT
Definition mini_d3d12.h:179
PLONG_PTR
_W64 INT32 * PLONG_PTR
Definition mini_d3d12.h:253
PUINT32
UINT * PUINT32
Definition mini_d3d12.h:225
ID3D12Object
interface ID3D12Object ID3D12Object
Definition mini_d3d12.h:1299
D3D12_SHADER_COMPONENT_MAPPING
D3D12_SHADER_COMPONENT_MAPPING
Definition mini_d3d12.h:2296
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_1
Definition mini_d3d12.h:2298
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_0
Definition mini_d3d12.h:2301
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_3
Definition mini_d3d12.h:2300
D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
@ D3D12_SHADER_COMPONENT_MAPPING_FORCE_VALUE_1
Definition mini_d3d12.h:2302
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_0
Definition mini_d3d12.h:2297
D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
@ D3D12_SHADER_COMPONENT_MAPPING_FROM_MEMORY_COMPONENT_2
Definition mini_d3d12.h:2299
IID_ID3D12GraphicsCommandList
EXTERN_C const IID IID_ID3D12GraphicsCommandList
Definition mini_d3d12.h:3531
SECURITY_ATTRIBUTES
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
ID3D12CommandList
interface ID3D12CommandList ID3D12CommandList
Definition mini_d3d12.h:1383
IID_ID3D12Fence
EXTERN_C const IID IID_ID3D12Fence
Definition mini_d3d12.h:5289
ID3D12GraphicsCommandList1
interface ID3D12GraphicsCommandList1 ID3D12GraphicsCommandList1
Definition mini_d3d12.h:1395
_In_z_
#define _In_z_
Definition mini_d3d12.h:33
BYTE
unsigned char BYTE
Definition mini_d3d12.h:168
THIS_
#define THIS_
Definition mini_d3d12.h:714
D3D12_RTV_DIMENSION
D3D12_RTV_DIMENSION
Definition mini_d3d12.h:2543
D3D12_RTV_DIMENSION_TEXTURE1D
@ D3D12_RTV_DIMENSION_TEXTURE1D
Definition mini_d3d12.h:2546
D3D12_RTV_DIMENSION_UNKNOWN
@ D3D12_RTV_DIMENSION_UNKNOWN
Definition mini_d3d12.h:2544
D3D12_RTV_DIMENSION_BUFFER
@ D3D12_RTV_DIMENSION_BUFFER
Definition mini_d3d12.h:2545
D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_RTV_DIMENSION_TEXTURE2DMSARRAY
Definition mini_d3d12.h:2551
D3D12_RTV_DIMENSION_TEXTURE3D
@ D3D12_RTV_DIMENSION_TEXTURE3D
Definition mini_d3d12.h:2552
D3D12_RTV_DIMENSION_TEXTURE1DARRAY
@ D3D12_RTV_DIMENSION_TEXTURE1DARRAY
Definition mini_d3d12.h:2547
D3D12_RTV_DIMENSION_TEXTURE2D
@ D3D12_RTV_DIMENSION_TEXTURE2D
Definition mini_d3d12.h:2548
D3D12_RTV_DIMENSION_TEXTURE2DMS
@ D3D12_RTV_DIMENSION_TEXTURE2DMS
Definition mini_d3d12.h:2550
D3D12_RTV_DIMENSION_TEXTURE2DARRAY
@ D3D12_RTV_DIMENSION_TEXTURE2DARRAY
Definition mini_d3d12.h:2549
IID_ID3D12CommandQueue
EXTERN_C const IID IID_ID3D12CommandQueue
Definition mini_d3d12.h:4343
D3D12_RESOURCE_BARRIER_FLAGS
D3D12_RESOURCE_BARRIER_FLAGS
Definition mini_d3d12.h:2872
D3D12_RESOURCE_BARRIER_FLAG_NONE
@ D3D12_RESOURCE_BARRIER_FLAG_NONE
Definition mini_d3d12.h:2873
D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY
@ D3D12_RESOURCE_BARRIER_FLAG_BEGIN_ONLY
Definition mini_d3d12.h:2874
D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
@ D3D12_RESOURCE_BARRIER_FLAG_END_ONLY
Definition mini_d3d12.h:2875
PRPC_MESSAGE
struct _RPC_MESSAGE * PRPC_MESSAGE
_Outptr_opt_result_bytebuffer_
#define _Outptr_opt_result_bytebuffer_(size)
Definition mini_d3d12.h:133
D3D12_PRIMITIVE_TOPOLOGY_TYPE
D3D12_PRIMITIVE_TOPOLOGY_TYPE
Definition mini_d3d12.h:2071
D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE
Definition mini_d3d12.h:2075
D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_UNDEFINED
Definition mini_d3d12.h:2072
D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_POINT
Definition mini_d3d12.h:2073
D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_PATCH
Definition mini_d3d12.h:2076
D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE
@ D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE
Definition mini_d3d12.h:2074
INT16
SHORT INT16
Definition mini_d3d12.h:221
LPSTR
_Null_terminated_ CHAR * LPSTR
Definition mini_d3d12.h:204
D3D12_COMMAND_LIST_TYPE
D3D12_COMMAND_LIST_TYPE
Definition mini_d3d12.h:1851
D3D12_COMMAND_LIST_TYPE_COPY
@ D3D12_COMMAND_LIST_TYPE_COPY
Definition mini_d3d12.h:1855
D3D12_COMMAND_LIST_TYPE_BUNDLE
@ D3D12_COMMAND_LIST_TYPE_BUNDLE
Definition mini_d3d12.h:1853
D3D12_COMMAND_LIST_TYPE_DIRECT
@ D3D12_COMMAND_LIST_TYPE_DIRECT
Definition mini_d3d12.h:1852
D3D12_COMMAND_LIST_TYPE_COMPUTE
@ D3D12_COMMAND_LIST_TYPE_COMPUTE
Definition mini_d3d12.h:1854
__RPC_FAR
#define __RPC_FAR
Definition mini_d3d12.h:529
BOOL
INT BOOL
Definition mini_d3d12.h:192
D3D12_RECT
RECT D3D12_RECT
Definition mini_d3d12.h:2854
INT_PTR
_W64 INT32 INT_PTR
Definition mini_d3d12.h:250
D3D12_LOGIC_OP
D3D12_LOGIC_OP
Definition mini_d3d12.h:1927
D3D12_LOGIC_OP_OR_INVERTED
@ D3D12_LOGIC_OP_OR_INVERTED
Definition mini_d3d12.h:1943
D3D12_LOGIC_OP_XOR
@ D3D12_LOGIC_OP_XOR
Definition mini_d3d12.h:1938
D3D12_LOGIC_OP_SET
@ D3D12_LOGIC_OP_SET
Definition mini_d3d12.h:1929
D3D12_LOGIC_OP_AND_REVERSE
@ D3D12_LOGIC_OP_AND_REVERSE
Definition mini_d3d12.h:1940
D3D12_LOGIC_OP_EQUIV
@ D3D12_LOGIC_OP_EQUIV
Definition mini_d3d12.h:1939
D3D12_LOGIC_OP_OR_REVERSE
@ D3D12_LOGIC_OP_OR_REVERSE
Definition mini_d3d12.h:1942
D3D12_LOGIC_OP_CLEAR
@ D3D12_LOGIC_OP_CLEAR
Definition mini_d3d12.h:1928
D3D12_LOGIC_OP_NOOP
@ D3D12_LOGIC_OP_NOOP
Definition mini_d3d12.h:1932
D3D12_LOGIC_OP_NOR
@ D3D12_LOGIC_OP_NOR
Definition mini_d3d12.h:1937
D3D12_LOGIC_OP_INVERT
@ D3D12_LOGIC_OP_INVERT
Definition mini_d3d12.h:1933
D3D12_LOGIC_OP_OR
@ D3D12_LOGIC_OP_OR
Definition mini_d3d12.h:1936
D3D12_LOGIC_OP_AND_INVERTED
@ D3D12_LOGIC_OP_AND_INVERTED
Definition mini_d3d12.h:1941
D3D12_LOGIC_OP_AND
@ D3D12_LOGIC_OP_AND
Definition mini_d3d12.h:1934
D3D12_LOGIC_OP_COPY
@ D3D12_LOGIC_OP_COPY
Definition mini_d3d12.h:1930
D3D12_LOGIC_OP_COPY_INVERTED
@ D3D12_LOGIC_OP_COPY_INVERTED
Definition mini_d3d12.h:1931
D3D12_LOGIC_OP_NAND
@ D3D12_LOGIC_OP_NAND
Definition mini_d3d12.h:1935
RECT
struct tagRECT RECT
IDXGIAdapter1
interface IDXGIAdapter1 IDXGIAdapter1
Definition mini_d3d12.h:5929
D3D12_TILE_MAPPING_FLAGS
D3D12_TILE_MAPPING_FLAGS
Definition mini_d3d12.h:2205
D3D12_TILE_MAPPING_FLAG_NONE
@ D3D12_TILE_MAPPING_FLAG_NONE
Definition mini_d3d12.h:2206
D3D12_TILE_MAPPING_FLAG_NO_HAZARD
@ D3D12_TILE_MAPPING_FLAG_NO_HAZARD
Definition mini_d3d12.h:2207
D3D12_COMMAND_QUEUE_PRIORITY
D3D12_COMMAND_QUEUE_PRIORITY
Definition mini_d3d12.h:1864
D3D12_COMMAND_QUEUE_PRIORITY_HIGH
@ D3D12_COMMAND_QUEUE_PRIORITY_HIGH
Definition mini_d3d12.h:1866
D3D12_COMMAND_QUEUE_PRIORITY_NORMAL
@ D3D12_COMMAND_QUEUE_PRIORITY_NORMAL
Definition mini_d3d12.h:1865
D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
@ D3D12_COMMAND_QUEUE_PRIORITY_GLOBAL_REALTIME
Definition mini_d3d12.h:1867
PUINT8
BYTE * PUINT8
Definition mini_d3d12.h:223
D3D12_MEMORY_POOL
D3D12_MEMORY_POOL
Definition mini_d3d12.h:2168
D3D12_MEMORY_POOL_UNKNOWN
@ D3D12_MEMORY_POOL_UNKNOWN
Definition mini_d3d12.h:2169
D3D12_MEMORY_POOL_L1
@ D3D12_MEMORY_POOL_L1
Definition mini_d3d12.h:2171
D3D12_MEMORY_POOL_L0
@ D3D12_MEMORY_POOL_L0
Definition mini_d3d12.h:2170
D3D12_TILE_RANGE_FLAGS
D3D12_TILE_RANGE_FLAGS
Definition mini_d3d12.h:2814
D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
@ D3D12_TILE_RANGE_FLAG_REUSE_SINGLE_TILE
Definition mini_d3d12.h:2818
D3D12_TILE_RANGE_FLAG_SKIP
@ D3D12_TILE_RANGE_FLAG_SKIP
Definition mini_d3d12.h:2817
D3D12_TILE_RANGE_FLAG_NONE
@ D3D12_TILE_RANGE_FLAG_NONE
Definition mini_d3d12.h:2815
D3D12_TILE_RANGE_FLAG_NULL
@ D3D12_TILE_RANGE_FLAG_NULL
Definition mini_d3d12.h:2816
D3D12_CONSERVATIVE_RASTERIZATION_MODE
D3D12_CONSERVATIVE_RASTERIZATION_MODE
Definition mini_d3d12.h:1976
D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_OFF
Definition mini_d3d12.h:1977
D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
@ D3D12_CONSERVATIVE_RASTERIZATION_MODE_ON
Definition mini_d3d12.h:1978
D3D12_RESOURCE_DIMENSION
D3D12_RESOURCE_DIMENSION
Definition mini_d3d12.h:2122
D3D12_RESOURCE_DIMENSION_BUFFER
@ D3D12_RESOURCE_DIMENSION_BUFFER
Definition mini_d3d12.h:2124
D3D12_RESOURCE_DIMENSION_TEXTURE1D
@ D3D12_RESOURCE_DIMENSION_TEXTURE1D
Definition mini_d3d12.h:2125
D3D12_RESOURCE_DIMENSION_TEXTURE3D
@ D3D12_RESOURCE_DIMENSION_TEXTURE3D
Definition mini_d3d12.h:2127
D3D12_RESOURCE_DIMENSION_UNKNOWN
@ D3D12_RESOURCE_DIMENSION_UNKNOWN
Definition mini_d3d12.h:2123
D3D12_RESOURCE_DIMENSION_TEXTURE2D
@ D3D12_RESOURCE_DIMENSION_TEXTURE2D
Definition mini_d3d12.h:2126
PULONG_PTR
_W64 UINT32 * PULONG_PTR
Definition mini_d3d12.h:254
IID_ID3D12DescriptorHeap
EXTERN_C const IID IID_ID3D12DescriptorHeap
Definition mini_d3d12.h:5539
PINT8
CHAR * PINT8
Definition mini_d3d12.h:220
CreateEventW
WINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateEventW(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCWSTR lpName)
_Always_
#define _Always_(annos)
Definition mini_d3d12.h:145
_Out_writes_
#define _Out_writes_(size)
Definition mini_d3d12.h:105
D3D12_DEPTH_WRITE_MASK
D3D12_DEPTH_WRITE_MASK
Definition mini_d3d12.h:1995
D3D12_DEPTH_WRITE_MASK_ALL
@ D3D12_DEPTH_WRITE_MASK_ALL
Definition mini_d3d12.h:1997
D3D12_DEPTH_WRITE_MASK_ZERO
@ D3D12_DEPTH_WRITE_MASK_ZERO
Definition mini_d3d12.h:1996
ID3D12Pageable
interface ID3D12Pageable ID3D12Pageable
Definition mini_d3d12.h:1329
LUID
struct __LUID LUID
DXGI_FORMAT
DXGI_FORMAT
Definition mini_d3d12.h:1064
DXGI_FORMAT_R16_UINT
@ DXGI_FORMAT_R16_UINT
Definition mini_d3d12.h:1122
DXGI_FORMAT_B8G8R8A8_UNORM
@ DXGI_FORMAT_B8G8R8A8_UNORM
Definition mini_d3d12.h:1152
DXGI_FORMAT_R8_TYPELESS
@ DXGI_FORMAT_R8_TYPELESS
Definition mini_d3d12.h:1125
DXGI_FORMAT_Y410
@ DXGI_FORMAT_Y410
Definition mini_d3d12.h:1166
DXGI_FORMAT_BC3_UNORM_SRGB
@ DXGI_FORMAT_BC3_UNORM_SRGB
Definition mini_d3d12.h:1143
DXGI_FORMAT_R8G8_B8G8_UNORM
@ DXGI_FORMAT_R8G8_B8G8_UNORM
Definition mini_d3d12.h:1133
DXGI_FORMAT_R32G32B32_TYPELESS
@ DXGI_FORMAT_R32G32B32_TYPELESS
Definition mini_d3d12.h:1070
DXGI_FORMAT_BC3_TYPELESS
@ DXGI_FORMAT_BC3_TYPELESS
Definition mini_d3d12.h:1141
DXGI_FORMAT_R16G16_SNORM
@ DXGI_FORMAT_R16G16_SNORM
Definition mini_d3d12.h:1102
DXGI_FORMAT_D32_FLOAT_S8X24_UINT
@ DXGI_FORMAT_D32_FLOAT_S8X24_UINT
Definition mini_d3d12.h:1085
DXGI_FORMAT_R32G32B32A32_SINT
@ DXGI_FORMAT_R32G32B32A32_SINT
Definition mini_d3d12.h:1069
DXGI_FORMAT_BC5_UNORM
@ DXGI_FORMAT_BC5_UNORM
Definition mini_d3d12.h:1148
DXGI_FORMAT_Y216
@ DXGI_FORMAT_Y216
Definition mini_d3d12.h:1174
DXGI_FORMAT_BC1_UNORM
@ DXGI_FORMAT_BC1_UNORM
Definition mini_d3d12.h:1136
DXGI_FORMAT_R8G8_UINT
@ DXGI_FORMAT_R8G8_UINT
Definition mini_d3d12.h:1115
DXGI_FORMAT_420_OPAQUE
@ DXGI_FORMAT_420_OPAQUE
Definition mini_d3d12.h:1171
DXGI_FORMAT_R32G32B32A32_UINT
@ DXGI_FORMAT_R32G32B32A32_UINT
Definition mini_d3d12.h:1068
DXGI_FORMAT_R16G16B16A16_SNORM
@ DXGI_FORMAT_R16G16B16A16_SNORM
Definition mini_d3d12.h:1078
DXGI_FORMAT_R32_FLOAT
@ DXGI_FORMAT_R32_FLOAT
Definition mini_d3d12.h:1106
DXGI_FORMAT_R16G16B16A16_UNORM
@ DXGI_FORMAT_R16G16B16A16_UNORM
Definition mini_d3d12.h:1076
DXGI_FORMAT_R32_SINT
@ DXGI_FORMAT_R32_SINT
Definition mini_d3d12.h:1108
DXGI_FORMAT_R8G8_UNORM
@ DXGI_FORMAT_R8G8_UNORM
Definition mini_d3d12.h:1114
DXGI_FORMAT_R16G16_UNORM
@ DXGI_FORMAT_R16G16_UNORM
Definition mini_d3d12.h:1100
DXGI_FORMAT_BC1_UNORM_SRGB
@ DXGI_FORMAT_BC1_UNORM_SRGB
Definition mini_d3d12.h:1137
DXGI_FORMAT_A8P8
@ DXGI_FORMAT_A8P8
Definition mini_d3d12.h:1179
DXGI_FORMAT_R16G16_SINT
@ DXGI_FORMAT_R16G16_SINT
Definition mini_d3d12.h:1103
DXGI_FORMAT_R24_UNORM_X8_TYPELESS
@ DXGI_FORMAT_R24_UNORM_X8_TYPELESS
Definition mini_d3d12.h:1111
DXGI_FORMAT_R8G8B8A8_TYPELESS
@ DXGI_FORMAT_R8G8B8A8_TYPELESS
Definition mini_d3d12.h:1092
DXGI_FORMAT_BC2_TYPELESS
@ DXGI_FORMAT_BC2_TYPELESS
Definition mini_d3d12.h:1138
DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
@ DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS
Definition mini_d3d12.h:1086
DXGI_FORMAT_R32G32B32_FLOAT
@ DXGI_FORMAT_R32G32B32_FLOAT
Definition mini_d3d12.h:1071
DXGI_FORMAT_R32G32B32_SINT
@ DXGI_FORMAT_R32G32B32_SINT
Definition mini_d3d12.h:1073
DXGI_FORMAT_R32G32B32A32_TYPELESS
@ DXGI_FORMAT_R32G32B32A32_TYPELESS
Definition mini_d3d12.h:1066
DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
@ DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
Definition mini_d3d12.h:1156
DXGI_FORMAT_B8G8R8X8_TYPELESS
@ DXGI_FORMAT_B8G8R8X8_TYPELESS
Definition mini_d3d12.h:1157
DXGI_FORMAT_B8G8R8A8_TYPELESS
@ DXGI_FORMAT_B8G8R8A8_TYPELESS
Definition mini_d3d12.h:1155
DXGI_FORMAT_UNKNOWN
@ DXGI_FORMAT_UNKNOWN
Definition mini_d3d12.h:1065
DXGI_FORMAT_X24_TYPELESS_G8_UINT
@ DXGI_FORMAT_X24_TYPELESS_G8_UINT
Definition mini_d3d12.h:1112
DXGI_FORMAT_R16_SINT
@ DXGI_FORMAT_R16_SINT
Definition mini_d3d12.h:1124
DXGI_FORMAT_R1_UNORM
@ DXGI_FORMAT_R1_UNORM
Definition mini_d3d12.h:1131
DXGI_FORMAT_R16G16B16A16_UINT
@ DXGI_FORMAT_R16G16B16A16_UINT
Definition mini_d3d12.h:1077
DXGI_FORMAT_R16_UNORM
@ DXGI_FORMAT_R16_UNORM
Definition mini_d3d12.h:1121
DXGI_FORMAT_R8G8B8A8_SINT
@ DXGI_FORMAT_R8G8B8A8_SINT
Definition mini_d3d12.h:1097
DXGI_FORMAT_D24_UNORM_S8_UINT
@ DXGI_FORMAT_D24_UNORM_S8_UINT
Definition mini_d3d12.h:1110
DXGI_FORMAT_R8G8B8A8_SNORM
@ DXGI_FORMAT_R8G8B8A8_SNORM
Definition mini_d3d12.h:1096
DXGI_FORMAT_A8_UNORM
@ DXGI_FORMAT_A8_UNORM
Definition mini_d3d12.h:1130
DXGI_FORMAT_FORCE_UINT
@ DXGI_FORMAT_FORCE_UINT
Definition mini_d3d12.h:1181
DXGI_FORMAT_R8G8B8A8_UINT
@ DXGI_FORMAT_R8G8B8A8_UINT
Definition mini_d3d12.h:1095
DXGI_FORMAT_R10G10B10A2_TYPELESS
@ DXGI_FORMAT_R10G10B10A2_TYPELESS
Definition mini_d3d12.h:1088
DXGI_FORMAT_R32G32_FLOAT
@ DXGI_FORMAT_R32G32_FLOAT
Definition mini_d3d12.h:1081
DXGI_FORMAT_BC6H_UF16
@ DXGI_FORMAT_BC6H_UF16
Definition mini_d3d12.h:1160
DXGI_FORMAT_BC6H_SF16
@ DXGI_FORMAT_BC6H_SF16
Definition mini_d3d12.h:1161
DXGI_FORMAT_R10G10B10A2_UNORM
@ DXGI_FORMAT_R10G10B10A2_UNORM
Definition mini_d3d12.h:1089
DXGI_FORMAT_R8_SNORM
@ DXGI_FORMAT_R8_SNORM
Definition mini_d3d12.h:1128
DXGI_FORMAT_R9G9B9E5_SHAREDEXP
@ DXGI_FORMAT_R9G9B9E5_SHAREDEXP
Definition mini_d3d12.h:1132
DXGI_FORMAT_P010
@ DXGI_FORMAT_P010
Definition mini_d3d12.h:1169
DXGI_FORMAT_R16G16B16A16_TYPELESS
@ DXGI_FORMAT_R16G16B16A16_TYPELESS
Definition mini_d3d12.h:1074
DXGI_FORMAT_R16G16B16A16_FLOAT
@ DXGI_FORMAT_R16G16B16A16_FLOAT
Definition mini_d3d12.h:1075
DXGI_FORMAT_BC7_TYPELESS
@ DXGI_FORMAT_BC7_TYPELESS
Definition mini_d3d12.h:1162
DXGI_FORMAT_P016
@ DXGI_FORMAT_P016
Definition mini_d3d12.h:1170
DXGI_FORMAT_R32_TYPELESS
@ DXGI_FORMAT_R32_TYPELESS
Definition mini_d3d12.h:1104
DXGI_FORMAT_R8_UNORM
@ DXGI_FORMAT_R8_UNORM
Definition mini_d3d12.h:1126
DXGI_FORMAT_R32G32_UINT
@ DXGI_FORMAT_R32G32_UINT
Definition mini_d3d12.h:1082
DXGI_FORMAT_R11G11B10_FLOAT
@ DXGI_FORMAT_R11G11B10_FLOAT
Definition mini_d3d12.h:1091
DXGI_FORMAT_R8G8B8A8_UNORM
@ DXGI_FORMAT_R8G8B8A8_UNORM
Definition mini_d3d12.h:1093
DXGI_FORMAT_AYUV
@ DXGI_FORMAT_AYUV
Definition mini_d3d12.h:1165
DXGI_FORMAT_Y416
@ DXGI_FORMAT_Y416
Definition mini_d3d12.h:1167
DXGI_FORMAT_G8R8_G8B8_UNORM
@ DXGI_FORMAT_G8R8_G8B8_UNORM
Definition mini_d3d12.h:1134
DXGI_FORMAT_YUY2
@ DXGI_FORMAT_YUY2
Definition mini_d3d12.h:1172
DXGI_FORMAT_D16_UNORM
@ DXGI_FORMAT_D16_UNORM
Definition mini_d3d12.h:1120
DXGI_FORMAT_R16_FLOAT
@ DXGI_FORMAT_R16_FLOAT
Definition mini_d3d12.h:1119
DXGI_FORMAT_Y210
@ DXGI_FORMAT_Y210
Definition mini_d3d12.h:1173
DXGI_FORMAT_R10G10B10A2_UINT
@ DXGI_FORMAT_R10G10B10A2_UINT
Definition mini_d3d12.h:1090
DXGI_FORMAT_BC6H_TYPELESS
@ DXGI_FORMAT_BC6H_TYPELESS
Definition mini_d3d12.h:1159
DXGI_FORMAT_BC7_UNORM
@ DXGI_FORMAT_BC7_UNORM
Definition mini_d3d12.h:1163
DXGI_FORMAT_BC5_TYPELESS
@ DXGI_FORMAT_BC5_TYPELESS
Definition mini_d3d12.h:1147
DXGI_FORMAT_R32G32_SINT
@ DXGI_FORMAT_R32G32_SINT
Definition mini_d3d12.h:1083
DXGI_FORMAT_BC2_UNORM_SRGB
@ DXGI_FORMAT_BC2_UNORM_SRGB
Definition mini_d3d12.h:1140
DXGI_FORMAT_R16_SNORM
@ DXGI_FORMAT_R16_SNORM
Definition mini_d3d12.h:1123
DXGI_FORMAT_R8_SINT
@ DXGI_FORMAT_R8_SINT
Definition mini_d3d12.h:1129
DXGI_FORMAT_BC5_SNORM
@ DXGI_FORMAT_BC5_SNORM
Definition mini_d3d12.h:1149
DXGI_FORMAT_R32_UINT
@ DXGI_FORMAT_R32_UINT
Definition mini_d3d12.h:1107
DXGI_FORMAT_BC4_TYPELESS
@ DXGI_FORMAT_BC4_TYPELESS
Definition mini_d3d12.h:1144
DXGI_FORMAT_R32G32B32A32_FLOAT
@ DXGI_FORMAT_R32G32B32A32_FLOAT
Definition mini_d3d12.h:1067
DXGI_FORMAT_R24G8_TYPELESS
@ DXGI_FORMAT_R24G8_TYPELESS
Definition mini_d3d12.h:1109
DXGI_FORMAT_IA44
@ DXGI_FORMAT_IA44
Definition mini_d3d12.h:1177
DXGI_FORMAT_NV11
@ DXGI_FORMAT_NV11
Definition mini_d3d12.h:1175
DXGI_FORMAT_R8G8_SINT
@ DXGI_FORMAT_R8G8_SINT
Definition mini_d3d12.h:1117
DXGI_FORMAT_R16_TYPELESS
@ DXGI_FORMAT_R16_TYPELESS
Definition mini_d3d12.h:1118
DXGI_FORMAT_BC3_UNORM
@ DXGI_FORMAT_BC3_UNORM
Definition mini_d3d12.h:1142
DXGI_FORMAT_R32G32B32_UINT
@ DXGI_FORMAT_R32G32B32_UINT
Definition mini_d3d12.h:1072
DXGI_FORMAT_R16G16_TYPELESS
@ DXGI_FORMAT_R16G16_TYPELESS
Definition mini_d3d12.h:1098
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
@ DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
Definition mini_d3d12.h:1094
DXGI_FORMAT_R16G16_UINT
@ DXGI_FORMAT_R16G16_UINT
Definition mini_d3d12.h:1101
DXGI_FORMAT_D32_FLOAT
@ DXGI_FORMAT_D32_FLOAT
Definition mini_d3d12.h:1105
DXGI_FORMAT_R8G8_TYPELESS
@ DXGI_FORMAT_R8G8_TYPELESS
Definition mini_d3d12.h:1113
DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
@ DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
Definition mini_d3d12.h:1154
DXGI_FORMAT_R16G16B16A16_SINT
@ DXGI_FORMAT_R16G16B16A16_SINT
Definition mini_d3d12.h:1079
DXGI_FORMAT_BC1_TYPELESS
@ DXGI_FORMAT_BC1_TYPELESS
Definition mini_d3d12.h:1135
DXGI_FORMAT_BC7_UNORM_SRGB
@ DXGI_FORMAT_BC7_UNORM_SRGB
Definition mini_d3d12.h:1164
DXGI_FORMAT_BC2_UNORM
@ DXGI_FORMAT_BC2_UNORM
Definition mini_d3d12.h:1139
DXGI_FORMAT_R32G32_TYPELESS
@ DXGI_FORMAT_R32G32_TYPELESS
Definition mini_d3d12.h:1080
DXGI_FORMAT_R32G8X24_TYPELESS
@ DXGI_FORMAT_R32G8X24_TYPELESS
Definition mini_d3d12.h:1084
DXGI_FORMAT_B4G4R4A4_UNORM
@ DXGI_FORMAT_B4G4R4A4_UNORM
Definition mini_d3d12.h:1180
DXGI_FORMAT_AI44
@ DXGI_FORMAT_AI44
Definition mini_d3d12.h:1176
DXGI_FORMAT_R16G16_FLOAT
@ DXGI_FORMAT_R16G16_FLOAT
Definition mini_d3d12.h:1099
DXGI_FORMAT_B5G6R5_UNORM
@ DXGI_FORMAT_B5G6R5_UNORM
Definition mini_d3d12.h:1150
DXGI_FORMAT_BC4_UNORM
@ DXGI_FORMAT_BC4_UNORM
Definition mini_d3d12.h:1145
DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
@ DXGI_FORMAT_X32_TYPELESS_G8X24_UINT
Definition mini_d3d12.h:1087
DXGI_FORMAT_R8G8_SNORM
@ DXGI_FORMAT_R8G8_SNORM
Definition mini_d3d12.h:1116
DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
@ DXGI_FORMAT_B8G8R8X8_UNORM_SRGB
Definition mini_d3d12.h:1158
DXGI_FORMAT_P8
@ DXGI_FORMAT_P8
Definition mini_d3d12.h:1178
DXGI_FORMAT_R8_UINT
@ DXGI_FORMAT_R8_UINT
Definition mini_d3d12.h:1127
DXGI_FORMAT_BC4_SNORM
@ DXGI_FORMAT_BC4_SNORM
Definition mini_d3d12.h:1146
DXGI_FORMAT_NV12
@ DXGI_FORMAT_NV12
Definition mini_d3d12.h:1168
DXGI_FORMAT_B5G5R5A1_UNORM
@ DXGI_FORMAT_B5G5R5A1_UNORM
Definition mini_d3d12.h:1151
DXGI_FORMAT_B8G8R8X8_UNORM
@ DXGI_FORMAT_B8G8R8X8_UNORM
Definition mini_d3d12.h:1153
IDXGIAdapter
interface IDXGIAdapter IDXGIAdapter
Definition mini_d3d12.h:5899
_Out_writes_opt_
#define _Out_writes_opt_(size)
Definition mini_d3d12.h:109
D3D12_RESOURCE_FLAGS
D3D12_RESOURCE_FLAGS
Definition mini_d3d12.h:2137
D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
@ D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
Definition mini_d3d12.h:2141
D3D12_RESOURCE_FLAG_NONE
@ D3D12_RESOURCE_FLAG_NONE
Definition mini_d3d12.h:2138
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
@ D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
Definition mini_d3d12.h:2140
D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
@ D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
Definition mini_d3d12.h:2143
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
@ D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
Definition mini_d3d12.h:2142
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
@ D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
Definition mini_d3d12.h:2144
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
@ D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
Definition mini_d3d12.h:2139
LPRECT
struct tagRECT * LPRECT
PSECURITY_ATTRIBUTES
struct _SECURITY_ATTRIBUTES * PSECURITY_ATTRIBUTES
IID_ID3D12CommandAllocator
EXTERN_C const IID IID_ID3D12CommandAllocator
Definition mini_d3d12.h:3307
REFGUID
#define REFGUID
Definition mini_d3d12.h:491
LONGLONG
__int64 LONGLONG
Definition mini_d3d12.h:279
DECLARE_INTERFACE
#define DECLARE_INTERFACE(iface)
Definition mini_d3d12.h:729
LPD3D_SHADER_MACRO
struct _D3D_SHADER_MACRO * LPD3D_SHADER_MACRO
Definition mini_d3d12.h:1214
ULONG_PTR
_W64 UINT32 ULONG_PTR
Definition mini_d3d12.h:254
ID3D10Blob
interface ID3D10Blob ID3D10Blob
Definition mini_d3d12.h:1230
IID_IDXGIAdapter
EXTERN_C const IID IID_IDXGIAdapter
Definition mini_d3d12.h:6289
PHANDLE
HANDLE * PHANDLE
Definition mini_d3d12.h:442
_Null_terminated_
#define _Null_terminated_
Definition mini_d3d12.h:69
IDXGIFactory
interface IDXGIFactory IDXGIFactory
Definition mini_d3d12.h:5917
PCWSTR
_Null_terminated_ CONST WCHAR * PCWSTR
Definition mini_d3d12.h:206
RPC_MGR_EPV
#define RPC_MGR_EPV
Definition mini_d3d12.h:546
ID3D12Device
interface ID3D12Device ID3D12Device
Definition mini_d3d12.h:1407
IDXGISwapChain
interface IDXGISwapChain IDXGISwapChain
Definition mini_d3d12.h:5911
PINT_PTR
_W64 INT32 * PINT_PTR
Definition mini_d3d12.h:250
D3D12_DSV_DIMENSION
D3D12_DSV_DIMENSION
Definition mini_d3d12.h:2606
D3D12_DSV_DIMENSION_UNKNOWN
@ D3D12_DSV_DIMENSION_UNKNOWN
Definition mini_d3d12.h:2607
D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_DSV_DIMENSION_TEXTURE2DMSARRAY
Definition mini_d3d12.h:2613
D3D12_DSV_DIMENSION_TEXTURE1D
@ D3D12_DSV_DIMENSION_TEXTURE1D
Definition mini_d3d12.h:2608
D3D12_DSV_DIMENSION_TEXTURE2DMS
@ D3D12_DSV_DIMENSION_TEXTURE2DMS
Definition mini_d3d12.h:2612
D3D12_DSV_DIMENSION_TEXTURE2D
@ D3D12_DSV_DIMENSION_TEXTURE2D
Definition mini_d3d12.h:2610
D3D12_DSV_DIMENSION_TEXTURE1DARRAY
@ D3D12_DSV_DIMENSION_TEXTURE1DARRAY
Definition mini_d3d12.h:2609
D3D12_DSV_DIMENSION_TEXTURE2DARRAY
@ D3D12_DSV_DIMENSION_TEXTURE2DARRAY
Definition mini_d3d12.h:2611
STDMETHODCALLTYPE
#define STDMETHODCALLTYPE
Definition mini_d3d12.h:300
ID3D12DeviceChild
interface ID3D12DeviceChild ID3D12DeviceChild
Definition mini_d3d12.h:1305
D3D12_CLEAR_FLAGS
D3D12_CLEAR_FLAGS
Definition mini_d3d12.h:2270
D3D12_CLEAR_FLAG_STENCIL
@ D3D12_CLEAR_FLAG_STENCIL
Definition mini_d3d12.h:2272
D3D12_CLEAR_FLAG_DEPTH
@ D3D12_CLEAR_FLAG_DEPTH
Definition mini_d3d12.h:2271
END_INTERFACE
#define END_INTERFACE
Definition mini_d3d12.h:598
PRPC_SYNTAX_IDENTIFIER
struct _RPC_SYNTAX_IDENTIFIER * PRPC_SYNTAX_IDENTIFIER
ID3D12Heap
interface ID3D12Heap ID3D12Heap
Definition mini_d3d12.h:1335
IID_ID3D12Debug
EXTERN_C const IID IID_ID3D12Debug
Definition mini_d3d12.h:5825
_Return_type_success_
#define _Return_type_success_(expr)
Definition mini_d3d12.h:73
D3D12_DESCRIPTOR_HEAP_FLAGS
D3D12_DESCRIPTOR_HEAP_FLAGS
Definition mini_d3d12.h:2291
D3D12_DESCRIPTOR_HEAP_FLAG_NONE
@ D3D12_DESCRIPTOR_HEAP_FLAG_NONE
Definition mini_d3d12.h:2292
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
@ D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE
Definition mini_d3d12.h:2293
ID3D12Resource
interface ID3D12Resource ID3D12Resource
Definition mini_d3d12.h:1341
D3D12_QUERY_TYPE
D3D12_QUERY_TYPE
Definition mini_d3d12.h:2915
D3D12_QUERY_TYPE_OCCLUSION
@ D3D12_QUERY_TYPE_OCCLUSION
Definition mini_d3d12.h:2916
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM3
Definition mini_d3d12.h:2923
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM2
Definition mini_d3d12.h:2922
D3D12_QUERY_TYPE_BINARY_OCCLUSION
@ D3D12_QUERY_TYPE_BINARY_OCCLUSION
Definition mini_d3d12.h:2917
D3D12_QUERY_TYPE_TIMESTAMP
@ D3D12_QUERY_TYPE_TIMESTAMP
Definition mini_d3d12.h:2918
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM0
Definition mini_d3d12.h:2920
D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
@ D3D12_QUERY_TYPE_SO_STATISTICS_STREAM1
Definition mini_d3d12.h:2921
D3D12_QUERY_TYPE_PIPELINE_STATISTICS
@ D3D12_QUERY_TYPE_PIPELINE_STATISTICS
Definition mini_d3d12.h:2919
D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
#define D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE
Definition mini_d3d12.h:2837
D3D12_BUFFER_UAV_FLAGS
D3D12_BUFFER_UAV_FLAGS
Definition mini_d3d12.h:2436
D3D12_BUFFER_UAV_FLAG_NONE
@ D3D12_BUFFER_UAV_FLAG_NONE
Definition mini_d3d12.h:2437
D3D12_BUFFER_UAV_FLAG_RAW
@ D3D12_BUFFER_UAV_FLAG_RAW
Definition mini_d3d12.h:2438
FLOAT
float FLOAT
Definition mini_d3d12.h:184
NEAR
#define NEAR
Definition mini_d3d12.h:209
_Post_satisfies_
#define _Post_satisfies_(expr)
Definition mini_d3d12.h:81
PSTR
_Null_terminated_ CHAR * PSTR
Definition mini_d3d12.h:204
interface
#define interface
Definition mini_d3d12.h:690
UINT8
BYTE UINT8
Definition mini_d3d12.h:223
D3D12_BUFFER_SRV_FLAGS
D3D12_BUFFER_SRV_FLAGS
Definition mini_d3d12.h:2317
D3D12_BUFFER_SRV_FLAG_NONE
@ D3D12_BUFFER_SRV_FLAG_NONE
Definition mini_d3d12.h:2318
D3D12_BUFFER_SRV_FLAG_RAW
@ D3D12_BUFFER_SRV_FLAG_RAW
Definition mini_d3d12.h:2319
handle_t
RPC_BINDING_HANDLE handle_t
Definition mini_d3d12.h:543
ID3DInclude
interface ID3DInclude ID3DInclude
Definition mini_d3d12.h:1199
__RPC_STUB
#define __RPC_STUB
Definition mini_d3d12.h:525
PFN_D3D12_GET_DEBUG_INTERFACE
HRESULT(WINAPI * PFN_D3D12_GET_DEBUG_INTERFACE)(_In_ REFIID, _COM_Outptr_opt_ void **)
Definition mini_d3d12.h:5777
D3D12_TEXTURE_COPY_TYPE
D3D12_TEXTURE_COPY_TYPE
Definition mini_d3d12.h:2821
D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
@ D3D12_TEXTURE_COPY_TYPE_PLACED_FOOTPRINT
Definition mini_d3d12.h:2823
D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX
@ D3D12_TEXTURE_COPY_TYPE_SUBRESOURCE_INDEX
Definition mini_d3d12.h:2822
LPUNKNOWN
IUnknown * LPUNKNOWN
Definition mini_d3d12.h:758
_Inout_opt_
#define _Inout_opt_
Definition mini_d3d12.h:53
D3D12_ROOT_SIGNATURE_FLAGS
D3D12_ROOT_SIGNATURE_FLAGS
Definition mini_d3d12.h:2931
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
Definition mini_d3d12.h:2935
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
Definition mini_d3d12.h:2939
D3D12_ROOT_SIGNATURE_FLAG_NONE
@ D3D12_ROOT_SIGNATURE_FLAG_NONE
Definition mini_d3d12.h:2932
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
@ D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
Definition mini_d3d12.h:2933
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
Definition mini_d3d12.h:2937
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
Definition mini_d3d12.h:2934
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
Definition mini_d3d12.h:2938
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
@ D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
Definition mini_d3d12.h:2936
LPSECURITY_ATTRIBUTES
struct _SECURITY_ATTRIBUTES * LPSECURITY_ATTRIBUTES
SHORT
short SHORT
Definition mini_d3d12.h:167
PSSIZE_T
LONG_PTR * PSSIZE_T
Definition mini_d3d12.h:260
_Inout_updates_bytes_
#define _Inout_updates_bytes_(size)
Definition mini_d3d12.h:121
PUINT_PTR
_W64 UINT32 * PUINT_PTR
Definition mini_d3d12.h:251
WINAPI
#define WINAPI
Definition mini_d3d12.h:163
D3D12_UAV_DIMENSION
D3D12_UAV_DIMENSION
Definition mini_d3d12.h:2478
D3D12_UAV_DIMENSION_UNKNOWN
@ D3D12_UAV_DIMENSION_UNKNOWN
Definition mini_d3d12.h:2479
D3D12_UAV_DIMENSION_TEXTURE2D
@ D3D12_UAV_DIMENSION_TEXTURE2D
Definition mini_d3d12.h:2483
D3D12_UAV_DIMENSION_TEXTURE1DARRAY
@ D3D12_UAV_DIMENSION_TEXTURE1DARRAY
Definition mini_d3d12.h:2482
D3D12_UAV_DIMENSION_TEXTURE3D
@ D3D12_UAV_DIMENSION_TEXTURE3D
Definition mini_d3d12.h:2485
D3D12_UAV_DIMENSION_TEXTURE2DARRAY
@ D3D12_UAV_DIMENSION_TEXTURE2DARRAY
Definition mini_d3d12.h:2484
D3D12_UAV_DIMENSION_TEXTURE1D
@ D3D12_UAV_DIMENSION_TEXTURE1D
Definition mini_d3d12.h:2481
D3D12_UAV_DIMENSION_BUFFER
@ D3D12_UAV_DIMENSION_BUFFER
Definition mini_d3d12.h:2480
LARGE_INTEGER
union _LARGE_INTEGER LARGE_INTEGER
D3D12_HEAP_FLAGS
D3D12_HEAP_FLAGS
Definition mini_d3d12.h:2189
D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH
@ D3D12_HEAP_FLAG_ALLOW_WRITE_WATCH
Definition mini_d3d12.h:2198
D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_DENY_NON_RT_DS_TEXTURES
Definition mini_d3d12.h:2196
D3D12_HEAP_FLAG_ALLOW_DISPLAY
@ D3D12_HEAP_FLAG_ALLOW_DISPLAY
Definition mini_d3d12.h:2193
D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES
Definition mini_d3d12.h:2195
D3D12_HEAP_FLAG_HARDWARE_PROTECTED
@ D3D12_HEAP_FLAG_HARDWARE_PROTECTED
Definition mini_d3d12.h:2197
D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_ALLOW_ONLY_RT_DS_TEXTURES
Definition mini_d3d12.h:2202
D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS
@ D3D12_HEAP_FLAG_ALLOW_ONLY_BUFFERS
Definition mini_d3d12.h:2200
D3D12_HEAP_FLAG_SHARED
@ D3D12_HEAP_FLAG_SHARED
Definition mini_d3d12.h:2191
D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER
@ D3D12_HEAP_FLAG_SHARED_CROSS_ADAPTER
Definition mini_d3d12.h:2194
D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES
@ D3D12_HEAP_FLAG_ALLOW_ALL_BUFFERS_AND_TEXTURES
Definition mini_d3d12.h:2199
D3D12_HEAP_FLAG_NONE
@ D3D12_HEAP_FLAG_NONE
Definition mini_d3d12.h:2190
D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES
@ D3D12_HEAP_FLAG_ALLOW_ONLY_NON_RT_DS_TEXTURES
Definition mini_d3d12.h:2201
D3D12_HEAP_FLAG_DENY_BUFFERS
@ D3D12_HEAP_FLAG_DENY_BUFFERS
Definition mini_d3d12.h:2192
D3D12_DSV_FLAGS
D3D12_DSV_FLAGS
Definition mini_d3d12.h:2599
D3D12_DSV_FLAG_NONE
@ D3D12_DSV_FLAG_NONE
Definition mini_d3d12.h:2600
D3D12_DSV_FLAG_READ_ONLY_STENCIL
@ D3D12_DSV_FLAG_READ_ONLY_STENCIL
Definition mini_d3d12.h:2602
D3D12_DSV_FLAG_READ_ONLY_DEPTH
@ D3D12_DSV_FLAG_READ_ONLY_DEPTH
Definition mini_d3d12.h:2601
ID3D12CommandSignature
interface ID3D12CommandSignature ID3D12CommandSignature
Definition mini_d3d12.h:1377
_Out_
#define _Out_
Definition mini_d3d12.h:41
PFN_D3D12_CREATE_DEVICE
HRESULT(WINAPI * PFN_D3D12_CREATE_DEVICE)(_In_opt_ IUnknown *, D3D_FEATURE_LEVEL, _In_ REFIID, _COM_Outptr_opt_ void **)
Definition mini_d3d12.h:5767
WINBASEAPI
#define WINBASEAPI
Definition mini_d3d12.h:6827
_In_reads_opt_
#define _In_reads_opt_(size)
Definition mini_d3d12.h:93
ID3D12Debug
interface ID3D12Debug ID3D12Debug
Definition mini_d3d12.h:5811
D3D12_DESCRIPTOR_RANGE_FLAGS
D3D12_DESCRIPTOR_RANGE_FLAGS
Definition mini_d3d12.h:3031
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
Definition mini_d3d12.h:3036
D3D12_DESCRIPTOR_RANGE_FLAG_NONE
@ D3D12_DESCRIPTOR_RANGE_FLAG_NONE
Definition mini_d3d12.h:3032
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Definition mini_d3d12.h:3035
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
Definition mini_d3d12.h:3034
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
@ D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
Definition mini_d3d12.h:3033
D3D12_FILTER
D3D12_FILTER
Definition mini_d3d12.h:2630
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR
Definition mini_d3d12.h:2634
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
Definition mini_d3d12.h:2647
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2645
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT
Definition mini_d3d12.h:2640
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2660
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2650
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2654
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT
Definition mini_d3d12.h:2635
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT
Definition mini_d3d12.h:2653
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT
Definition mini_d3d12.h:2649
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
Definition mini_d3d12.h:2644
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
Definition mini_d3d12.h:2643
D3D12_FILTER_MINIMUM_ANISOTROPIC
@ D3D12_FILTER_MINIMUM_ANISOTROPIC
Definition mini_d3d12.h:2657
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2632
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2651
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2642
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT
Definition mini_d3d12.h:2658
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2641
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2636
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR
Definition mini_d3d12.h:2661
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR
Definition mini_d3d12.h:2652
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2659
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT
Definition mini_d3d12.h:2662
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR
Definition mini_d3d12.h:2663
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR
Definition mini_d3d12.h:2665
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2664
D3D12_FILTER_COMPARISON_ANISOTROPIC
@ D3D12_FILTER_COMPARISON_ANISOTROPIC
Definition mini_d3d12.h:2648
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR
Definition mini_d3d12.h:2656
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2646
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2637
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2633
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
@ D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT
Definition mini_d3d12.h:2655
D3D12_FILTER_MAXIMUM_ANISOTROPIC
@ D3D12_FILTER_MAXIMUM_ANISOTROPIC
Definition mini_d3d12.h:2666
D3D12_FILTER_ANISOTROPIC
@ D3D12_FILTER_ANISOTROPIC
Definition mini_d3d12.h:2639
D3D12_FILTER_MIN_MAG_MIP_POINT
@ D3D12_FILTER_MIN_MAG_MIP_POINT
Definition mini_d3d12.h:2631
D3D12_FILTER_MIN_MAG_MIP_LINEAR
@ D3D12_FILTER_MIN_MAG_MIP_LINEAR
Definition mini_d3d12.h:2638
_COM_Outptr_
#define _COM_Outptr_
Definition mini_d3d12.h:57
PFN_CREATEDXGIFACORY1
HRESULT(WINAPI * PFN_CREATEDXGIFACORY1)(REFIID riid, _COM_Outptr_ void **ppFactory)
Definition mini_d3d12.h:6763
INT8
CHAR INT8
Definition mini_d3d12.h:220
DXGI_ADAPTER_FLAG
DXGI_ADAPTER_FLAG
Definition mini_d3d12.h:5945
DXGI_ADAPTER_FLAG_REMOTE
@ DXGI_ADAPTER_FLAG_REMOTE
Definition mini_d3d12.h:5947
DXGI_ADAPTER_FLAG_SOFTWARE
@ DXGI_ADAPTER_FLAG_SOFTWARE
Definition mini_d3d12.h:5948
DXGI_ADAPTER_FLAG_FORCE_DWORD
@ DXGI_ADAPTER_FLAG_FORCE_DWORD
Definition mini_d3d12.h:5949
DXGI_ADAPTER_FLAG_NONE
@ DXGI_ADAPTER_FLAG_NONE
Definition mini_d3d12.h:5946
RPC_MESSAGE
struct _RPC_MESSAGE RPC_MESSAGE
_In_
#define _In_
Definition mini_d3d12.h:29
ID3D12PipelineLibrary
interface ID3D12PipelineLibrary ID3D12PipelineLibrary
Definition mini_d3d12.h:1413
HANDLE
void * HANDLE
Definition mini_d3d12.h:426
ID3D12Device1
interface ID3D12Device1 ID3D12Device1
Definition mini_d3d12.h:1425
PFN_D3DCOMPILE
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
D3D12_CPU_PAGE_PROPERTY
Definition mini_d3d12.h:2161
D3D12_CPU_PAGE_PROPERTY_UNKNOWN
@ D3D12_CPU_PAGE_PROPERTY_UNKNOWN
Definition mini_d3d12.h:2162
D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
@ D3D12_CPU_PAGE_PROPERTY_WRITE_BACK
Definition mini_d3d12.h:2165
D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE
@ D3D12_CPU_PAGE_PROPERTY_WRITE_COMBINE
Definition mini_d3d12.h:2164
D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE
@ D3D12_CPU_PAGE_PROPERTY_NOT_AVAILABLE
Definition mini_d3d12.h:2163
_In_reads_bytes_opt_
#define _In_reads_bytes_opt_(size)
Definition mini_d3d12.h:101
D3D12_TEXTURE_LAYOUT
D3D12_TEXTURE_LAYOUT
Definition mini_d3d12.h:2130
D3D12_TEXTURE_LAYOUT_UNKNOWN
@ D3D12_TEXTURE_LAYOUT_UNKNOWN
Definition mini_d3d12.h:2131
D3D12_TEXTURE_LAYOUT_ROW_MAJOR
@ D3D12_TEXTURE_LAYOUT_ROW_MAJOR
Definition mini_d3d12.h:2132
D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
@ D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE
Definition mini_d3d12.h:2134
D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
@ D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE
Definition mini_d3d12.h:2133
LONG_PTR
_W64 INT32 LONG_PTR
Definition mini_d3d12.h:253
ID3D12VersionedRootSignatureDeserializer
interface ID3D12VersionedRootSignatureDeserializer ID3D12VersionedRootSignatureDeserializer
Definition mini_d3d12.h:1323
IID_ID3D12CommandList
EXTERN_C const IID IID_ID3D12CommandList
Definition mini_d3d12.h:3419
WCHAR
wchar_t WCHAR
Definition mini_d3d12.h:198
IUnknown
interface IUnknown IUnknown
Definition mini_d3d12.h:748
UINT64
unsigned __int64 UINT64
Definition mini_d3d12.h:231
D3D12_SRV_DIMENSION
D3D12_SRV_DIMENSION
Definition mini_d3d12.h:2389
D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY
@ D3D12_SRV_DIMENSION_TEXTURE2DMSARRAY
Definition mini_d3d12.h:2397
D3D12_SRV_DIMENSION_TEXTURECUBE
@ D3D12_SRV_DIMENSION_TEXTURECUBE
Definition mini_d3d12.h:2399
D3D12_SRV_DIMENSION_TEXTURE3D
@ D3D12_SRV_DIMENSION_TEXTURE3D
Definition mini_d3d12.h:2398
D3D12_SRV_DIMENSION_TEXTURECUBEARRAY
@ D3D12_SRV_DIMENSION_TEXTURECUBEARRAY
Definition mini_d3d12.h:2400
D3D12_SRV_DIMENSION_TEXTURE2DARRAY
@ D3D12_SRV_DIMENSION_TEXTURE2DARRAY
Definition mini_d3d12.h:2395
D3D12_SRV_DIMENSION_TEXTURE2DMS
@ D3D12_SRV_DIMENSION_TEXTURE2DMS
Definition mini_d3d12.h:2396
D3D12_SRV_DIMENSION_BUFFER
@ D3D12_SRV_DIMENSION_BUFFER
Definition mini_d3d12.h:2391
D3D12_SRV_DIMENSION_TEXTURE1D
@ D3D12_SRV_DIMENSION_TEXTURE1D
Definition mini_d3d12.h:2392
D3D12_SRV_DIMENSION_TEXTURE2D
@ D3D12_SRV_DIMENSION_TEXTURE2D
Definition mini_d3d12.h:2394
D3D12_SRV_DIMENSION_TEXTURE1DARRAY
@ D3D12_SRV_DIMENSION_TEXTURE1DARRAY
Definition mini_d3d12.h:2393
D3D12_SRV_DIMENSION_UNKNOWN
@ D3D12_SRV_DIMENSION_UNKNOWN
Definition mini_d3d12.h:2390
D3D12_STENCIL_OP
D3D12_STENCIL_OP
Definition mini_d3d12.h:2011
D3D12_STENCIL_OP_KEEP
@ D3D12_STENCIL_OP_KEEP
Definition mini_d3d12.h:2012
D3D12_STENCIL_OP_INVERT
@ D3D12_STENCIL_OP_INVERT
Definition mini_d3d12.h:2017
D3D12_STENCIL_OP_REPLACE
@ D3D12_STENCIL_OP_REPLACE
Definition mini_d3d12.h:2014
D3D12_STENCIL_OP_ZERO
@ D3D12_STENCIL_OP_ZERO
Definition mini_d3d12.h:2013
D3D12_STENCIL_OP_INCR_SAT
@ D3D12_STENCIL_OP_INCR_SAT
Definition mini_d3d12.h:2015
D3D12_STENCIL_OP_DECR
@ D3D12_STENCIL_OP_DECR
Definition mini_d3d12.h:2019
D3D12_STENCIL_OP_INCR
@ D3D12_STENCIL_OP_INCR
Definition mini_d3d12.h:2018
D3D12_STENCIL_OP_DECR_SAT
@ D3D12_STENCIL_OP_DECR_SAT
Definition mini_d3d12.h:2016
_In_opt_
#define _In_opt_
Definition mini_d3d12.h:37
IID_ID3D12Device
EXTERN_C const IID IID_ID3D12Device
Definition mini_d3d12.h:4616
IID_ID3D12QueryHeap
EXTERN_C const IID IID_ID3D12QueryHeap
Definition mini_d3d12.h:5669
LPIID
IID * LPIID
Definition mini_d3d12.h:474
ID3DBlob
ID3D10Blob ID3DBlob
Definition mini_d3d12.h:1289
IID_IDXGIAdapter1
EXTERN_C const IID IID_IDXGIAdapter1
Definition mini_d3d12.h:6619
D3D12_INDIRECT_ARGUMENT_TYPE
D3D12_INDIRECT_ARGUMENT_TYPE
Definition mini_d3d12.h:2732
D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_VERTEX_BUFFER_VIEW
Definition mini_d3d12.h:2736
D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_SHADER_RESOURCE_VIEW
Definition mini_d3d12.h:2740
D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH
@ D3D12_INDIRECT_ARGUMENT_TYPE_DISPATCH
Definition mini_d3d12.h:2735
D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_INDEX_BUFFER_VIEW
Definition mini_d3d12.h:2737
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW
Definition mini_d3d12.h:2733
D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_UNORDERED_ACCESS_VIEW
Definition mini_d3d12.h:2741
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT
Definition mini_d3d12.h:2738
D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
@ D3D12_INDIRECT_ARGUMENT_TYPE_DRAW_INDEXED
Definition mini_d3d12.h:2734
D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW
@ D3D12_INDIRECT_ARGUMENT_TYPE_CONSTANT_BUFFER_VIEW
Definition mini_d3d12.h:2739
D3D12_REQ_SUBRESOURCES
#define D3D12_REQ_SUBRESOURCES
Definition mini_d3d12.h:4608
D3D12_BLEND_OP
D3D12_BLEND_OP
Definition mini_d3d12.h:1919
D3D12_BLEND_OP_MAX
@ D3D12_BLEND_OP_MAX
Definition mini_d3d12.h:1924
D3D12_BLEND_OP_SUBTRACT
@ D3D12_BLEND_OP_SUBTRACT
Definition mini_d3d12.h:1921
D3D12_BLEND_OP_MIN
@ D3D12_BLEND_OP_MIN
Definition mini_d3d12.h:1923
D3D12_BLEND_OP_REV_SUBTRACT
@ D3D12_BLEND_OP_REV_SUBTRACT
Definition mini_d3d12.h:1922
D3D12_BLEND_OP_ADD
@ D3D12_BLEND_OP_ADD
Definition mini_d3d12.h:1920
EXTERN_C
#define EXTERN_C
Definition mini_d3d12.h:327
D3D12_ROOT_PARAMETER_TYPE
D3D12_ROOT_PARAMETER_TYPE
Definition mini_d3d12.h:2942
D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
@ D3D12_ROOT_PARAMETER_TYPE_DESCRIPTOR_TABLE
Definition mini_d3d12.h:2943
D3D12_ROOT_PARAMETER_TYPE_SRV
@ D3D12_ROOT_PARAMETER_TYPE_SRV
Definition mini_d3d12.h:2946
D3D12_ROOT_PARAMETER_TYPE_UAV
@ D3D12_ROOT_PARAMETER_TYPE_UAV
Definition mini_d3d12.h:2947
D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
@ D3D12_ROOT_PARAMETER_TYPE_32BIT_CONSTANTS
Definition mini_d3d12.h:2944
D3D12_ROOT_PARAMETER_TYPE_CBV
@ D3D12_ROOT_PARAMETER_TYPE_CBV
Definition mini_d3d12.h:2945
LPCWSTR
_Null_terminated_ CONST WCHAR * LPCWSTR
Definition mini_d3d12.h:206
D3D12_QUERY_HEAP_TYPE
D3D12_QUERY_HEAP_TYPE
Definition mini_d3d12.h:2719
D3D12_QUERY_HEAP_TYPE_TIMESTAMP
@ D3D12_QUERY_HEAP_TYPE_TIMESTAMP
Definition mini_d3d12.h:2721
D3D12_QUERY_HEAP_TYPE_SO_STATISTICS
@ D3D12_QUERY_HEAP_TYPE_SO_STATISTICS
Definition mini_d3d12.h:2723
D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS
@ D3D12_QUERY_HEAP_TYPE_PIPELINE_STATISTICS
Definition mini_d3d12.h:2722
D3D12_QUERY_HEAP_TYPE_OCCLUSION
@ D3D12_QUERY_HEAP_TYPE_OCCLUSION
Definition mini_d3d12.h:2720
DXGI_SWAP_CHAIN_DESC
struct DXGI_SWAP_CHAIN_DESC DXGI_SWAP_CHAIN_DESC
Definition mini_d3d12.h:5965
LPCOLESTR
LPCSTR LPCOLESTR
Definition mini_d3d12.h:941
ID3D12RootSignatureDeserializer
interface ID3D12RootSignatureDeserializer ID3D12RootSignatureDeserializer
Definition mini_d3d12.h:1317
ID3D12Fence
interface ID3D12Fence ID3D12Fence
Definition mini_d3d12.h:1353
PURE
#define PURE
Definition mini_d3d12.h:713
D3D12_RESOURCE_BARRIER_TYPE
D3D12_RESOURCE_BARRIER_TYPE
Definition mini_d3d12.h:2879
D3D12_RESOURCE_BARRIER_TYPE_UAV
@ D3D12_RESOURCE_BARRIER_TYPE_UAV
Definition mini_d3d12.h:2882
D3D12_RESOURCE_BARRIER_TYPE_TRANSITION
@ D3D12_RESOURCE_BARRIER_TYPE_TRANSITION
Definition mini_d3d12.h:2880
D3D12_RESOURCE_BARRIER_TYPE_ALIASING
@ D3D12_RESOURCE_BARRIER_TYPE_ALIASING
Definition mini_d3d12.h:2881
LPD3DBLOB
ID3DBlob * LPD3DBLOB
Definition mini_d3d12.h:1291
D3D_INCLUDE_TYPE
enum _D3D_INCLUDE_TYPE D3D_INCLUDE_TYPE
IDXGIObject
interface IDXGIObject IDXGIObject
Definition mini_d3d12.h:5893
LPD3D10BLOB
interface ID3D10Blob * LPD3D10BLOB
Definition mini_d3d12.h:1288
DWORD
unsigned long DWORD
Definition mini_d3d12.h:182
IID_IDXGIFactory1
EXTERN_C const IID IID_IDXGIFactory1
Definition mini_d3d12.h:6439
PUINT64
unsigned __int64 * PUINT64
Definition mini_d3d12.h:231
D3D12_TILE_COPY_FLAGS
D3D12_TILE_COPY_FLAGS
Definition mini_d3d12.h:2211
D3D12_TILE_COPY_FLAG_NONE
@ D3D12_TILE_COPY_FLAG_NONE
Definition mini_d3d12.h:2212
D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
@ D3D12_TILE_COPY_FLAG_SWIZZLED_TILED_RESOURCE_TO_LINEAR_BUFFER
Definition mini_d3d12.h:2215
D3D12_TILE_COPY_FLAG_NO_HAZARD
@ D3D12_TILE_COPY_FLAG_NO_HAZARD
Definition mini_d3d12.h:2213
D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
@ D3D12_TILE_COPY_FLAG_LINEAR_BUFFER_TO_SWIZZLED_TILED_RESOURCE
Definition mini_d3d12.h:2214
BEGIN_INTERFACE
#define BEGIN_INTERFACE
Definition mini_d3d12.h:597
D3D12_DESCRIPTOR_HEAP_TYPE
D3D12_DESCRIPTOR_HEAP_TYPE
Definition mini_d3d12.h:2283
D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
@ D3D12_DESCRIPTOR_HEAP_TYPE_CBV_SRV_UAV
Definition mini_d3d12.h:2284
D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
@ D3D12_DESCRIPTOR_HEAP_TYPE_NUM_TYPES
Definition mini_d3d12.h:2288
D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
@ D3D12_DESCRIPTOR_HEAP_TYPE_SAMPLER
Definition mini_d3d12.h:2285
D3D12_DESCRIPTOR_HEAP_TYPE_RTV
@ D3D12_DESCRIPTOR_HEAP_TYPE_RTV
Definition mini_d3d12.h:2286
D3D12_DESCRIPTOR_HEAP_TYPE_DSV
@ D3D12_DESCRIPTOR_HEAP_TYPE_DSV
Definition mini_d3d12.h:2287
ID3D12Tools
interface ID3D12Tools ID3D12Tools
Definition mini_d3d12.h:1437
PINT64
__int64 * PINT64
Definition mini_d3d12.h:230
PINT16
SHORT * PINT16
Definition mini_d3d12.h:221
D3D_SHADER_MACRO
struct _D3D_SHADER_MACRO D3D_SHADER_MACRO
LPCVOID
CONST void far * LPCVOID
Definition mini_d3d12.h:189
D3D12_COMPARISON_FUNC
D3D12_COMPARISON_FUNC
Definition mini_d3d12.h:2000
D3D12_COMPARISON_FUNC_GREATER_EQUAL
@ D3D12_COMPARISON_FUNC_GREATER_EQUAL
Definition mini_d3d12.h:2007
D3D12_COMPARISON_FUNC_ALWAYS
@ D3D12_COMPARISON_FUNC_ALWAYS
Definition mini_d3d12.h:2008
D3D12_COMPARISON_FUNC_NOT_EQUAL
@ D3D12_COMPARISON_FUNC_NOT_EQUAL
Definition mini_d3d12.h:2006
D3D12_COMPARISON_FUNC_LESS_EQUAL
@ D3D12_COMPARISON_FUNC_LESS_EQUAL
Definition mini_d3d12.h:2004
D3D12_COMPARISON_FUNC_LESS
@ D3D12_COMPARISON_FUNC_LESS
Definition mini_d3d12.h:2002
D3D12_COMPARISON_FUNC_NEVER
@ D3D12_COMPARISON_FUNC_NEVER
Definition mini_d3d12.h:2001
D3D12_COMPARISON_FUNC_EQUAL
@ D3D12_COMPARISON_FUNC_EQUAL
Definition mini_d3d12.h:2003
D3D12_COMPARISON_FUNC_GREATER
@ D3D12_COMPARISON_FUNC_GREATER
Definition mini_d3d12.h:2005
D3D12_SHADER_VISIBILITY
D3D12_SHADER_VISIBILITY
Definition mini_d3d12.h:2981
D3D12_SHADER_VISIBILITY_DOMAIN
@ D3D12_SHADER_VISIBILITY_DOMAIN
Definition mini_d3d12.h:2985
D3D12_SHADER_VISIBILITY_ALL
@ D3D12_SHADER_VISIBILITY_ALL
Definition mini_d3d12.h:2982
D3D12_SHADER_VISIBILITY_GEOMETRY
@ D3D12_SHADER_VISIBILITY_GEOMETRY
Definition mini_d3d12.h:2986
D3D12_SHADER_VISIBILITY_VERTEX
@ D3D12_SHADER_VISIBILITY_VERTEX
Definition mini_d3d12.h:2983
D3D12_SHADER_VISIBILITY_HULL
@ D3D12_SHADER_VISIBILITY_HULL
Definition mini_d3d12.h:2984
D3D12_SHADER_VISIBILITY_PIXEL
@ D3D12_SHADER_VISIBILITY_PIXEL
Definition mini_d3d12.h:2987
UINT32
UINT UINT32
Definition mini_d3d12.h:225
PLUID
struct __LUID * PLUID
Definition mini_d3d12.h:4603
IRpcStubBuffer
interface IRpcStubBuffer IRpcStubBuffer
Definition mini_d3d12.h:742
GUID
struct _GUID GUID
D3D12_PRIMITIVE_TOPOLOGY
D3D_PRIMITIVE_TOPOLOGY D3D12_PRIMITIVE_TOPOLOGY
Definition mini_d3d12.h:2835
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE
Definition mini_d3d12.h:2065
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_DISABLED
Definition mini_d3d12.h:2066
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFF
Definition mini_d3d12.h:2067
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF
@ D3D12_INDEX_BUFFER_STRIP_CUT_VALUE_0xFFFFFFFF
Definition mini_d3d12.h:2068
_Post_equal_to_
#define _Post_equal_to_(e)
Definition mini_d3d12.h:77
HMODULE
HINSTANCE HMODULE
Definition mini_d3d12.h:456
PRECT
struct tagRECT * PRECT
D3D12_BLEND
D3D12_BLEND
Definition mini_d3d12.h:1899
D3D12_BLEND_INV_SRC_COLOR
@ D3D12_BLEND_INV_SRC_COLOR
Definition mini_d3d12.h:1903
D3D12_BLEND_DEST_COLOR
@ D3D12_BLEND_DEST_COLOR
Definition mini_d3d12.h:1908
D3D12_BLEND_INV_SRC1_ALPHA
@ D3D12_BLEND_INV_SRC1_ALPHA
Definition mini_d3d12.h:1916
D3D12_BLEND_INV_BLEND_FACTOR
@ D3D12_BLEND_INV_BLEND_FACTOR
Definition mini_d3d12.h:1912
D3D12_BLEND_BLEND_FACTOR
@ D3D12_BLEND_BLEND_FACTOR
Definition mini_d3d12.h:1911
D3D12_BLEND_SRC1_COLOR
@ D3D12_BLEND_SRC1_COLOR
Definition mini_d3d12.h:1913
D3D12_BLEND_DEST_ALPHA
@ D3D12_BLEND_DEST_ALPHA
Definition mini_d3d12.h:1906
D3D12_BLEND_INV_DEST_COLOR
@ D3D12_BLEND_INV_DEST_COLOR
Definition mini_d3d12.h:1909
D3D12_BLEND_INV_SRC1_COLOR
@ D3D12_BLEND_INV_SRC1_COLOR
Definition mini_d3d12.h:1914
D3D12_BLEND_SRC_COLOR
@ D3D12_BLEND_SRC_COLOR
Definition mini_d3d12.h:1902
D3D12_BLEND_SRC_ALPHA
@ D3D12_BLEND_SRC_ALPHA
Definition mini_d3d12.h:1904
D3D12_BLEND_ONE
@ D3D12_BLEND_ONE
Definition mini_d3d12.h:1901
D3D12_BLEND_INV_DEST_ALPHA
@ D3D12_BLEND_INV_DEST_ALPHA
Definition mini_d3d12.h:1907
D3D12_BLEND_INV_SRC_ALPHA
@ D3D12_BLEND_INV_SRC_ALPHA
Definition mini_d3d12.h:1905
D3D12_BLEND_SRC_ALPHA_SAT
@ D3D12_BLEND_SRC_ALPHA_SAT
Definition mini_d3d12.h:1910
D3D12_BLEND_ZERO
@ D3D12_BLEND_ZERO
Definition mini_d3d12.h:1900
D3D12_BLEND_SRC1_ALPHA
@ D3D12_BLEND_SRC1_ALPHA
Definition mini_d3d12.h:1915
WaitForSingleObject
WINBASEAPI DWORD WINAPI WaitForSingleObject(_In_ HANDLE hHandle, _In_ DWORD dwMilliseconds)
I_RPC_HANDLE
void * I_RPC_HANDLE
Definition mini_d3d12.h:531
CHAR
char CHAR
Definition mini_d3d12.h:166
DECLARE_HANDLE
#define DECLARE_HANDLE(name)
Definition mini_d3d12.h:432
_In_range_
#define _In_range_(lb, ub)
Definition mini_d3d12.h:85
STDMETHOD
#define STDMETHOD(method)
Definition mini_d3d12.h:692
D3D12_ROOT_DESCRIPTOR_FLAGS
D3D12_ROOT_DESCRIPTOR_FLAGS
Definition mini_d3d12.h:3054
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Definition mini_d3d12.h:3057
D3D12_ROOT_DESCRIPTOR_FLAG_NONE
@ D3D12_ROOT_DESCRIPTOR_FLAG_NONE
Definition mini_d3d12.h:3055
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_STATIC
Definition mini_d3d12.h:3058
D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE
@ D3D12_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE
Definition mini_d3d12.h:3056
FAR
#define FAR
Definition mini_d3d12.h:208
CloseHandle
WINBASEAPI BOOL WINAPI CloseHandle(_In_ _Post_ptr_invalid_ HANDLE hObject)
ID3D12RootSignature
interface ID3D12RootSignature ID3D12RootSignature
Definition mini_d3d12.h:1311
D3D_PRIMITIVE_TOPOLOGY
D3D_PRIMITIVE_TOPOLOGY
Definition mini_d3d12.h:962
D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition mini_d3d12.h:1011
D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1042
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition mini_d3d12.h:1018
D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1054
D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1001
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition mini_d3d12.h:1008
D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1055
D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_29_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1053
D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1056
D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1047
D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:987
D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:994
D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_31_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1003
D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1025
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition mini_d3d12.h:967
D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition mini_d3d12.h:1021
D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:976
D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition mini_d3d12.h:1022
D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:986
D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:988
D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED
@ D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition mini_d3d12.h:1005
D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:977
D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
@ D3D10_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition mini_d3d12.h:1012
D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:978
D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1041
D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:993
D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED
@ D3D11_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition mini_d3d12.h:1015
D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ
Definition mini_d3d12.h:969
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition mini_d3d12.h:1019
D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:980
D3D10_PRIMITIVE_TOPOLOGY_POINTLIST
@ D3D10_PRIMITIVE_TOPOLOGY_POINTLIST
Definition mini_d3d12.h:1006
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition mini_d3d12.h:968
D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:983
D3D11_PRIMITIVE_TOPOLOGY_POINTLIST
@ D3D11_PRIMITIVE_TOPOLOGY_POINTLIST
Definition mini_d3d12.h:1016
D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_30_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1002
D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
@ D3D_PRIMITIVE_TOPOLOGY_UNDEFINED
Definition mini_d3d12.h:963
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition mini_d3d12.h:1014
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition mini_d3d12.h:1020
D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:974
D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:975
D3D10_PRIMITIVE_TOPOLOGY_LINELIST
@ D3D10_PRIMITIVE_TOPOLOGY_LINELIST
Definition mini_d3d12.h:1007
D3D11_PRIMITIVE_TOPOLOGY_LINELIST
@ D3D11_PRIMITIVE_TOPOLOGY_LINELIST
Definition mini_d3d12.h:1017
D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:996
D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:984
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST
Definition mini_d3d12.h:1009
D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1037
D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:981
D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_24_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1048
D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_5_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1029
D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1044
D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:998
D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:991
D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1049
D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_22_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1046
D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_8_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1032
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP
Definition mini_d3d12.h:1010
D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition mini_d3d12.h:972
D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_2_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1026
D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_3_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1027
D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_20_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:992
D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:999
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP
Definition mini_d3d12.h:966
D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_11_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1035
D3D_PRIMITIVE_TOPOLOGY_LINELIST
@ D3D_PRIMITIVE_TOPOLOGY_LINELIST
Definition mini_d3d12.h:965
D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_17_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:989
D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:982
D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_21_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1045
D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition mini_d3d12.h:971
D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_12_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1036
D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_19_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1043
D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_32_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1004
D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_26_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1050
D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1000
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition mini_d3d12.h:1023
D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
@ D3D_PRIMITIVE_TOPOLOGY_LINESTRIP_ADJ
Definition mini_d3d12.h:970
D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
@ D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST_ADJ
Definition mini_d3d12.h:1013
D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1031
D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
@ D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP_ADJ
Definition mini_d3d12.h:1024
D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_9_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1033
D3D_PRIMITIVE_TOPOLOGY_POINTLIST
@ D3D_PRIMITIVE_TOPOLOGY_POINTLIST
Definition mini_d3d12.h:964
D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_28_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1052
D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_23_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:995
D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_1_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:973
D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_4_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1028
D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_10_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1034
D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_6_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1030
D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_14_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1038
D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_13_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:985
D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_7_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:979
D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_16_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1040
D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_15_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1039
D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
@ D3D11_PRIMITIVE_TOPOLOGY_27_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:1051
D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_25_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:997
D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
@ D3D_PRIMITIVE_TOPOLOGY_18_CONTROL_POINT_PATCHLIST
Definition mini_d3d12.h:990
IRpcChannelBuffer
interface IRpcChannelBuffer IRpcChannelBuffer
Definition mini_d3d12.h:743
NPRECT
struct tagRECT * NPRECT
_Out_writes_bytes_opt_
#define _Out_writes_bytes_opt_(size)
Definition mini_d3d12.h:117
RPC_SYNTAX_IDENTIFIER
struct _RPC_SYNTAX_IDENTIFIER RPC_SYNTAX_IDENTIFIER
ID3D12PipelineState
interface ID3D12PipelineState ID3D12PipelineState
Definition mini_d3d12.h:1359
ULONG
unsigned long ULONG
Definition mini_d3d12.h:180
D3D12_HEAP_TYPE
D3D12_HEAP_TYPE
Definition mini_d3d12.h:2174
D3D12_HEAP_TYPE_DEFAULT
@ D3D12_HEAP_TYPE_DEFAULT
Definition mini_d3d12.h:2175
D3D12_HEAP_TYPE_READBACK
@ D3D12_HEAP_TYPE_READBACK
Definition mini_d3d12.h:2177
D3D12_HEAP_TYPE_UPLOAD
@ D3D12_HEAP_TYPE_UPLOAD
Definition mini_d3d12.h:2176
D3D12_HEAP_TYPE_CUSTOM
@ D3D12_HEAP_TYPE_CUSTOM
Definition mini_d3d12.h:2178
_In_reads_
#define _In_reads_(size)
Definition mini_d3d12.h:89
D3D12_FENCE_FLAGS
D3D12_FENCE_FLAGS
Definition mini_d3d12.h:2276
D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER
@ D3D12_FENCE_FLAG_SHARED_CROSS_ADAPTER
Definition mini_d3d12.h:2279
D3D12_FENCE_FLAG_NONE
@ D3D12_FENCE_FLAG_NONE
Definition mini_d3d12.h:2277
D3D12_FENCE_FLAG_SHARED
@ D3D12_FENCE_FLAG_SHARED
Definition mini_d3d12.h:2278
SIZE_T
ULONG_PTR SIZE_T
Definition mini_d3d12.h:259
IID_IDXGIFactory
EXTERN_C const IID IID_IDXGIFactory
Definition mini_d3d12.h:6105
ID3D12CommandQueue
interface ID3D12CommandQueue ID3D12CommandQueue
Definition mini_d3d12.h:1401
INT32
INT INT32
Definition mini_d3d12.h:222
D3D12_PIPELINE_STATE_FLAGS
D3D12_PIPELINE_STATE_FLAGS
Definition mini_d3d12.h:2060
D3D12_PIPELINE_STATE_FLAG_NONE
@ D3D12_PIPELINE_STATE_FLAG_NONE
Definition mini_d3d12.h:2061
D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
@ D3D12_PIPELINE_STATE_FLAG_TOOL_DEBUG
Definition mini_d3d12.h:2062
D3D12_COMMAND_QUEUE_FLAGS
D3D12_COMMAND_QUEUE_FLAGS
Definition mini_d3d12.h:1858
D3D12_COMMAND_QUEUE_FLAG_NONE
@ D3D12_COMMAND_QUEUE_FLAG_NONE
Definition mini_d3d12.h:1859
D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
@ D3D12_COMMAND_QUEUE_FLAG_DISABLE_GPU_TIMEOUT
Definition mini_d3d12.h:1860
D3D12_FEATURE
D3D12_FEATURE
Definition mini_d3d12.h:2253
D3D12_FEATURE_FORMAT_SUPPORT
@ D3D12_FEATURE_FORMAT_SUPPORT
Definition mini_d3d12.h:2257
D3D12_FEATURE_FEATURE_LEVELS
@ D3D12_FEATURE_FEATURE_LEVELS
Definition mini_d3d12.h:2256
D3D12_FEATURE_FORMAT_INFO
@ D3D12_FEATURE_FORMAT_INFO
Definition mini_d3d12.h:2259
D3D12_FEATURE_D3D12_OPTIONS
@ D3D12_FEATURE_D3D12_OPTIONS
Definition mini_d3d12.h:2254
D3D12_FEATURE_D3D12_OPTIONS2
@ D3D12_FEATURE_D3D12_OPTIONS2
Definition mini_d3d12.h:2265
D3D12_FEATURE_SHADER_CACHE
@ D3D12_FEATURE_SHADER_CACHE
Definition mini_d3d12.h:2266
D3D12_FEATURE_SHADER_MODEL
@ D3D12_FEATURE_SHADER_MODEL
Definition mini_d3d12.h:2261
D3D12_FEATURE_ARCHITECTURE
@ D3D12_FEATURE_ARCHITECTURE
Definition mini_d3d12.h:2255
D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
@ D3D12_FEATURE_COMMAND_QUEUE_PRIORITY
Definition mini_d3d12.h:2267
D3D12_FEATURE_ARCHITECTURE1
@ D3D12_FEATURE_ARCHITECTURE1
Definition mini_d3d12.h:2264
D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
@ D3D12_FEATURE_MULTISAMPLE_QUALITY_LEVELS
Definition mini_d3d12.h:2258
D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
@ D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT
Definition mini_d3d12.h:2260
D3D12_FEATURE_ROOT_SIGNATURE
@ D3D12_FEATURE_ROOT_SIGNATURE
Definition mini_d3d12.h:2263
D3D12_FEATURE_D3D12_OPTIONS1
@ D3D12_FEATURE_D3D12_OPTIONS1
Definition mini_d3d12.h:2262
IDXGIOutput
interface IDXGIOutput IDXGIOutput
Definition mini_d3d12.h:5905
D3D12_GPU_VIRTUAL_ADDRESS
UINT64 D3D12_GPU_VIRTUAL_ADDRESS
Definition mini_d3d12.h:2421
uint64_t
unsigned __INT64_TYPE__ uint64_t
Definition runtime_internal.h:23
int64_t
signed __INT64_TYPE__ int64_t
Definition runtime_internal.h:22
int32_t
signed __INT32_TYPE__ int32_t
Definition runtime_internal.h:24
uint32_t
unsigned __INT32_TYPE__ uint32_t
Definition runtime_internal.h:25
__LUID
Definition mini_d3d12.h:4598
__LUID::LowPart
DWORD LowPart
Definition mini_d3d12.h:4599
__LUID::HighPart
LONG HighPart
Definition mini_d3d12.h:4600
_D3D_SHADER_MACRO
Definition mini_d3d12.h:1209
_D3D_SHADER_MACRO::Definition
LPCSTR Definition
Definition mini_d3d12.h:1211
_D3D_SHADER_MACRO::Name
LPCSTR Name
Definition mini_d3d12.h:1210
_GUID
Definition mini_d3d12.h:467
_GUID::Data2
WORD Data2
Definition mini_d3d12.h:469
_GUID::Data3
WORD Data3
Definition mini_d3d12.h:470
_GUID::Data1
DWORD Data1
Definition mini_d3d12.h:468
_GUID::Data4
BYTE Data4[8]
Definition mini_d3d12.h:471
_RPC_MESSAGE
Definition mini_d3d12.h:561
_RPC_MESSAGE::BufferLength
unsigned int BufferLength
Definition mini_d3d12.h:565
_RPC_MESSAGE::RpcFlags
unsigned long RpcFlags
Definition mini_d3d12.h:572
_RPC_MESSAGE::ImportContext
void __RPC_FAR * ImportContext
Definition mini_d3d12.h:571
_RPC_MESSAGE::ProcNum
unsigned int ProcNum
Definition mini_d3d12.h:566
_RPC_MESSAGE::DataRepresentation
unsigned long DataRepresentation
Definition mini_d3d12.h:563
_RPC_MESSAGE::TransferSyntax
PRPC_SYNTAX_IDENTIFIER TransferSyntax
Definition mini_d3d12.h:567
_RPC_MESSAGE::Buffer
void __RPC_FAR * Buffer
Definition mini_d3d12.h:564
_RPC_MESSAGE::RpcInterfaceInformation
void __RPC_FAR * RpcInterfaceInformation
Definition mini_d3d12.h:568
_RPC_MESSAGE::ReservedForRuntime
void __RPC_FAR * ReservedForRuntime
Definition mini_d3d12.h:569
_RPC_MESSAGE::ManagerEpv
RPC_MGR_EPV __RPC_FAR * ManagerEpv
Definition mini_d3d12.h:570
_RPC_MESSAGE::Handle
RPC_BINDING_HANDLE Handle
Definition mini_d3d12.h:562
_RPC_SYNTAX_IDENTIFIER
Definition mini_d3d12.h:556
_RPC_SYNTAX_IDENTIFIER::SyntaxGUID
GUID SyntaxGUID
Definition mini_d3d12.h:557
_RPC_SYNTAX_IDENTIFIER::SyntaxVersion
RPC_VERSION SyntaxVersion
Definition mini_d3d12.h:558
_RPC_VERSION
Definition mini_d3d12.h:551
_RPC_VERSION::MajorVersion
unsigned short MajorVersion
Definition mini_d3d12.h:552
_RPC_VERSION::MinorVersion
unsigned short MinorVersion
Definition mini_d3d12.h:553
_SECURITY_ATTRIBUTES
Definition mini_d3d12.h:269
_SECURITY_ATTRIBUTES::nLength
DWORD nLength
Definition mini_d3d12.h:270
_SECURITY_ATTRIBUTES::bInheritHandle
BOOL bInheritHandle
Definition mini_d3d12.h:272
_SECURITY_ATTRIBUTES::lpSecurityDescriptor
LPVOID lpSecurityDescriptor
Definition mini_d3d12.h:271
D3D12_BLEND_DESC
Definition mini_d3d12.h:1959
D3D12_BLEND_DESC::AlphaToCoverageEnable
BOOL AlphaToCoverageEnable
Definition mini_d3d12.h:1960
D3D12_BLEND_DESC::IndependentBlendEnable
BOOL IndependentBlendEnable
Definition mini_d3d12.h:1961
D3D12_BLEND_DESC::RenderTarget
D3D12_RENDER_TARGET_BLEND_DESC RenderTarget[8]
Definition mini_d3d12.h:1962
D3D12_BOX
Definition mini_d3d12.h:1842
D3D12_BOX::right
UINT right
Definition mini_d3d12.h:1846
D3D12_BOX::top
UINT top
Definition mini_d3d12.h:1844
D3D12_BOX::left
UINT left
Definition mini_d3d12.h:1843
D3D12_BOX::bottom
UINT bottom
Definition mini_d3d12.h:1847
D3D12_BOX::front
UINT front
Definition mini_d3d12.h:1845
D3D12_BOX::back
UINT back
Definition mini_d3d12.h:1848
D3D12_BUFFER_RTV
Definition mini_d3d12.h:2501
D3D12_BUFFER_RTV::NumElements
UINT NumElements
Definition mini_d3d12.h:2503
D3D12_BUFFER_RTV::FirstElement
UINT64 FirstElement
Definition mini_d3d12.h:2502
D3D12_BUFFER_SRV
Definition mini_d3d12.h:2323
D3D12_BUFFER_SRV::StructureByteStride
UINT StructureByteStride
Definition mini_d3d12.h:2326
D3D12_BUFFER_SRV::Flags
D3D12_BUFFER_SRV_FLAGS Flags
Definition mini_d3d12.h:2327
D3D12_BUFFER_SRV::FirstElement
UINT64 FirstElement
Definition mini_d3d12.h:2324
D3D12_BUFFER_SRV::NumElements
UINT NumElements
Definition mini_d3d12.h:2325
D3D12_BUFFER_UAV
Definition mini_d3d12.h:2442
D3D12_BUFFER_UAV::StructureByteStride
UINT StructureByteStride
Definition mini_d3d12.h:2445
D3D12_BUFFER_UAV::Flags
D3D12_BUFFER_UAV_FLAGS Flags
Definition mini_d3d12.h:2447
D3D12_BUFFER_UAV::FirstElement
UINT64 FirstElement
Definition mini_d3d12.h:2443
D3D12_BUFFER_UAV::CounterOffsetInBytes
UINT64 CounterOffsetInBytes
Definition mini_d3d12.h:2446
D3D12_BUFFER_UAV::NumElements
UINT NumElements
Definition mini_d3d12.h:2444
D3D12_CACHED_PIPELINE_STATE
Definition mini_d3d12.h:2079
D3D12_CACHED_PIPELINE_STATE::_Field_size_bytes_full_
_Field_size_bytes_full_(CachedBlobSizeInBytes) const void *pCachedBlob
D3D12_CACHED_PIPELINE_STATE::CachedBlobSizeInBytes
SIZE_T CachedBlobSizeInBytes
Definition mini_d3d12.h:2081
D3D12_CLEAR_VALUE
Definition mini_d3d12.h:2245
D3D12_CLEAR_VALUE::DepthStencil
D3D12_DEPTH_STENCIL_VALUE DepthStencil
Definition mini_d3d12.h:2249
D3D12_CLEAR_VALUE::Color
FLOAT Color[4]
Definition mini_d3d12.h:2248
D3D12_CLEAR_VALUE::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2246
D3D12_COMMAND_QUEUE_DESC
Definition mini_d3d12.h:1870
D3D12_COMMAND_QUEUE_DESC::Flags
D3D12_COMMAND_QUEUE_FLAGS Flags
Definition mini_d3d12.h:1873
D3D12_COMMAND_QUEUE_DESC::NodeMask
UINT NodeMask
Definition mini_d3d12.h:1874
D3D12_COMMAND_QUEUE_DESC::Type
D3D12_COMMAND_LIST_TYPE Type
Definition mini_d3d12.h:1871
D3D12_COMMAND_QUEUE_DESC::Priority
INT Priority
Definition mini_d3d12.h:1872
D3D12_COMMAND_SIGNATURE_DESC
Definition mini_d3d12.h:2772
D3D12_COMMAND_SIGNATURE_DESC::NodeMask
UINT NodeMask
Definition mini_d3d12.h:2776
D3D12_COMMAND_SIGNATURE_DESC::_Field_size_full_
_Field_size_full_(NumArgumentDescs) const D3D12_INDIRECT_ARGUMENT_DESC *pArgumentDescs
D3D12_COMMAND_SIGNATURE_DESC::NumArgumentDescs
UINT NumArgumentDescs
Definition mini_d3d12.h:2774
D3D12_COMMAND_SIGNATURE_DESC::ByteStride
UINT ByteStride
Definition mini_d3d12.h:2773
D3D12_COMPUTE_PIPELINE_STATE_DESC
Definition mini_d3d12.h:2109
D3D12_COMPUTE_PIPELINE_STATE_DESC::pRootSignature
ID3D12RootSignature * pRootSignature
Definition mini_d3d12.h:2110
D3D12_COMPUTE_PIPELINE_STATE_DESC::CS
D3D12_SHADER_BYTECODE CS
Definition mini_d3d12.h:2111
D3D12_COMPUTE_PIPELINE_STATE_DESC::CachedPSO
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition mini_d3d12.h:2113
D3D12_COMPUTE_PIPELINE_STATE_DESC::NodeMask
UINT NodeMask
Definition mini_d3d12.h:2112
D3D12_COMPUTE_PIPELINE_STATE_DESC::Flags
D3D12_PIPELINE_STATE_FLAGS Flags
Definition mini_d3d12.h:2114
D3D12_CONSTANT_BUFFER_VIEW_DESC
Definition mini_d3d12.h:2423
D3D12_CONSTANT_BUFFER_VIEW_DESC::SizeInBytes
UINT SizeInBytes
Definition mini_d3d12.h:2425
D3D12_CONSTANT_BUFFER_VIEW_DESC::BufferLocation
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition mini_d3d12.h:2424
D3D12_CPU_DESCRIPTOR_HANDLE
Definition mini_d3d12.h:2428
D3D12_CPU_DESCRIPTOR_HANDLE::ptr
SIZE_T ptr
Definition mini_d3d12.h:2429
D3D12_DEPTH_STENCIL_DESC
Definition mini_d3d12.h:2029
D3D12_DEPTH_STENCIL_DESC::StencilReadMask
UINT8 StencilReadMask
Definition mini_d3d12.h:2034
D3D12_DEPTH_STENCIL_DESC::StencilWriteMask
UINT8 StencilWriteMask
Definition mini_d3d12.h:2035
D3D12_DEPTH_STENCIL_DESC::FrontFace
D3D12_DEPTH_STENCILOP_DESC FrontFace
Definition mini_d3d12.h:2036
D3D12_DEPTH_STENCIL_DESC::StencilEnable
BOOL StencilEnable
Definition mini_d3d12.h:2033
D3D12_DEPTH_STENCIL_DESC::BackFace
D3D12_DEPTH_STENCILOP_DESC BackFace
Definition mini_d3d12.h:2037
D3D12_DEPTH_STENCIL_DESC::DepthFunc
D3D12_COMPARISON_FUNC DepthFunc
Definition mini_d3d12.h:2032
D3D12_DEPTH_STENCIL_DESC::DepthEnable
BOOL DepthEnable
Definition mini_d3d12.h:2030
D3D12_DEPTH_STENCIL_DESC::DepthWriteMask
D3D12_DEPTH_WRITE_MASK DepthWriteMask
Definition mini_d3d12.h:2031
D3D12_DEPTH_STENCIL_VALUE
Definition mini_d3d12.h:2240
D3D12_DEPTH_STENCIL_VALUE::Stencil
UINT8 Stencil
Definition mini_d3d12.h:2242
D3D12_DEPTH_STENCIL_VALUE::Depth
FLOAT Depth
Definition mini_d3d12.h:2241
D3D12_DEPTH_STENCIL_VIEW_DESC
Definition mini_d3d12.h:2616
D3D12_DEPTH_STENCIL_VIEW_DESC::Texture2DMS
D3D12_TEX2DMS_DSV Texture2DMS
Definition mini_d3d12.h:2625
D3D12_DEPTH_STENCIL_VIEW_DESC::Texture2DMSArray
D3D12_TEX2DMS_ARRAY_DSV Texture2DMSArray
Definition mini_d3d12.h:2626
D3D12_DEPTH_STENCIL_VIEW_DESC::Texture2DArray
D3D12_TEX2D_ARRAY_DSV Texture2DArray
Definition mini_d3d12.h:2624
D3D12_DEPTH_STENCIL_VIEW_DESC::Texture2D
D3D12_TEX2D_DSV Texture2D
Definition mini_d3d12.h:2623
D3D12_DEPTH_STENCIL_VIEW_DESC::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2617
D3D12_DEPTH_STENCIL_VIEW_DESC::Texture1D
D3D12_TEX1D_DSV Texture1D
Definition mini_d3d12.h:2621
D3D12_DEPTH_STENCIL_VIEW_DESC::Flags
D3D12_DSV_FLAGS Flags
Definition mini_d3d12.h:2619
D3D12_DEPTH_STENCIL_VIEW_DESC::ViewDimension
D3D12_DSV_DIMENSION ViewDimension
Definition mini_d3d12.h:2618
D3D12_DEPTH_STENCIL_VIEW_DESC::Texture1DArray
D3D12_TEX1D_ARRAY_DSV Texture1DArray
Definition mini_d3d12.h:2622
D3D12_DEPTH_STENCILOP_DESC
Definition mini_d3d12.h:2022
D3D12_DEPTH_STENCILOP_DESC::StencilFailOp
D3D12_STENCIL_OP StencilFailOp
Definition mini_d3d12.h:2023
D3D12_DEPTH_STENCILOP_DESC::StencilFunc
D3D12_COMPARISON_FUNC StencilFunc
Definition mini_d3d12.h:2026
D3D12_DEPTH_STENCILOP_DESC::StencilDepthFailOp
D3D12_STENCIL_OP StencilDepthFailOp
Definition mini_d3d12.h:2024
D3D12_DEPTH_STENCILOP_DESC::StencilPassOp
D3D12_STENCIL_OP StencilPassOp
Definition mini_d3d12.h:2025
D3D12_DESCRIPTOR_HEAP_DESC
Definition mini_d3d12.h:2691
D3D12_DESCRIPTOR_HEAP_DESC::NodeMask
UINT NodeMask
Definition mini_d3d12.h:2695
D3D12_DESCRIPTOR_HEAP_DESC::Type
D3D12_DESCRIPTOR_HEAP_TYPE Type
Definition mini_d3d12.h:2692
D3D12_DESCRIPTOR_HEAP_DESC::NumDescriptors
UINT NumDescriptors
Definition mini_d3d12.h:2693
D3D12_DESCRIPTOR_HEAP_DESC::Flags
D3D12_DESCRIPTOR_HEAP_FLAGS Flags
Definition mini_d3d12.h:2694
D3D12_DESCRIPTOR_RANGE1
Definition mini_d3d12.h:3040
D3D12_DESCRIPTOR_RANGE1::RangeType
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition mini_d3d12.h:3041
D3D12_DESCRIPTOR_RANGE1::OffsetInDescriptorsFromTableStart
UINT OffsetInDescriptorsFromTableStart
Definition mini_d3d12.h:3046
D3D12_DESCRIPTOR_RANGE1::Flags
D3D12_DESCRIPTOR_RANGE_FLAGS Flags
Definition mini_d3d12.h:3045
D3D12_DESCRIPTOR_RANGE1::RegisterSpace
UINT RegisterSpace
Definition mini_d3d12.h:3044
D3D12_DESCRIPTOR_RANGE1::BaseShaderRegister
UINT BaseShaderRegister
Definition mini_d3d12.h:3043
D3D12_DESCRIPTOR_RANGE1::NumDescriptors
UINT NumDescriptors
Definition mini_d3d12.h:3042
D3D12_DESCRIPTOR_RANGE
Definition mini_d3d12.h:2957
D3D12_DESCRIPTOR_RANGE::RangeType
D3D12_DESCRIPTOR_RANGE_TYPE RangeType
Definition mini_d3d12.h:2958
D3D12_DESCRIPTOR_RANGE::OffsetInDescriptorsFromTableStart
UINT OffsetInDescriptorsFromTableStart
Definition mini_d3d12.h:2962
D3D12_DESCRIPTOR_RANGE::NumDescriptors
UINT NumDescriptors
Definition mini_d3d12.h:2959
D3D12_DESCRIPTOR_RANGE::RegisterSpace
UINT RegisterSpace
Definition mini_d3d12.h:2961
D3D12_DESCRIPTOR_RANGE::BaseShaderRegister
UINT BaseShaderRegister
Definition mini_d3d12.h:2960
D3D12_DISCARD_REGION
Definition mini_d3d12.h:2908
D3D12_DISCARD_REGION::NumSubresources
UINT NumSubresources
Definition mini_d3d12.h:2912
D3D12_DISCARD_REGION::NumRects
UINT NumRects
Definition mini_d3d12.h:2909
D3D12_DISCARD_REGION::_In_reads_
_In_reads_(NumRects) const D3D12_RECT *pRects
D3D12_DISCARD_REGION::FirstSubresource
UINT FirstSubresource
Definition mini_d3d12.h:2911
D3D12_GPU_DESCRIPTOR_HANDLE
Definition mini_d3d12.h:2432
D3D12_GPU_DESCRIPTOR_HANDLE::ptr
UINT64 ptr
Definition mini_d3d12.h:2433
D3D12_GRAPHICS_PIPELINE_STATE_DESC
Definition mini_d3d12.h:2085
D3D12_GRAPHICS_PIPELINE_STATE_DESC::IBStripCutValue
D3D12_INDEX_BUFFER_STRIP_CUT_VALUE IBStripCutValue
Definition mini_d3d12.h:2098
D3D12_GRAPHICS_PIPELINE_STATE_DESC::GS
D3D12_SHADER_BYTECODE GS
Definition mini_d3d12.h:2091
D3D12_GRAPHICS_PIPELINE_STATE_DESC::PS
D3D12_SHADER_BYTECODE PS
Definition mini_d3d12.h:2088
D3D12_GRAPHICS_PIPELINE_STATE_DESC::InputLayout
D3D12_INPUT_LAYOUT_DESC InputLayout
Definition mini_d3d12.h:2097
D3D12_GRAPHICS_PIPELINE_STATE_DESC::pRootSignature
ID3D12RootSignature * pRootSignature
Definition mini_d3d12.h:2086
D3D12_GRAPHICS_PIPELINE_STATE_DESC::HS
D3D12_SHADER_BYTECODE HS
Definition mini_d3d12.h:2090
D3D12_GRAPHICS_PIPELINE_STATE_DESC::PrimitiveTopologyType
D3D12_PRIMITIVE_TOPOLOGY_TYPE PrimitiveTopologyType
Definition mini_d3d12.h:2099
D3D12_GRAPHICS_PIPELINE_STATE_DESC::SampleDesc
DXGI_SAMPLE_DESC SampleDesc
Definition mini_d3d12.h:2103
D3D12_GRAPHICS_PIPELINE_STATE_DESC::BlendState
D3D12_BLEND_DESC BlendState
Definition mini_d3d12.h:2093
D3D12_GRAPHICS_PIPELINE_STATE_DESC::SampleMask
UINT SampleMask
Definition mini_d3d12.h:2094
D3D12_GRAPHICS_PIPELINE_STATE_DESC::VS
D3D12_SHADER_BYTECODE VS
Definition mini_d3d12.h:2087
D3D12_GRAPHICS_PIPELINE_STATE_DESC::NumRenderTargets
UINT NumRenderTargets
Definition mini_d3d12.h:2100
D3D12_GRAPHICS_PIPELINE_STATE_DESC::StreamOutput
D3D12_STREAM_OUTPUT_DESC StreamOutput
Definition mini_d3d12.h:2092
D3D12_GRAPHICS_PIPELINE_STATE_DESC::DepthStencilState
D3D12_DEPTH_STENCIL_DESC DepthStencilState
Definition mini_d3d12.h:2096
D3D12_GRAPHICS_PIPELINE_STATE_DESC::Flags
D3D12_PIPELINE_STATE_FLAGS Flags
Definition mini_d3d12.h:2106
D3D12_GRAPHICS_PIPELINE_STATE_DESC::NodeMask
UINT NodeMask
Definition mini_d3d12.h:2104
D3D12_GRAPHICS_PIPELINE_STATE_DESC::DSVFormat
DXGI_FORMAT DSVFormat
Definition mini_d3d12.h:2102
D3D12_GRAPHICS_PIPELINE_STATE_DESC::RTVFormats
DXGI_FORMAT RTVFormats[8]
Definition mini_d3d12.h:2101
D3D12_GRAPHICS_PIPELINE_STATE_DESC::DS
D3D12_SHADER_BYTECODE DS
Definition mini_d3d12.h:2089
D3D12_GRAPHICS_PIPELINE_STATE_DESC::CachedPSO
D3D12_CACHED_PIPELINE_STATE CachedPSO
Definition mini_d3d12.h:2105
D3D12_GRAPHICS_PIPELINE_STATE_DESC::RasterizerState
D3D12_RASTERIZER_DESC RasterizerState
Definition mini_d3d12.h:2095
D3D12_HEAP_DESC
Definition mini_d3d12.h:2699
D3D12_HEAP_DESC::Properties
D3D12_HEAP_PROPERTIES Properties
Definition mini_d3d12.h:2701
D3D12_HEAP_DESC::Flags
D3D12_HEAP_FLAGS Flags
Definition mini_d3d12.h:2703
D3D12_HEAP_DESC::SizeInBytes
UINT64 SizeInBytes
Definition mini_d3d12.h:2700
D3D12_HEAP_DESC::Alignment
UINT64 Alignment
Definition mini_d3d12.h:2702
D3D12_HEAP_PROPERTIES
Definition mini_d3d12.h:2181
D3D12_HEAP_PROPERTIES::CPUPageProperty
D3D12_CPU_PAGE_PROPERTY CPUPageProperty
Definition mini_d3d12.h:2183
D3D12_HEAP_PROPERTIES::Type
D3D12_HEAP_TYPE Type
Definition mini_d3d12.h:2182
D3D12_HEAP_PROPERTIES::MemoryPoolPreference
D3D12_MEMORY_POOL MemoryPoolPreference
Definition mini_d3d12.h:2184
D3D12_HEAP_PROPERTIES::VisibleNodeMask
UINT VisibleNodeMask
Definition mini_d3d12.h:2186
D3D12_HEAP_PROPERTIES::CreationNodeMask
UINT CreationNodeMask
Definition mini_d3d12.h:2185
D3D12_INDEX_BUFFER_VIEW
Definition mini_d3d12.h:2839
D3D12_INDEX_BUFFER_VIEW::BufferLocation
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition mini_d3d12.h:2840
D3D12_INDEX_BUFFER_VIEW::SizeInBytes
UINT SizeInBytes
Definition mini_d3d12.h:2841
D3D12_INDEX_BUFFER_VIEW::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2842
D3D12_INDIRECT_ARGUMENT_DESC
Definition mini_d3d12.h:2744
D3D12_INDIRECT_ARGUMENT_DESC::UnorderedAccessView
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@22 UnorderedAccessView
D3D12_INDIRECT_ARGUMENT_DESC::Slot
UINT Slot
Definition mini_d3d12.h:2749
D3D12_INDIRECT_ARGUMENT_DESC::DestOffsetIn32BitValues
UINT DestOffsetIn32BitValues
Definition mini_d3d12.h:2754
D3D12_INDIRECT_ARGUMENT_DESC::Type
D3D12_INDIRECT_ARGUMENT_TYPE Type
Definition mini_d3d12.h:2745
D3D12_INDIRECT_ARGUMENT_DESC::RootParameterIndex
UINT RootParameterIndex
Definition mini_d3d12.h:2753
D3D12_INDIRECT_ARGUMENT_DESC::ShaderResourceView
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@21 ShaderResourceView
D3D12_INDIRECT_ARGUMENT_DESC::Constant
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@19 Constant
D3D12_INDIRECT_ARGUMENT_DESC::ConstantBufferView
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@20 ConstantBufferView
D3D12_INDIRECT_ARGUMENT_DESC::VertexBuffer
struct D3D12_INDIRECT_ARGUMENT_DESC::@16::@18 VertexBuffer
D3D12_INDIRECT_ARGUMENT_DESC::Num32BitValuesToSet
UINT Num32BitValuesToSet
Definition mini_d3d12.h:2755
D3D12_INPUT_ELEMENT_DESC
Definition mini_d3d12.h:2045
D3D12_INPUT_ELEMENT_DESC::InstanceDataStepRate
UINT InstanceDataStepRate
Definition mini_d3d12.h:2052
D3D12_INPUT_ELEMENT_DESC::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2048
D3D12_INPUT_ELEMENT_DESC::SemanticIndex
UINT SemanticIndex
Definition mini_d3d12.h:2047
D3D12_INPUT_ELEMENT_DESC::InputSlot
UINT InputSlot
Definition mini_d3d12.h:2049
D3D12_INPUT_ELEMENT_DESC::InputSlotClass
D3D12_INPUT_CLASSIFICATION InputSlotClass
Definition mini_d3d12.h:2051
D3D12_INPUT_ELEMENT_DESC::AlignedByteOffset
UINT AlignedByteOffset
Definition mini_d3d12.h:2050
D3D12_INPUT_ELEMENT_DESC::SemanticName
LPCSTR SemanticName
Definition mini_d3d12.h:2046
D3D12_INPUT_LAYOUT_DESC
Definition mini_d3d12.h:2055
D3D12_INPUT_LAYOUT_DESC::NumElements
UINT NumElements
Definition mini_d3d12.h:2057
D3D12_INPUT_LAYOUT_DESC::_Field_size_full_
_Field_size_full_(NumElements) const D3D12_INPUT_ELEMENT_DESC *pInputElementDescs
D3D12_PACKED_MIP_INFO
Definition mini_d3d12.h:2779
D3D12_PACKED_MIP_INFO::NumPackedMips
UINT8 NumPackedMips
Definition mini_d3d12.h:2781
D3D12_PACKED_MIP_INFO::NumTilesForPackedMips
UINT NumTilesForPackedMips
Definition mini_d3d12.h:2782
D3D12_PACKED_MIP_INFO::StartTileIndexInOverallResource
UINT StartTileIndexInOverallResource
Definition mini_d3d12.h:2783
D3D12_PACKED_MIP_INFO::NumStandardMips
UINT8 NumStandardMips
Definition mini_d3d12.h:2780
D3D12_PLACED_SUBRESOURCE_FOOTPRINT
Definition mini_d3d12.h:2714
D3D12_PLACED_SUBRESOURCE_FOOTPRINT::Footprint
D3D12_SUBRESOURCE_FOOTPRINT Footprint
Definition mini_d3d12.h:2716
D3D12_PLACED_SUBRESOURCE_FOOTPRINT::Offset
UINT64 Offset
Definition mini_d3d12.h:2715
D3D12_QUERY_HEAP_DESC
Definition mini_d3d12.h:2726
D3D12_QUERY_HEAP_DESC::Type
D3D12_QUERY_HEAP_TYPE Type
Definition mini_d3d12.h:2727
D3D12_QUERY_HEAP_DESC::NodeMask
UINT NodeMask
Definition mini_d3d12.h:2729
D3D12_QUERY_HEAP_DESC::Count
UINT Count
Definition mini_d3d12.h:2728
D3D12_RANGE
Definition mini_d3d12.h:1837
D3D12_RANGE::End
SIZE_T End
Definition mini_d3d12.h:1839
D3D12_RANGE::Begin
SIZE_T Begin
Definition mini_d3d12.h:1838
D3D12_RASTERIZER_DESC
Definition mini_d3d12.h:1981
D3D12_RASTERIZER_DESC::MultisampleEnable
BOOL MultisampleEnable
Definition mini_d3d12.h:1989
D3D12_RASTERIZER_DESC::DepthBias
INT DepthBias
Definition mini_d3d12.h:1985
D3D12_RASTERIZER_DESC::ForcedSampleCount
UINT ForcedSampleCount
Definition mini_d3d12.h:1991
D3D12_RASTERIZER_DESC::SlopeScaledDepthBias
FLOAT SlopeScaledDepthBias
Definition mini_d3d12.h:1987
D3D12_RASTERIZER_DESC::DepthBiasClamp
FLOAT DepthBiasClamp
Definition mini_d3d12.h:1986
D3D12_RASTERIZER_DESC::DepthClipEnable
BOOL DepthClipEnable
Definition mini_d3d12.h:1988
D3D12_RASTERIZER_DESC::FillMode
D3D12_FILL_MODE FillMode
Definition mini_d3d12.h:1982
D3D12_RASTERIZER_DESC::FrontCounterClockwise
BOOL FrontCounterClockwise
Definition mini_d3d12.h:1984
D3D12_RASTERIZER_DESC::AntialiasedLineEnable
BOOL AntialiasedLineEnable
Definition mini_d3d12.h:1990
D3D12_RASTERIZER_DESC::CullMode
D3D12_CULL_MODE CullMode
Definition mini_d3d12.h:1983
D3D12_RASTERIZER_DESC::ConservativeRaster
D3D12_CONSERVATIVE_RASTERIZATION_MODE ConservativeRaster
Definition mini_d3d12.h:1992
D3D12_RENDER_TARGET_BLEND_DESC
Definition mini_d3d12.h:1946
D3D12_RENDER_TARGET_BLEND_DESC::BlendOpAlpha
D3D12_BLEND_OP BlendOpAlpha
Definition mini_d3d12.h:1954
D3D12_RENDER_TARGET_BLEND_DESC::BlendOp
D3D12_BLEND_OP BlendOp
Definition mini_d3d12.h:1951
D3D12_RENDER_TARGET_BLEND_DESC::DestBlend
D3D12_BLEND DestBlend
Definition mini_d3d12.h:1950
D3D12_RENDER_TARGET_BLEND_DESC::LogicOpEnable
BOOL LogicOpEnable
Definition mini_d3d12.h:1948
D3D12_RENDER_TARGET_BLEND_DESC::BlendEnable
BOOL BlendEnable
Definition mini_d3d12.h:1947
D3D12_RENDER_TARGET_BLEND_DESC::RenderTargetWriteMask
UINT8 RenderTargetWriteMask
Definition mini_d3d12.h:1956
D3D12_RENDER_TARGET_BLEND_DESC::SrcBlendAlpha
D3D12_BLEND SrcBlendAlpha
Definition mini_d3d12.h:1952
D3D12_RENDER_TARGET_BLEND_DESC::SrcBlend
D3D12_BLEND SrcBlend
Definition mini_d3d12.h:1949
D3D12_RENDER_TARGET_BLEND_DESC::DestBlendAlpha
D3D12_BLEND DestBlendAlpha
Definition mini_d3d12.h:1953
D3D12_RENDER_TARGET_BLEND_DESC::LogicOp
D3D12_LOGIC_OP LogicOp
Definition mini_d3d12.h:1955
D3D12_RENDER_TARGET_VIEW_DESC
Definition mini_d3d12.h:2555
D3D12_RENDER_TARGET_VIEW_DESC::Buffer
D3D12_BUFFER_RTV Buffer
Definition mini_d3d12.h:2559
D3D12_RENDER_TARGET_VIEW_DESC::Texture1D
D3D12_TEX1D_RTV Texture1D
Definition mini_d3d12.h:2560
D3D12_RENDER_TARGET_VIEW_DESC::Texture1DArray
D3D12_TEX1D_ARRAY_RTV Texture1DArray
Definition mini_d3d12.h:2561
D3D12_RENDER_TARGET_VIEW_DESC::Texture2DMS
D3D12_TEX2DMS_RTV Texture2DMS
Definition mini_d3d12.h:2564
D3D12_RENDER_TARGET_VIEW_DESC::Texture2D
D3D12_TEX2D_RTV Texture2D
Definition mini_d3d12.h:2562
D3D12_RENDER_TARGET_VIEW_DESC::Texture2DMSArray
D3D12_TEX2DMS_ARRAY_RTV Texture2DMSArray
Definition mini_d3d12.h:2565
D3D12_RENDER_TARGET_VIEW_DESC::Texture3D
D3D12_TEX3D_RTV Texture3D
Definition mini_d3d12.h:2566
D3D12_RENDER_TARGET_VIEW_DESC::ViewDimension
D3D12_RTV_DIMENSION ViewDimension
Definition mini_d3d12.h:2557
D3D12_RENDER_TARGET_VIEW_DESC::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2556
D3D12_RENDER_TARGET_VIEW_DESC::Texture2DArray
D3D12_TEX2D_ARRAY_RTV Texture2DArray
Definition mini_d3d12.h:2563
D3D12_RESOURCE_ALIASING_BARRIER
Definition mini_d3d12.h:2863
D3D12_RESOURCE_ALIASING_BARRIER::pResourceAfter
ID3D12Resource * pResourceAfter
Definition mini_d3d12.h:2865
D3D12_RESOURCE_ALIASING_BARRIER::pResourceBefore
ID3D12Resource * pResourceBefore
Definition mini_d3d12.h:2864
D3D12_RESOURCE_ALLOCATION_INFO
Definition mini_d3d12.h:2117
D3D12_RESOURCE_ALLOCATION_INFO::SizeInBytes
UINT64 SizeInBytes
Definition mini_d3d12.h:2118
D3D12_RESOURCE_ALLOCATION_INFO::Alignment
UINT64 Alignment
Definition mini_d3d12.h:2119
D3D12_RESOURCE_BARRIER
Definition mini_d3d12.h:2886
D3D12_RESOURCE_BARRIER::Flags
D3D12_RESOURCE_BARRIER_FLAGS Flags
Definition mini_d3d12.h:2888
D3D12_RESOURCE_BARRIER::Type
D3D12_RESOURCE_BARRIER_TYPE Type
Definition mini_d3d12.h:2887
D3D12_RESOURCE_BARRIER::UAV
D3D12_RESOURCE_UAV_BARRIER UAV
Definition mini_d3d12.h:2892
D3D12_RESOURCE_BARRIER::Transition
D3D12_RESOURCE_TRANSITION_BARRIER Transition
Definition mini_d3d12.h:2890
D3D12_RESOURCE_BARRIER::Aliasing
D3D12_RESOURCE_ALIASING_BARRIER Aliasing
Definition mini_d3d12.h:2891
D3D12_RESOURCE_DESC
Definition mini_d3d12.h:2148
D3D12_RESOURCE_DESC::DepthOrArraySize
UINT16 DepthOrArraySize
Definition mini_d3d12.h:2153
D3D12_RESOURCE_DESC::Dimension
D3D12_RESOURCE_DIMENSION Dimension
Definition mini_d3d12.h:2149
D3D12_RESOURCE_DESC::Height
UINT Height
Definition mini_d3d12.h:2152
D3D12_RESOURCE_DESC::Layout
D3D12_TEXTURE_LAYOUT Layout
Definition mini_d3d12.h:2157
D3D12_RESOURCE_DESC::Width
UINT64 Width
Definition mini_d3d12.h:2151
D3D12_RESOURCE_DESC::SampleDesc
DXGI_SAMPLE_DESC SampleDesc
Definition mini_d3d12.h:2156
D3D12_RESOURCE_DESC::Flags
D3D12_RESOURCE_FLAGS Flags
Definition mini_d3d12.h:2158
D3D12_RESOURCE_DESC::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2155
D3D12_RESOURCE_DESC::Alignment
UINT64 Alignment
Definition mini_d3d12.h:2150
D3D12_RESOURCE_DESC::MipLevels
UINT16 MipLevels
Definition mini_d3d12.h:2154
D3D12_RESOURCE_TRANSITION_BARRIER
Definition mini_d3d12.h:2856
D3D12_RESOURCE_TRANSITION_BARRIER::StateBefore
D3D12_RESOURCE_STATES StateBefore
Definition mini_d3d12.h:2859
D3D12_RESOURCE_TRANSITION_BARRIER::Subresource
UINT Subresource
Definition mini_d3d12.h:2858
D3D12_RESOURCE_TRANSITION_BARRIER::pResource
ID3D12Resource * pResource
Definition mini_d3d12.h:2857
D3D12_RESOURCE_TRANSITION_BARRIER::StateAfter
D3D12_RESOURCE_STATES StateAfter
Definition mini_d3d12.h:2860
D3D12_RESOURCE_UAV_BARRIER
Definition mini_d3d12.h:2868
D3D12_RESOURCE_UAV_BARRIER::pResource
ID3D12Resource * pResource
Definition mini_d3d12.h:2869
D3D12_ROOT_CONSTANTS
Definition mini_d3d12.h:2970
D3D12_ROOT_CONSTANTS::RegisterSpace
UINT RegisterSpace
Definition mini_d3d12.h:2972
D3D12_ROOT_CONSTANTS::Num32BitValues
UINT Num32BitValues
Definition mini_d3d12.h:2973
D3D12_ROOT_CONSTANTS::ShaderRegister
UINT ShaderRegister
Definition mini_d3d12.h:2971
D3D12_ROOT_DESCRIPTOR1
Definition mini_d3d12.h:3062
D3D12_ROOT_DESCRIPTOR1::ShaderRegister
UINT ShaderRegister
Definition mini_d3d12.h:3063
D3D12_ROOT_DESCRIPTOR1::Flags
D3D12_ROOT_DESCRIPTOR_FLAGS Flags
Definition mini_d3d12.h:3065
D3D12_ROOT_DESCRIPTOR1::RegisterSpace
UINT RegisterSpace
Definition mini_d3d12.h:3064
D3D12_ROOT_DESCRIPTOR_TABLE1
Definition mini_d3d12.h:3049
D3D12_ROOT_DESCRIPTOR_TABLE1::_Field_size_full_
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE1 *pDescriptorRanges
D3D12_ROOT_DESCRIPTOR_TABLE1::NumDescriptorRanges
UINT NumDescriptorRanges
Definition mini_d3d12.h:3050
D3D12_ROOT_DESCRIPTOR_TABLE
Definition mini_d3d12.h:2965
D3D12_ROOT_DESCRIPTOR_TABLE::NumDescriptorRanges
UINT NumDescriptorRanges
Definition mini_d3d12.h:2966
D3D12_ROOT_DESCRIPTOR_TABLE::_Field_size_full_
_Field_size_full_(NumDescriptorRanges) const D3D12_DESCRIPTOR_RANGE *pDescriptorRanges
D3D12_ROOT_DESCRIPTOR
Definition mini_d3d12.h:2976
D3D12_ROOT_DESCRIPTOR::ShaderRegister
UINT ShaderRegister
Definition mini_d3d12.h:2977
D3D12_ROOT_DESCRIPTOR::RegisterSpace
UINT RegisterSpace
Definition mini_d3d12.h:2978
D3D12_ROOT_PARAMETER1
Definition mini_d3d12.h:3068
D3D12_ROOT_PARAMETER1::ShaderVisibility
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition mini_d3d12.h:3075
D3D12_ROOT_PARAMETER1::Descriptor
D3D12_ROOT_DESCRIPTOR1 Descriptor
Definition mini_d3d12.h:3073
D3D12_ROOT_PARAMETER1::Constants
D3D12_ROOT_CONSTANTS Constants
Definition mini_d3d12.h:3072
D3D12_ROOT_PARAMETER1::DescriptorTable
D3D12_ROOT_DESCRIPTOR_TABLE1 DescriptorTable
Definition mini_d3d12.h:3071
D3D12_ROOT_PARAMETER1::ParameterType
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition mini_d3d12.h:3069
D3D12_ROOT_PARAMETER
Definition mini_d3d12.h:2990
D3D12_ROOT_PARAMETER::Constants
D3D12_ROOT_CONSTANTS Constants
Definition mini_d3d12.h:2994
D3D12_ROOT_PARAMETER::ShaderVisibility
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition mini_d3d12.h:2997
D3D12_ROOT_PARAMETER::ParameterType
D3D12_ROOT_PARAMETER_TYPE ParameterType
Definition mini_d3d12.h:2991
D3D12_ROOT_PARAMETER::Descriptor
D3D12_ROOT_DESCRIPTOR Descriptor
Definition mini_d3d12.h:2995
D3D12_ROOT_PARAMETER::DescriptorTable
D3D12_ROOT_DESCRIPTOR_TABLE DescriptorTable
Definition mini_d3d12.h:2993
D3D12_ROOT_SIGNATURE_DESC1
Definition mini_d3d12.h:3078
D3D12_ROOT_SIGNATURE_DESC1::NumParameters
UINT NumParameters
Definition mini_d3d12.h:3079
D3D12_ROOT_SIGNATURE_DESC1::_Field_size_full_
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER1 *pParameters
D3D12_ROOT_SIGNATURE_DESC1::NumStaticSamplers
UINT NumStaticSamplers
Definition mini_d3d12.h:3081
D3D12_ROOT_SIGNATURE_DESC1::_Field_size_full_
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
D3D12_ROOT_SIGNATURE_DESC1::Flags
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition mini_d3d12.h:3083
D3D12_ROOT_SIGNATURE_DESC
Definition mini_d3d12.h:3023
D3D12_ROOT_SIGNATURE_DESC::_Field_size_full_
_Field_size_full_(NumStaticSamplers) const D3D12_STATIC_SAMPLER_DESC *pStaticSamplers
D3D12_ROOT_SIGNATURE_DESC::_Field_size_full_
_Field_size_full_(NumParameters) const D3D12_ROOT_PARAMETER *pParameters
D3D12_ROOT_SIGNATURE_DESC::NumStaticSamplers
UINT NumStaticSamplers
Definition mini_d3d12.h:3026
D3D12_ROOT_SIGNATURE_DESC::Flags
D3D12_ROOT_SIGNATURE_FLAGS Flags
Definition mini_d3d12.h:3028
D3D12_ROOT_SIGNATURE_DESC::NumParameters
UINT NumParameters
Definition mini_d3d12.h:3024
D3D12_SAMPLER_DESC
Definition mini_d3d12.h:2677
D3D12_SAMPLER_DESC::MaxLOD
FLOAT MaxLOD
Definition mini_d3d12.h:2687
D3D12_SAMPLER_DESC::ComparisonFunc
D3D12_COMPARISON_FUNC ComparisonFunc
Definition mini_d3d12.h:2684
D3D12_SAMPLER_DESC::AddressV
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition mini_d3d12.h:2680
D3D12_SAMPLER_DESC::Filter
D3D12_FILTER Filter
Definition mini_d3d12.h:2678
D3D12_SAMPLER_DESC::BorderColor
FLOAT BorderColor[4]
Definition mini_d3d12.h:2685
D3D12_SAMPLER_DESC::MipLODBias
FLOAT MipLODBias
Definition mini_d3d12.h:2682
D3D12_SAMPLER_DESC::MinLOD
FLOAT MinLOD
Definition mini_d3d12.h:2686
D3D12_SAMPLER_DESC::AddressU
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition mini_d3d12.h:2679
D3D12_SAMPLER_DESC::AddressW
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition mini_d3d12.h:2681
D3D12_SAMPLER_DESC::MaxAnisotropy
UINT MaxAnisotropy
Definition mini_d3d12.h:2683
D3D12_SHADER_BYTECODE
Definition mini_d3d12.h:1877
D3D12_SHADER_BYTECODE::_Field_size_bytes_full_
_Field_size_bytes_full_(BytecodeLength) const void *pShaderBytecode
D3D12_SHADER_BYTECODE::BytecodeLength
SIZE_T BytecodeLength
Definition mini_d3d12.h:1879
D3D12_SHADER_RESOURCE_VIEW_DESC
Definition mini_d3d12.h:2403
D3D12_SHADER_RESOURCE_VIEW_DESC::ViewDimension
D3D12_SRV_DIMENSION ViewDimension
Definition mini_d3d12.h:2405
D3D12_SHADER_RESOURCE_VIEW_DESC::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2404
D3D12_SHADER_RESOURCE_VIEW_DESC::TextureCube
D3D12_TEXCUBE_SRV TextureCube
Definition mini_d3d12.h:2416
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture3D
D3D12_TEX3D_SRV Texture3D
Definition mini_d3d12.h:2415
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture1DArray
D3D12_TEX1D_ARRAY_SRV Texture1DArray
Definition mini_d3d12.h:2410
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture2DMS
D3D12_TEX2DMS_SRV Texture2DMS
Definition mini_d3d12.h:2413
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture2DArray
D3D12_TEX2D_ARRAY_SRV Texture2DArray
Definition mini_d3d12.h:2412
D3D12_SHADER_RESOURCE_VIEW_DESC::Buffer
D3D12_BUFFER_SRV Buffer
Definition mini_d3d12.h:2408
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture2D
D3D12_TEX2D_SRV Texture2D
Definition mini_d3d12.h:2411
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture1D
D3D12_TEX1D_SRV Texture1D
Definition mini_d3d12.h:2409
D3D12_SHADER_RESOURCE_VIEW_DESC::TextureCubeArray
D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray
Definition mini_d3d12.h:2417
D3D12_SHADER_RESOURCE_VIEW_DESC::Texture2DMSArray
D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray
Definition mini_d3d12.h:2414
D3D12_SHADER_RESOURCE_VIEW_DESC::Shader4ComponentMapping
UINT Shader4ComponentMapping
Definition mini_d3d12.h:2406
D3D12_SO_DECLARATION_ENTRY
Definition mini_d3d12.h:1882
D3D12_SO_DECLARATION_ENTRY::StartComponent
BYTE StartComponent
Definition mini_d3d12.h:1886
D3D12_SO_DECLARATION_ENTRY::ComponentCount
BYTE ComponentCount
Definition mini_d3d12.h:1887
D3D12_SO_DECLARATION_ENTRY::OutputSlot
BYTE OutputSlot
Definition mini_d3d12.h:1888
D3D12_SO_DECLARATION_ENTRY::SemanticName
LPCSTR SemanticName
Definition mini_d3d12.h:1884
D3D12_SO_DECLARATION_ENTRY::SemanticIndex
UINT SemanticIndex
Definition mini_d3d12.h:1885
D3D12_SO_DECLARATION_ENTRY::Stream
UINT Stream
Definition mini_d3d12.h:1883
D3D12_STATIC_SAMPLER_DESC
Definition mini_d3d12.h:3007
D3D12_STATIC_SAMPLER_DESC::MaxAnisotropy
UINT MaxAnisotropy
Definition mini_d3d12.h:3013
D3D12_STATIC_SAMPLER_DESC::ShaderRegister
UINT ShaderRegister
Definition mini_d3d12.h:3018
D3D12_STATIC_SAMPLER_DESC::MaxLOD
FLOAT MaxLOD
Definition mini_d3d12.h:3017
D3D12_STATIC_SAMPLER_DESC::MipLODBias
FLOAT MipLODBias
Definition mini_d3d12.h:3012
D3D12_STATIC_SAMPLER_DESC::MinLOD
FLOAT MinLOD
Definition mini_d3d12.h:3016
D3D12_STATIC_SAMPLER_DESC::AddressW
D3D12_TEXTURE_ADDRESS_MODE AddressW
Definition mini_d3d12.h:3011
D3D12_STATIC_SAMPLER_DESC::AddressU
D3D12_TEXTURE_ADDRESS_MODE AddressU
Definition mini_d3d12.h:3009
D3D12_STATIC_SAMPLER_DESC::ShaderVisibility
D3D12_SHADER_VISIBILITY ShaderVisibility
Definition mini_d3d12.h:3020
D3D12_STATIC_SAMPLER_DESC::AddressV
D3D12_TEXTURE_ADDRESS_MODE AddressV
Definition mini_d3d12.h:3010
D3D12_STATIC_SAMPLER_DESC::BorderColor
D3D12_STATIC_BORDER_COLOR BorderColor
Definition mini_d3d12.h:3015
D3D12_STATIC_SAMPLER_DESC::RegisterSpace
UINT RegisterSpace
Definition mini_d3d12.h:3019
D3D12_STATIC_SAMPLER_DESC::ComparisonFunc
D3D12_COMPARISON_FUNC ComparisonFunc
Definition mini_d3d12.h:3014
D3D12_STATIC_SAMPLER_DESC::Filter
D3D12_FILTER Filter
Definition mini_d3d12.h:3008
D3D12_STREAM_OUTPUT_BUFFER_VIEW
Definition mini_d3d12.h:2902
D3D12_STREAM_OUTPUT_BUFFER_VIEW::SizeInBytes
UINT64 SizeInBytes
Definition mini_d3d12.h:2904
D3D12_STREAM_OUTPUT_BUFFER_VIEW::BufferFilledSizeLocation
D3D12_GPU_VIRTUAL_ADDRESS BufferFilledSizeLocation
Definition mini_d3d12.h:2905
D3D12_STREAM_OUTPUT_BUFFER_VIEW::BufferLocation
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition mini_d3d12.h:2903
D3D12_STREAM_OUTPUT_DESC
Definition mini_d3d12.h:1891
D3D12_STREAM_OUTPUT_DESC::RasterizedStream
UINT RasterizedStream
Definition mini_d3d12.h:1896
D3D12_STREAM_OUTPUT_DESC::_Field_size_full_
_Field_size_full_(NumEntries) const D3D12_SO_DECLARATION_ENTRY *pSODeclaration
D3D12_STREAM_OUTPUT_DESC::NumStrides
UINT NumStrides
Definition mini_d3d12.h:1895
D3D12_STREAM_OUTPUT_DESC::NumEntries
UINT NumEntries
Definition mini_d3d12.h:1893
D3D12_STREAM_OUTPUT_DESC::_Field_size_full_
_Field_size_full_(NumStrides) const UINT *pBufferStrides
D3D12_SUBRESOURCE_FOOTPRINT
Definition mini_d3d12.h:2706
D3D12_SUBRESOURCE_FOOTPRINT::Height
UINT Height
Definition mini_d3d12.h:2709
D3D12_SUBRESOURCE_FOOTPRINT::RowPitch
UINT RowPitch
Definition mini_d3d12.h:2711
D3D12_SUBRESOURCE_FOOTPRINT::Width
UINT Width
Definition mini_d3d12.h:2708
D3D12_SUBRESOURCE_FOOTPRINT::Depth
UINT Depth
Definition mini_d3d12.h:2710
D3D12_SUBRESOURCE_FOOTPRINT::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2707
D3D12_SUBRESOURCE_TILING
Definition mini_d3d12.h:2792
D3D12_SUBRESOURCE_TILING::WidthInTiles
UINT WidthInTiles
Definition mini_d3d12.h:2793
D3D12_SUBRESOURCE_TILING::DepthInTiles
UINT16 DepthInTiles
Definition mini_d3d12.h:2795
D3D12_SUBRESOURCE_TILING::StartTileIndexInOverallResource
UINT StartTileIndexInOverallResource
Definition mini_d3d12.h:2796
D3D12_SUBRESOURCE_TILING::HeightInTiles
UINT16 HeightInTiles
Definition mini_d3d12.h:2794
D3D12_TEX1D_ARRAY_DSV
Definition mini_d3d12.h:2574
D3D12_TEX1D_ARRAY_DSV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2577
D3D12_TEX1D_ARRAY_DSV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2576
D3D12_TEX1D_ARRAY_DSV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2575
D3D12_TEX1D_ARRAY_RTV
Definition mini_d3d12.h:2510
D3D12_TEX1D_ARRAY_RTV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2513
D3D12_TEX1D_ARRAY_RTV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2511
D3D12_TEX1D_ARRAY_RTV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2512
D3D12_TEX1D_ARRAY_SRV
Definition mini_d3d12.h:2336
D3D12_TEX1D_ARRAY_SRV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2339
D3D12_TEX1D_ARRAY_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2337
D3D12_TEX1D_ARRAY_SRV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2340
D3D12_TEX1D_ARRAY_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2338
D3D12_TEX1D_ARRAY_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2341
D3D12_TEX1D_ARRAY_UAV
Definition mini_d3d12.h:2454
D3D12_TEX1D_ARRAY_UAV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2456
D3D12_TEX1D_ARRAY_UAV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2457
D3D12_TEX1D_ARRAY_UAV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2455
D3D12_TEX1D_DSV
Definition mini_d3d12.h:2570
D3D12_TEX1D_DSV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2571
D3D12_TEX1D_RTV
Definition mini_d3d12.h:2506
D3D12_TEX1D_RTV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2507
D3D12_TEX1D_SRV
Definition mini_d3d12.h:2330
D3D12_TEX1D_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2333
D3D12_TEX1D_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2331
D3D12_TEX1D_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2332
D3D12_TEX1D_UAV
Definition mini_d3d12.h:2450
D3D12_TEX1D_UAV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2451
D3D12_TEX2D_ARRAY_DSV
Definition mini_d3d12.h:2584
D3D12_TEX2D_ARRAY_DSV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2587
D3D12_TEX2D_ARRAY_DSV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2585
D3D12_TEX2D_ARRAY_DSV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2586
D3D12_TEX2D_ARRAY_RTV
Definition mini_d3d12.h:2525
D3D12_TEX2D_ARRAY_RTV::PlaneSlice
UINT PlaneSlice
Definition mini_d3d12.h:2529
D3D12_TEX2D_ARRAY_RTV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2526
D3D12_TEX2D_ARRAY_RTV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2527
D3D12_TEX2D_ARRAY_RTV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2528
D3D12_TEX2D_ARRAY_SRV
Definition mini_d3d12.h:2351
D3D12_TEX2D_ARRAY_SRV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2355
D3D12_TEX2D_ARRAY_SRV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2354
D3D12_TEX2D_ARRAY_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2352
D3D12_TEX2D_ARRAY_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2353
D3D12_TEX2D_ARRAY_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2357
D3D12_TEX2D_ARRAY_SRV::PlaneSlice
UINT PlaneSlice
Definition mini_d3d12.h:2356
D3D12_TEX2D_ARRAY_UAV
Definition mini_d3d12.h:2465
D3D12_TEX2D_ARRAY_UAV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2468
D3D12_TEX2D_ARRAY_UAV::PlaneSlice
UINT PlaneSlice
Definition mini_d3d12.h:2469
D3D12_TEX2D_ARRAY_UAV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2467
D3D12_TEX2D_ARRAY_UAV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2466
D3D12_TEX2D_DSV
Definition mini_d3d12.h:2580
D3D12_TEX2D_DSV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2581
D3D12_TEX2D_RTV
Definition mini_d3d12.h:2516
D3D12_TEX2D_RTV::PlaneSlice
UINT PlaneSlice
Definition mini_d3d12.h:2518
D3D12_TEX2D_RTV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2517
D3D12_TEX2D_SRV
Definition mini_d3d12.h:2344
D3D12_TEX2D_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2348
D3D12_TEX2D_SRV::PlaneSlice
UINT PlaneSlice
Definition mini_d3d12.h:2347
D3D12_TEX2D_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2346
D3D12_TEX2D_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2345
D3D12_TEX2D_UAV
Definition mini_d3d12.h:2460
D3D12_TEX2D_UAV::PlaneSlice
UINT PlaneSlice
Definition mini_d3d12.h:2462
D3D12_TEX2D_UAV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2461
D3D12_TEX2DMS_ARRAY_DSV
Definition mini_d3d12.h:2594
D3D12_TEX2DMS_ARRAY_DSV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2596
D3D12_TEX2DMS_ARRAY_DSV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2595
D3D12_TEX2DMS_ARRAY_RTV
Definition mini_d3d12.h:2532
D3D12_TEX2DMS_ARRAY_RTV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2533
D3D12_TEX2DMS_ARRAY_RTV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2534
D3D12_TEX2DMS_ARRAY_SRV
Definition mini_d3d12.h:2384
D3D12_TEX2DMS_ARRAY_SRV::ArraySize
UINT ArraySize
Definition mini_d3d12.h:2386
D3D12_TEX2DMS_ARRAY_SRV::FirstArraySlice
UINT FirstArraySlice
Definition mini_d3d12.h:2385
D3D12_TEX2DMS_DSV
Definition mini_d3d12.h:2590
D3D12_TEX2DMS_DSV::UnusedField_NothingToDefine
UINT UnusedField_NothingToDefine
Definition mini_d3d12.h:2591
D3D12_TEX2DMS_RTV
Definition mini_d3d12.h:2521
D3D12_TEX2DMS_RTV::UnusedField_NothingToDefine
UINT UnusedField_NothingToDefine
Definition mini_d3d12.h:2522
D3D12_TEX2DMS_SRV
Definition mini_d3d12.h:2380
D3D12_TEX2DMS_SRV::UnusedField_NothingToDefine
UINT UnusedField_NothingToDefine
Definition mini_d3d12.h:2381
D3D12_TEX3D_RTV
Definition mini_d3d12.h:2537
D3D12_TEX3D_RTV::FirstWSlice
UINT FirstWSlice
Definition mini_d3d12.h:2539
D3D12_TEX3D_RTV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2538
D3D12_TEX3D_RTV::WSize
UINT WSize
Definition mini_d3d12.h:2540
D3D12_TEX3D_SRV
Definition mini_d3d12.h:2360
D3D12_TEX3D_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2363
D3D12_TEX3D_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2362
D3D12_TEX3D_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2361
D3D12_TEX3D_UAV
Definition mini_d3d12.h:2472
D3D12_TEX3D_UAV::FirstWSlice
UINT FirstWSlice
Definition mini_d3d12.h:2474
D3D12_TEX3D_UAV::MipSlice
UINT MipSlice
Definition mini_d3d12.h:2473
D3D12_TEX3D_UAV::WSize
UINT WSize
Definition mini_d3d12.h:2475
D3D12_TEXCUBE_ARRAY_SRV
Definition mini_d3d12.h:2372
D3D12_TEXCUBE_ARRAY_SRV::First2DArrayFace
UINT First2DArrayFace
Definition mini_d3d12.h:2375
D3D12_TEXCUBE_ARRAY_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2374
D3D12_TEXCUBE_ARRAY_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2377
D3D12_TEXCUBE_ARRAY_SRV::NumCubes
UINT NumCubes
Definition mini_d3d12.h:2376
D3D12_TEXCUBE_ARRAY_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2373
D3D12_TEXCUBE_SRV
Definition mini_d3d12.h:2366
D3D12_TEXCUBE_SRV::ResourceMinLODClamp
FLOAT ResourceMinLODClamp
Definition mini_d3d12.h:2369
D3D12_TEXCUBE_SRV::MostDetailedMip
UINT MostDetailedMip
Definition mini_d3d12.h:2367
D3D12_TEXCUBE_SRV::MipLevels
UINT MipLevels
Definition mini_d3d12.h:2368
D3D12_TEXTURE_COPY_LOCATION
Definition mini_d3d12.h:2826
D3D12_TEXTURE_COPY_LOCATION::Type
D3D12_TEXTURE_COPY_TYPE Type
Definition mini_d3d12.h:2828
D3D12_TEXTURE_COPY_LOCATION::SubresourceIndex
UINT SubresourceIndex
Definition mini_d3d12.h:2831
D3D12_TEXTURE_COPY_LOCATION::pResource
ID3D12Resource * pResource
Definition mini_d3d12.h:2827
D3D12_TEXTURE_COPY_LOCATION::PlacedFootprint
D3D12_PLACED_SUBRESOURCE_FOOTPRINT PlacedFootprint
Definition mini_d3d12.h:2830
D3D12_TILE_REGION_SIZE
Definition mini_d3d12.h:2806
D3D12_TILE_REGION_SIZE::Height
UINT16 Height
Definition mini_d3d12.h:2810
D3D12_TILE_REGION_SIZE::NumTiles
UINT NumTiles
Definition mini_d3d12.h:2807
D3D12_TILE_REGION_SIZE::UseBox
BOOL UseBox
Definition mini_d3d12.h:2808
D3D12_TILE_REGION_SIZE::Width
UINT Width
Definition mini_d3d12.h:2809
D3D12_TILE_REGION_SIZE::Depth
UINT16 Depth
Definition mini_d3d12.h:2811
D3D12_TILE_SHAPE
Definition mini_d3d12.h:2786
D3D12_TILE_SHAPE::DepthInTexels
UINT DepthInTexels
Definition mini_d3d12.h:2789
D3D12_TILE_SHAPE::WidthInTexels
UINT WidthInTexels
Definition mini_d3d12.h:2787
D3D12_TILE_SHAPE::HeightInTexels
UINT HeightInTexels
Definition mini_d3d12.h:2788
D3D12_TILED_RESOURCE_COORDINATE
Definition mini_d3d12.h:2799
D3D12_TILED_RESOURCE_COORDINATE::Subresource
UINT Subresource
Definition mini_d3d12.h:2803
D3D12_TILED_RESOURCE_COORDINATE::Y
UINT Y
Definition mini_d3d12.h:2801
D3D12_TILED_RESOURCE_COORDINATE::Z
UINT Z
Definition mini_d3d12.h:2802
D3D12_TILED_RESOURCE_COORDINATE::X
UINT X
Definition mini_d3d12.h:2800
D3D12_UNORDERED_ACCESS_VIEW_DESC
Definition mini_d3d12.h:2488
D3D12_UNORDERED_ACCESS_VIEW_DESC::Format
DXGI_FORMAT Format
Definition mini_d3d12.h:2489
D3D12_UNORDERED_ACCESS_VIEW_DESC::Texture3D
D3D12_TEX3D_UAV Texture3D
Definition mini_d3d12.h:2497
D3D12_UNORDERED_ACCESS_VIEW_DESC::Buffer
D3D12_BUFFER_UAV Buffer
Definition mini_d3d12.h:2492
D3D12_UNORDERED_ACCESS_VIEW_DESC::Texture2D
D3D12_TEX2D_UAV Texture2D
Definition mini_d3d12.h:2495
D3D12_UNORDERED_ACCESS_VIEW_DESC::ViewDimension
D3D12_UAV_DIMENSION ViewDimension
Definition mini_d3d12.h:2490
D3D12_UNORDERED_ACCESS_VIEW_DESC::Texture1DArray
D3D12_TEX1D_ARRAY_UAV Texture1DArray
Definition mini_d3d12.h:2494
D3D12_UNORDERED_ACCESS_VIEW_DESC::Texture2DArray
D3D12_TEX2D_ARRAY_UAV Texture2DArray
Definition mini_d3d12.h:2496
D3D12_UNORDERED_ACCESS_VIEW_DESC::Texture1D
D3D12_TEX1D_UAV Texture1D
Definition mini_d3d12.h:2493
D3D12_VERSIONED_ROOT_SIGNATURE_DESC
Definition mini_d3d12.h:3092
D3D12_VERSIONED_ROOT_SIGNATURE_DESC::Desc_1_0
D3D12_ROOT_SIGNATURE_DESC Desc_1_0
Definition mini_d3d12.h:3095
D3D12_VERSIONED_ROOT_SIGNATURE_DESC::Version
D3D_ROOT_SIGNATURE_VERSION Version
Definition mini_d3d12.h:3093
D3D12_VERSIONED_ROOT_SIGNATURE_DESC::Desc_1_1
D3D12_ROOT_SIGNATURE_DESC1 Desc_1_1
Definition mini_d3d12.h:3096
D3D12_VERTEX_BUFFER_VIEW
Definition mini_d3d12.h:2896
D3D12_VERTEX_BUFFER_VIEW::SizeInBytes
UINT SizeInBytes
Definition mini_d3d12.h:2898
D3D12_VERTEX_BUFFER_VIEW::StrideInBytes
UINT StrideInBytes
Definition mini_d3d12.h:2899
D3D12_VERTEX_BUFFER_VIEW::BufferLocation
D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition mini_d3d12.h:2897
D3D12_VIEWPORT
Definition mini_d3d12.h:2845
D3D12_VIEWPORT::Height
FLOAT Height
Definition mini_d3d12.h:2849
D3D12_VIEWPORT::MaxDepth
FLOAT MaxDepth
Definition mini_d3d12.h:2851
D3D12_VIEWPORT::TopLeftX
FLOAT TopLeftX
Definition mini_d3d12.h:2846
D3D12_VIEWPORT::Width
FLOAT Width
Definition mini_d3d12.h:2848
D3D12_VIEWPORT::TopLeftY
FLOAT TopLeftY
Definition mini_d3d12.h:2847
D3D12_VIEWPORT::MinDepth
FLOAT MinDepth
Definition mini_d3d12.h:2850
DXGI_ADAPTER_DESC1
Definition mini_d3d12.h:5952
DXGI_ADAPTER_DESC1::Revision
UINT Revision
Definition mini_d3d12.h:5957
DXGI_ADAPTER_DESC1::DedicatedVideoMemory
SIZE_T DedicatedVideoMemory
Definition mini_d3d12.h:5958
DXGI_ADAPTER_DESC1::AdapterLuid
LUID AdapterLuid
Definition mini_d3d12.h:5961
DXGI_ADAPTER_DESC1::SubSysId
UINT SubSysId
Definition mini_d3d12.h:5956
DXGI_ADAPTER_DESC1::SharedSystemMemory
SIZE_T SharedSystemMemory
Definition mini_d3d12.h:5960
DXGI_ADAPTER_DESC1::DeviceId
UINT DeviceId
Definition mini_d3d12.h:5955
DXGI_ADAPTER_DESC1::VendorId
UINT VendorId
Definition mini_d3d12.h:5954
DXGI_ADAPTER_DESC1::DedicatedSystemMemory
SIZE_T DedicatedSystemMemory
Definition mini_d3d12.h:5959
DXGI_ADAPTER_DESC1::Flags
UINT Flags
Definition mini_d3d12.h:5962
DXGI_ADAPTER_DESC1::Description
WCHAR Description[128]
Definition mini_d3d12.h:5953
DXGI_ADAPTER_DESC
Definition mini_d3d12.h:5933
DXGI_ADAPTER_DESC::VendorId
UINT VendorId
Definition mini_d3d12.h:5935
DXGI_ADAPTER_DESC::DedicatedVideoMemory
SIZE_T DedicatedVideoMemory
Definition mini_d3d12.h:5939
DXGI_ADAPTER_DESC::Revision
UINT Revision
Definition mini_d3d12.h:5938
DXGI_ADAPTER_DESC::SubSysId
UINT SubSysId
Definition mini_d3d12.h:5937
DXGI_ADAPTER_DESC::DedicatedSystemMemory
SIZE_T DedicatedSystemMemory
Definition mini_d3d12.h:5940
DXGI_ADAPTER_DESC::Description
WCHAR Description[128]
Definition mini_d3d12.h:5934
DXGI_ADAPTER_DESC::DeviceId
UINT DeviceId
Definition mini_d3d12.h:5936
DXGI_ADAPTER_DESC::AdapterLuid
LUID AdapterLuid
Definition mini_d3d12.h:5942
DXGI_ADAPTER_DESC::SharedSystemMemory
SIZE_T SharedSystemMemory
Definition mini_d3d12.h:5941
DXGI_SAMPLE_DESC
Definition mini_d3d12.h:1185
DXGI_SAMPLE_DESC::Quality
UINT Quality
Definition mini_d3d12.h:1187
DXGI_SAMPLE_DESC::Count
UINT Count
Definition mini_d3d12.h:1186
ID3D10BlobVtbl
Definition mini_d3d12.h:1234
ID3D10BlobVtbl::This
ID3D10Blob * This
Definition mini_d3d12.h:1246
ID3D12CommandAllocatorVtbl
Definition mini_d3d12.h:3319
ID3D12CommandAllocatorVtbl::This
ID3D12CommandAllocator * This
Definition mini_d3d12.h:3330
ID3D12CommandAllocatorVtbl::guid
ID3D12CommandAllocator _In_ REFGUID guid
Definition mini_d3d12.h:3339
ID3D12CommandAllocatorVtbl::ppvDevice
ID3D12CommandAllocator REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:3365
ID3D12CommandAllocatorVtbl::DataSize
ID3D12CommandAllocator _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:3347
ID3D12CommandAllocatorVtbl::pDataSize
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:3340
ID3D12CommandAllocatorVtbl::Name
ID3D12CommandAllocator _In_z_ LPCWSTR Name
Definition mini_d3d12.h:3359
ID3D12CommandAllocatorVtbl::pData
ID3D12CommandAllocator _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:3354
ID3D12CommandAllocatorVtbl::_In_reads_bytes_opt_
ID3D12CommandAllocator _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandAllocatorVtbl::pData
ID3D12CommandAllocator _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:3341
ID3D12CommandAllocatorVtbl::riid
ID3D12CommandAllocator REFIID riid
Definition mini_d3d12.h:3364
ID3D12CommandListVtbl
Definition mini_d3d12.h:3431
ID3D12CommandListVtbl::riid
ID3D12CommandList REFIID riid
Definition mini_d3d12.h:3476
ID3D12CommandListVtbl::pData
ID3D12CommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:3453
ID3D12CommandListVtbl::pData
ID3D12CommandList _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:3466
ID3D12CommandListVtbl::Name
ID3D12CommandList _In_z_ LPCWSTR Name
Definition mini_d3d12.h:3471
ID3D12CommandListVtbl::ppvDevice
ID3D12CommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:3477
ID3D12CommandListVtbl::pDataSize
ID3D12CommandList _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:3452
ID3D12CommandListVtbl::guid
ID3D12CommandList _In_ REFGUID guid
Definition mini_d3d12.h:3451
ID3D12CommandListVtbl::This
ID3D12CommandList * This
Definition mini_d3d12.h:3442
ID3D12CommandListVtbl::DataSize
ID3D12CommandList _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:3459
ID3D12CommandListVtbl::_In_reads_bytes_opt_
ID3D12CommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandQueueVtbl
Definition mini_d3d12.h:4406
ID3D12CommandQueueVtbl::pSrcResource
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource * pSrcResource
Definition mini_d3d12.h:4471
ID3D12CommandQueueVtbl::void
void(STDMETHODCALLTYPE *ExecuteCommandLists)(ID3D12CommandQueue *This
ID3D12CommandQueueVtbl::pSrcRegionStartCoordinate
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pSrcRegionStartCoordinate
Definition mini_d3d12.h:4472
ID3D12CommandQueueVtbl::NumRanges
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT NumRanges
Definition mini_d3d12.h:4461
ID3D12CommandQueueVtbl::_In_reads_opt_
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const D3D12_TILE_RANGE_FLAGS *pRangeFlags
ID3D12CommandQueueVtbl::Value
ID3D12CommandQueue ID3D12Fence UINT64 Value
Definition mini_d3d12.h:4500
ID3D12CommandQueueVtbl::pDstRegionStartCoordinate
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pDstRegionStartCoordinate
Definition mini_d3d12.h:4470
ID3D12CommandQueueVtbl::_In_reads_opt_
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pHeapRangeStartOffsets
ID3D12CommandQueueVtbl::pData
ID3D12CommandQueue _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:4441
ID3D12CommandQueueVtbl::pResource
_In_ ID3D12Resource * pResource
Definition mini_d3d12.h:4456
ID3D12CommandQueueVtbl::_In_reads_bytes_opt_
ID3D12CommandQueue _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12CommandQueueVtbl::riid
ID3D12CommandQueue REFIID riid
Definition mini_d3d12.h:4451
ID3D12CommandQueueVtbl::pDataSize
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:4427
ID3D12CommandQueueVtbl::void
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12CommandQueue *This
ID3D12CommandQueueVtbl::Flags
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT D3D12_TILE_MAPPING_FLAGS Flags
Definition mini_d3d12.h:4465
ID3D12CommandQueueVtbl::_In_reads_
_In_ UINT _In_reads_(NumCommandLists) ID3D12CommandList *const *ppCommandLists)
ID3D12CommandQueueVtbl::pCpuTimestamp
ID3D12CommandQueue _Out_ UINT64 _Out_ UINT64 * pCpuTimestamp
Definition mini_d3d12.h:4517
ID3D12CommandQueueVtbl::_In_reads_bytes_opt_
UINT _In_reads_bytes_opt_(Size) const void *pData
ID3D12CommandQueueVtbl::_In_reads_opt_
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap UINT _In_reads_opt_(NumRanges) const UINT *pRangeTileCounts
ID3D12CommandQueueVtbl::pData
ID3D12CommandQueue _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:4428
ID3D12CommandQueueVtbl::pFence
ID3D12CommandQueue ID3D12Fence * pFence
Definition mini_d3d12.h:4499
ID3D12CommandQueueVtbl::NumResourceRegions
_In_ ID3D12Resource UINT NumResourceRegions
Definition mini_d3d12.h:4457
ID3D12CommandQueueVtbl::void
void(STDMETHODCALLTYPE *CopyTileMappings)(ID3D12CommandQueue *This
ID3D12CommandQueueVtbl::void
void(STDMETHODCALLTYPE *SetMarker)(ID3D12CommandQueue *This
ID3D12CommandQueueVtbl::Metadata
UINT Metadata
Definition mini_d3d12.h:4483
ID3D12CommandQueueVtbl::Flags
_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
ID3D12CommandQueueVtbl::_In_reads_opt_
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILE_REGION_SIZE *pResourceRegionSizes
ID3D12CommandQueueVtbl::void
void(STDMETHODCALLTYPE *UpdateTileMappings)(ID3D12CommandQueue *This
ID3D12CommandQueueVtbl::NumCommandLists
_In_ UINT NumCommandLists
Definition mini_d3d12.h:4478
ID3D12CommandQueueVtbl::pRegionSize
_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
ID3D12CommandQueueVtbl::pFrequency
ID3D12CommandQueue _Out_ UINT64 * pFrequency
Definition mini_d3d12.h:4511
ID3D12CommandQueueVtbl::_In_reads_opt_
_In_ ID3D12Resource UINT _In_reads_opt_(NumResourceRegions) const D3D12_TILED_RESOURCE_COORDINATE *pResourceRegionStartCoordinates
ID3D12CommandQueueVtbl::Name
ID3D12CommandQueue _In_z_ LPCWSTR Name
Definition mini_d3d12.h:4446
ID3D12CommandQueueVtbl::guid
ID3D12CommandQueue _In_ REFGUID guid
Definition mini_d3d12.h:4426
ID3D12CommandQueueVtbl::void
void(STDMETHODCALLTYPE *EndEvent)(ID3D12CommandQueue *This)
ID3D12CommandQueueVtbl::pHeap
_In_ ID3D12Resource UINT _In_opt_ ID3D12Heap * pHeap
Definition mini_d3d12.h:4460
ID3D12CommandQueueVtbl::ppvDevice
ID3D12CommandQueue REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:4452
ID3D12CommandQueueVtbl::DataSize
ID3D12CommandQueue _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:4434
ID3D12CommandQueueVtbl::Size
UINT UINT Size
Definition mini_d3d12.h:4485
ID3D12CommandQueueVtbl::pGpuTimestamp
ID3D12CommandQueue _Out_ UINT64 * pGpuTimestamp
Definition mini_d3d12.h:4516
ID3D12CommandQueueVtbl::This
ID3D12CommandQueue * This
Definition mini_d3d12.h:4417
ID3D12CommandQueueVtbl::pDstResource
_In_ ID3D12Resource * pDstResource
Definition mini_d3d12.h:4469
ID3D12DebugVtbl
Definition mini_d3d12.h:5837
ID3D12DebugVtbl::This
ID3D12Debug * This
Definition mini_d3d12.h:5848
ID3D12DebugVtbl::void
void(STDMETHODCALLTYPE *EnableDebugLayer)(ID3D12Debug *This)
ID3D12DescriptorHeapVtbl
Definition mini_d3d12.h:5555
ID3D12DescriptorHeapVtbl::pData
ID3D12DescriptorHeap _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:5590
ID3D12DescriptorHeapVtbl::pDataSize
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:5576
ID3D12DescriptorHeapVtbl::ppvDevice
ID3D12DescriptorHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:5601
ID3D12DescriptorHeapVtbl::guid
ID3D12DescriptorHeap _In_ REFGUID guid
Definition mini_d3d12.h:5575
ID3D12DescriptorHeapVtbl::_In_reads_bytes_opt_
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DescriptorHeapVtbl::pData
ID3D12DescriptorHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:5577
ID3D12DescriptorHeapVtbl::DataSize
ID3D12DescriptorHeap _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:5583
ID3D12DescriptorHeapVtbl::riid
ID3D12DescriptorHeap REFIID riid
Definition mini_d3d12.h:5600
ID3D12DescriptorHeapVtbl::This
ID3D12DescriptorHeap * This
Definition mini_d3d12.h:5566
ID3D12DescriptorHeapVtbl::Name
ID3D12DescriptorHeap _In_z_ LPCWSTR Name
Definition mini_d3d12.h:5595
ID3D12DeviceChildVtbl
Definition mini_d3d12.h:1558
ID3D12DeviceChildVtbl::pDataSize
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:1579
ID3D12DeviceChildVtbl::This
ID3D12DeviceChild * This
Definition mini_d3d12.h:1569
ID3D12DeviceChildVtbl::pData
ID3D12DeviceChild _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:1580
ID3D12DeviceChildVtbl::pData
ID3D12DeviceChild _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:1593
ID3D12DeviceChildVtbl::_In_reads_bytes_opt_
ID3D12DeviceChild _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DeviceChildVtbl::riid
ID3D12DeviceChild REFIID riid
Definition mini_d3d12.h:1603
ID3D12DeviceChildVtbl::ppvDevice
ID3D12DeviceChild REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:1604
ID3D12DeviceChildVtbl::Name
ID3D12DeviceChild _In_z_ LPCWSTR Name
Definition mini_d3d12.h:1598
ID3D12DeviceChildVtbl::DataSize
ID3D12DeviceChild _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:1586
ID3D12DeviceChildVtbl::guid
ID3D12DeviceChild _In_ REFGUID guid
Definition mini_d3d12.h:1578
ID3D12DeviceVtbl
Definition mini_d3d12.h:4828
ID3D12DeviceVtbl::pDesc
_In_ const D3D12_SAMPLER_DESC * pDesc
Definition mini_d3d12.h:4972
ID3D12DeviceVtbl::pInitialState
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition mini_d3d12.h:4908
ID3D12DeviceVtbl::pData
ID3D12Device _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:4850
ID3D12DeviceVtbl::pDesc
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC * pDesc
Definition mini_d3d12.h:4967
ID3D12DeviceVtbl::Name
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR Name
Definition mini_d3d12.h:5049
ID3D12DeviceVtbl::_In_reads_
_In_ UINT _In_ UINT _In_reads_(NumSrcDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts
ID3D12DeviceVtbl::ppvResource
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
ID3D12DeviceVtbl::InitialResourceState
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialResourceState
Definition mini_d3d12.h:5011
ID3D12DeviceVtbl::pDesc
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource _In_opt_ const D3D12_UNORDERED_ACCESS_VIEW_DESC * pDesc
Definition mini_d3d12.h:4955
ID3D12DeviceVtbl::pObject
ID3D12Device _In_ ID3D12DeviceChild * pObject
Definition mini_d3d12.h:5046
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CopyDescriptorsSimple)(ID3D12Device *This
ID3D12DeviceVtbl::pDescriptorHeapDesc
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC * pDescriptorHeapDesc
Definition mini_d3d12.h:4922
ID3D12DeviceVtbl::Name
ID3D12Device _In_z_ LPCWSTR Name
Definition mini_d3d12.h:4868
ID3D12DeviceVtbl::pDesc
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC * pDesc
Definition mini_d3d12.h:4942
ID3D12DeviceVtbl::_Out_writes_opt_
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT *pNumRows
ID3D12DeviceVtbl::pDesc
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC * pDesc
Definition mini_d3d12.h:4961
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CreateDepthStencilView)(ID3D12Device *This
ID3D12DeviceVtbl::ppvResource
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
ID3D12DeviceVtbl::ppvCommandSignature
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvCommandSignature
Definition mini_d3d12.h:5120
ID3D12DeviceVtbl::pRootSignature
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature * pRootSignature
Definition mini_d3d12.h:5118
ID3D12DeviceVtbl::type
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE type
Definition mini_d3d12.h:4906
ID3D12DeviceVtbl::numResourceDescs
ID3D12Device _In_ UINT _In_ UINT numResourceDescs
Definition mini_d3d12.h:4996
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID riid
Definition mini_d3d12.h:4878
ID3D12DeviceVtbl::riid
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
ID3D12DeviceVtbl::visibleMask
ID3D12Device _In_ UINT visibleMask
Definition mini_d3d12.h:4995
ID3D12DeviceVtbl::Access
ID3D12Device _In_ LPCWSTR DWORD Access
Definition mini_d3d12.h:5063
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *GetCopyableFootprints)(ID3D12Device *This
ID3D12DeviceVtbl::NTHandle
ID3D12Device _In_ HANDLE NTHandle
Definition mini_d3d12.h:5055
ID3D12DeviceVtbl::Enable
ID3D12Device BOOL Enable
Definition mini_d3d12.h:5112
ID3D12DeviceVtbl::pResource
_In_opt_ ID3D12Resource * pResource
Definition mini_d3d12.h:4947
ID3D12DeviceVtbl::pCounterResource
_In_opt_ ID3D12Resource _In_opt_ ID3D12Resource * pCounterResource
Definition mini_d3d12.h:4954
ID3D12DeviceVtbl::ppPipelineState
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition mini_d3d12.h:4900
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS _In_ const D3D12_RESOURCE_DESC * pDesc
Definition mini_d3d12.h:5010
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC * pDesc
Definition mini_d3d12.h:4877
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC REFIID riid
Definition mini_d3d12.h:4899
ID3D12DeviceVtbl::pOptimizedClearValue
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
ID3D12DeviceVtbl::type
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE type
Definition mini_d3d12.h:4884
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC _In_opt_ ID3D12RootSignature REFIID riid
Definition mini_d3d12.h:5119
ID3D12DeviceVtbl::InitialValue
ID3D12Device UINT64 InitialValue
Definition mini_d3d12.h:5082
ID3D12DeviceVtbl::pOptimizedClearValue
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition mini_d3d12.h:5030
ID3D12DeviceVtbl::DescriptorHeapsType
_In_ UINT _In_ UINT _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition mini_d3d12.h:4983
ID3D12DeviceVtbl::DestDescriptor
_In_opt_ ID3D12Resource _In_opt_ const D3D12_RENDER_TARGET_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition mini_d3d12.h:4962
ID3D12DeviceVtbl::_In_reads_opt_
_In_ UINT _In_reads_opt_(NumDestDescriptorRanges) const UINT *pDestDescriptorRangeSizes
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CopyDescriptors)(ID3D12Device *This
ID3D12DeviceVtbl::pPackedMipDesc
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO * pPackedMipDesc
Definition mini_d3d12.h:5126
ID3D12DeviceVtbl::ppvRootSignature
ID3D12Device _In_ UINT _In_ SIZE_T REFIID _COM_Outptr_ void ** ppvRootSignature
Definition mini_d3d12.h:4938
ID3D12DeviceVtbl::NumDestDescriptorRanges
_In_ UINT NumDestDescriptorRanges
Definition mini_d3d12.h:4977
ID3D12DeviceVtbl::Access
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD Access
Definition mini_d3d12.h:5048
ID3D12DeviceVtbl::_Out_writes_opt_
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) UINT64 *pRowSizeInBytes
ID3D12DeviceVtbl::pNumSubresourceTilings
_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
ID3D12DeviceVtbl::InitialState
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
Definition mini_d3d12.h:5038
ID3D12DeviceVtbl::ppCommandAllocator
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID _COM_Outptr_ void ** ppCommandAllocator
Definition mini_d3d12.h:4886
ID3D12DeviceVtbl::riidResource
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
ID3D12DeviceVtbl::DestDescriptor
_In_opt_ ID3D12Resource _In_opt_ const D3D12_DEPTH_STENCIL_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition mini_d3d12.h:4968
ID3D12DeviceVtbl::ppCommandQueue
ID3D12Device _In_ const D3D12_COMMAND_QUEUE_DESC REFIID _COM_Outptr_ void ** ppCommandQueue
Definition mini_d3d12.h:4879
ID3D12DeviceVtbl::blobLengthInBytes
ID3D12Device _In_ UINT _In_ SIZE_T blobLengthInBytes
Definition mini_d3d12.h:4936
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CreateRenderTargetView)(ID3D12Device *This
ID3D12DeviceVtbl::_Out_writes_opt_
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_writes_opt_(NumSubresources) D3D12_PLACED_SUBRESOURCE_FOOTPRINT *pLayouts
ID3D12DeviceVtbl::ppvHeap
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
Definition mini_d3d12.h:5021
ID3D12DeviceVtbl::DestDescriptor
_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
ID3D12DeviceVtbl::pHeapProperties
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES * pHeapProperties
Definition mini_d3d12.h:5008
ID3D12DeviceVtbl::riid
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID riid
Definition mini_d3d12.h:4909
ID3D12DeviceVtbl::DescriptorHeapsType
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
Definition mini_d3d12.h:4990
ID3D12DeviceVtbl::DestDescriptor
_In_opt_ const D3D12_CONSTANT_BUFFER_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition mini_d3d12.h:4943
ID3D12DeviceVtbl::ppPipelineState
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID _COM_Outptr_ void ** ppPipelineState
Definition mini_d3d12.h:4893
ID3D12DeviceVtbl::_In_reads_
ID3D12Device _In_ UINT _In_reads_(blobLengthInBytes) const void *pBlobWithRootSignature
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE REFIID riid
Definition mini_d3d12.h:5040
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_HEAP_DESC REFIID riid
Definition mini_d3d12.h:5020
ID3D12DeviceVtbl::ppCommandList
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState REFIID _COM_Outptr_ void ** ppCommandList
Definition mini_d3d12.h:4910
ID3D12DeviceVtbl::ppvHeap
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID _COM_Outptr_ void ** ppvHeap
Definition mini_d3d12.h:4924
ID3D12DeviceVtbl::_In_reads_
ID3D12Device UINT _In_reads_(NumObjects) ID3D12Pageable *const *ppObjects)
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_COMMAND_SIGNATURE_DESC * pDesc
Definition mini_d3d12.h:5117
ID3D12DeviceVtbl::ppvResource
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
ID3D12DeviceVtbl::ppvHeap
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID _COM_Outptr_opt_ void ** ppvHeap
Definition mini_d3d12.h:5107
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *GetResourceTiling)(ID3D12Device *This
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_DESCRIPTOR_HEAP_DESC REFIID riid
Definition mini_d3d12.h:4923
ID3D12DeviceVtbl::DescriptorHeapType
ID3D12Device _In_ D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapType
Definition mini_d3d12.h:4929
ID3D12DeviceVtbl::DataSize
ID3D12Device _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:4856
ID3D12DeviceVtbl::HeapOffset
ID3D12Device _In_ ID3D12Heap UINT64 HeapOffset
Definition mini_d3d12.h:5027
ID3D12DeviceVtbl::_Inout_updates_bytes_
ID3D12Device D3D12_FEATURE _Inout_updates_bytes_(FeatureSupportDataSize) void *pFeatureSupportData
ID3D12DeviceVtbl::BaseOffset
_In_ const D3D12_RESOURCE_DESC UINT64 BaseOffset
Definition mini_d3d12.h:5096
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC * pDesc
Definition mini_d3d12.h:5105
ID3D12DeviceVtbl::DestDescriptor
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition mini_d3d12.h:4949
ID3D12DeviceVtbl::pData
ID3D12Device _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:4863
ID3D12DeviceVtbl::InitialState
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES InitialState
Definition mini_d3d12.h:5029
ID3D12DeviceVtbl::heapType
ID3D12Device _In_ UINT D3D12_HEAP_TYPE heapType
Definition mini_d3d12.h:5003
ID3D12DeviceVtbl::DestDescriptor
_In_ const D3D12_SAMPLER_DESC _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptor
Definition mini_d3d12.h:4973
ID3D12DeviceVtbl::pAttributes
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES * pAttributes
Definition mini_d3d12.h:5047
ID3D12DeviceVtbl::_In_range_
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES - FirstSubresource) UINT NumSubresources
ID3D12DeviceVtbl::pDataSize
ID3D12Device _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:4849
ID3D12DeviceVtbl::pSubresourceTilingsForNonPackedMips
_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
ID3D12DeviceVtbl::pResourceDesc
_In_ const D3D12_RESOURCE_DESC * pResourceDesc
Definition mini_d3d12.h:5093
ID3D12DeviceVtbl::NumDescriptors
_In_ UINT NumDescriptors
Definition mini_d3d12.h:4987
ID3D12DeviceVtbl::NumObjects
ID3D12Device UINT NumObjects
Definition mini_d3d12.h:5070
ID3D12DeviceVtbl::NumSrcDescriptorRanges
_In_ UINT _In_ UINT NumSrcDescriptorRanges
Definition mini_d3d12.h:4980
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_RESOURCE_DESC * pDesc
Definition mini_d3d12.h:5037
ID3D12DeviceVtbl::Flags
ID3D12Device UINT64 D3D12_FENCE_FLAGS Flags
Definition mini_d3d12.h:5083
ID3D12DeviceVtbl::pDesc
_In_opt_ ID3D12Resource _In_opt_ const D3D12_SHADER_RESOURCE_VIEW_DESC * pDesc
Definition mini_d3d12.h:4948
ID3D12DeviceVtbl::_In_reads_
ID3D12Device _In_ UINT _In_ UINT _In_reads_(numResourceDescs) const D3D12_RESOURCE_DESC *pResourceDescs)
ID3D12DeviceVtbl::pHeap
ID3D12Device _In_ ID3D12Heap * pHeap
Definition mini_d3d12.h:5026
ID3D12DeviceVtbl::pStandardTileShapeForNonPackedMips
_In_ ID3D12Resource _Out_opt_ UINT _Out_opt_ D3D12_PACKED_MIP_INFO _Out_opt_ D3D12_TILE_SHAPE * pStandardTileShapeForNonPackedMips
Definition mini_d3d12.h:5127
ID3D12DeviceVtbl::_In_reads_
_In_ UINT _In_reads_(NumDestDescriptorRanges) const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts
ID3D12DeviceVtbl::SrcDescriptorRangeStart
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart
Definition mini_d3d12.h:4989
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_HEAP_DESC * pDesc
Definition mini_d3d12.h:5019
ID3D12DeviceVtbl::nodeMask
ID3D12Device _In_ UINT nodeMask
Definition mini_d3d12.h:4905
ID3D12DeviceVtbl::pHandle
ID3D12Device _In_ ID3D12DeviceChild _In_opt_ const SECURITY_ATTRIBUTES DWORD _In_opt_ LPCWSTR _Out_ HANDLE * pHandle
Definition mini_d3d12.h:5050
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ ID3D12Heap UINT64 _In_ const D3D12_RESOURCE_DESC * pDesc
Definition mini_d3d12.h:5028
ID3D12DeviceVtbl::guid
ID3D12Device _In_ REFGUID guid
Definition mini_d3d12.h:4848
ID3D12DeviceVtbl::pTotalBytes
_In_ const D3D12_RESOURCE_DESC UINT64 _Out_opt_ UINT64 * pTotalBytes
Definition mini_d3d12.h:5100
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_QUERY_HEAP_DESC REFIID riid
Definition mini_d3d12.h:5106
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC * pDesc
Definition mini_d3d12.h:4891
ID3D12DeviceVtbl::HeapFlags
ID3D12Device _In_ const D3D12_HEAP_PROPERTIES D3D12_HEAP_FLAGS HeapFlags
Definition mini_d3d12.h:5009
ID3D12DeviceVtbl::FeatureSupportDataSize
ID3D12Device D3D12_FEATURE UINT FeatureSupportDataSize
Definition mini_d3d12.h:4917
ID3D12DeviceVtbl::pCommandAllocator
ID3D12Device _In_ UINT _In_ D3D12_COMMAND_LIST_TYPE _In_ ID3D12CommandAllocator * pCommandAllocator
Definition mini_d3d12.h:4907
ID3D12DeviceVtbl::pNumTilesForEntireResource
_In_ ID3D12Resource _Out_opt_ UINT * pNumTilesForEntireResource
Definition mini_d3d12.h:5125
ID3D12DeviceVtbl::riid
ID3D12Device _In_ HANDLE REFIID riid
Definition mini_d3d12.h:5056
ID3D12DeviceVtbl::pNTHandle
ID3D12Device _In_ LPCWSTR DWORD _Out_ HANDLE * pNTHandle
Definition mini_d3d12.h:5065
ID3D12DeviceVtbl::pDesc
ID3D12Device _In_ const D3D12_COMPUTE_PIPELINE_STATE_DESC * pDesc
Definition mini_d3d12.h:4898
ID3D12DeviceVtbl::_In_reads_opt_
_In_ UINT _In_ UINT _In_reads_opt_(NumSrcDescriptorRanges) const UINT *pSrcDescriptorRangeSizes
ID3D12DeviceVtbl::riid
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID riid
Definition mini_d3d12.h:5084
ID3D12DeviceVtbl::ppvObj
ID3D12Device _In_ HANDLE REFIID _COM_Outptr_opt_ void ** ppvObj
Definition mini_d3d12.h:5057
ID3D12DeviceVtbl::pOptimizedClearValue
ID3D12Device _In_ const D3D12_RESOURCE_DESC D3D12_RESOURCE_STATES _In_opt_ const D3D12_CLEAR_VALUE * pOptimizedClearValue
Definition mini_d3d12.h:5039
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CreateSampler)(ID3D12Device *This
ID3D12DeviceVtbl::riid
ID3D12Device _In_ D3D12_COMMAND_LIST_TYPE REFIID riid
Definition mini_d3d12.h:4885
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CreateConstantBufferView)(ID3D12Device *This
ID3D12DeviceVtbl::DestDescriptorRangeStart
_In_ UINT _In_ D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart
Definition mini_d3d12.h:4988
ID3D12DeviceVtbl::riid
ID3D12Device _In_ UINT _In_ SIZE_T REFIID riid
Definition mini_d3d12.h:4937
ID3D12DeviceVtbl::ppFence
ID3D12Device UINT64 D3D12_FENCE_FLAGS REFIID _COM_Outptr_ void ** ppFence
Definition mini_d3d12.h:5085
ID3D12DeviceVtbl::riid
ID3D12Device _In_ const D3D12_GRAPHICS_PIPELINE_STATE_DESC REFIID riid
Definition mini_d3d12.h:4892
ID3D12DeviceVtbl::_In_range_
_In_ const D3D12_RESOURCE_DESC _In_range_(0, D3D12_REQ_SUBRESOURCES) UINT FirstSubresource
ID3D12DeviceVtbl::This
ID3D12Device * This
Definition mini_d3d12.h:4839
ID3D12DeviceVtbl::Feature
ID3D12Device D3D12_FEATURE Feature
Definition mini_d3d12.h:4915
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CreateShaderResourceView)(ID3D12Device *This
ID3D12DeviceVtbl::Name
ID3D12Device _In_ LPCWSTR Name
Definition mini_d3d12.h:5062
ID3D12DeviceVtbl::FirstSubresourceTilingToGet
_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
ID3D12DeviceVtbl::_In_reads_bytes_opt_
ID3D12Device _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12DeviceVtbl::pTiledResource
_In_ ID3D12Resource * pTiledResource
Definition mini_d3d12.h:5124
ID3D12DeviceVtbl::void
void(STDMETHODCALLTYPE *CreateUnorderedAccessView)(ID3D12Device *This
ID3D12FenceVtbl
Definition mini_d3d12.h:5308
ID3D12FenceVtbl::Value
ID3D12Fence UINT64 Value
Definition mini_d3d12.h:5363
ID3D12FenceVtbl::hEvent
ID3D12Fence UINT64 HANDLE hEvent
Definition mini_d3d12.h:5364
ID3D12FenceVtbl::pData
ID3D12Fence _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:5330
ID3D12FenceVtbl::Name
ID3D12Fence _In_z_ LPCWSTR Name
Definition mini_d3d12.h:5348
ID3D12FenceVtbl::DataSize
ID3D12Fence _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:5336
ID3D12FenceVtbl::riid
ID3D12Fence REFIID riid
Definition mini_d3d12.h:5353
ID3D12FenceVtbl::pDataSize
ID3D12Fence _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:5329
ID3D12FenceVtbl::_In_reads_bytes_opt_
ID3D12Fence _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12FenceVtbl::guid
ID3D12Fence _In_ REFGUID guid
Definition mini_d3d12.h:5328
ID3D12FenceVtbl::pData
ID3D12Fence _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:5343
ID3D12FenceVtbl::This
ID3D12Fence * This
Definition mini_d3d12.h:5319
ID3D12FenceVtbl::ppvDevice
ID3D12Fence REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:5354
ID3D12GraphicsCommandListVtbl
Definition mini_d3d12.h:3789
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ResolveSubresource)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *CopyTiles)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::ThreadGroupCountZ
_In_ UINT _In_ UINT _In_ UINT ThreadGroupCountZ
Definition mini_d3d12.h:3874
ID3D12GraphicsCommandListVtbl::pDestinationBuffer
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource * pDestinationBuffer
Definition mini_d3d12.h:4109
ID3D12GraphicsCommandListVtbl::pCommandList
_In_ ID3D12GraphicsCommandList * pCommandList
Definition mini_d3d12.h:3948
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstants)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::_In_range_
_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumViewports
ID3D12GraphicsCommandListVtbl::BaseDescriptor
_In_ UINT _In_ D3D12_GPU_DESCRIPTOR_HANDLE BaseDescriptor
Definition mini_d3d12.h:3966
ID3D12GraphicsCommandListVtbl::pBuffer
_In_opt_ ID3D12Resource * pBuffer
Definition mini_d3d12.h:4114
ID3D12GraphicsCommandListVtbl::BufferStartOffsetInBytes
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource UINT64 BufferStartOffsetInBytes
Definition mini_d3d12.h:3904
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *CopyResource)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::MaxCommandCount
_In_ ID3D12CommandSignature _In_ UINT MaxCommandCount
Definition mini_d3d12.h:4136
ID3D12GraphicsCommandListVtbl::StartIndexLocation
_In_ UINT _In_ UINT _In_ UINT StartIndexLocation
Definition mini_d3d12.h:3866
ID3D12GraphicsCommandListVtbl::pSrcResource
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource * pSrcResource
Definition mini_d3d12.h:3911
ID3D12GraphicsCommandListVtbl::StartInstanceLocation
_In_ UINT _In_ UINT _In_ UINT _In_ INT _In_ UINT StartInstanceLocation
Definition mini_d3d12.h:3868
ID3D12GraphicsCommandListVtbl::ViewCPUHandle
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE ViewCPUHandle
Definition mini_d3d12.h:4071
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRootShaderResourceView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::NumRects
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT NumRects
Definition mini_d3d12.h:4074
ID3D12GraphicsCommandListVtbl::pData
ID3D12GraphicsCommandList _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:3824
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstant)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::BaseVertexLocation
_In_ UINT _In_ UINT _In_ UINT _In_ INT BaseVertexLocation
Definition mini_d3d12.h:3867
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const UINT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
ID3D12GraphicsCommandListVtbl::NumBytes
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 UINT64 NumBytes
Definition mini_d3d12.h:3882
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ExecuteBundle)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pRootSignature
_In_opt_ ID3D12RootSignature * pRootSignature
Definition mini_d3d12.h:3957
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ExecuteIndirect)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::StencilRef
_In_ UINT StencilRef
Definition mini_d3d12.h:3935
ID3D12GraphicsCommandListVtbl::_In_range_
_In_range_(0, D3D12_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE) UINT NumRects
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_reads_(NumRects) const D3D12_RECT *pRects)
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRootSignature)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::AlignedBufferOffset
_In_opt_ ID3D12Resource _In_ UINT64 AlignedBufferOffset
Definition mini_d3d12.h:4115
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ UINT _In_ UINT _In_reads_(Num32BitValuesToSet *sizeof(UINT)) const void *pSrcData
ID3D12GraphicsCommandListVtbl::StartInstanceLocation
_In_ UINT _In_ UINT _In_ UINT _In_ UINT StartInstanceLocation
Definition mini_d3d12.h:3860
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *OMSetStencilRef)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::SrcOffset
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource UINT64 SrcOffset
Definition mini_d3d12.h:3881
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *CopyBufferRegion)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pDstBuffer
_In_ ID3D12Resource * pDstBuffer
Definition mini_d3d12.h:3878
ID3D12GraphicsCommandListVtbl::ArgumentBufferOffset
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 ArgumentBufferOffset
Definition mini_d3d12.h:4138
ID3D12GraphicsCommandListVtbl::StartIndex
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT StartIndex
Definition mini_d3d12.h:4107
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetPredication)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *DrawIndexedInstanced)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ UINT _In_reads_(NumBarriers) const D3D12_RESOURCE_BARRIER *pBarriers)
ID3D12GraphicsCommandListVtbl::NumViews
_In_ UINT _In_ UINT NumViews
Definition mini_d3d12.h:4036
ID3D12GraphicsCommandListVtbl::NumRects
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT NumRects
Definition mini_d3d12.h:4065
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRootSignature)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::Type
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE Type
Definition mini_d3d12.h:4094
ID3D12GraphicsCommandListVtbl::pView
_In_opt_ const D3D12_INDEX_BUFFER_VIEW * pView
Definition mini_d3d12.h:4031
ID3D12GraphicsCommandListVtbl::SrcSubresource
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT SrcSubresource
Definition mini_d3d12.h:3912
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRoot32BitConstants)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::Num32BitValuesToSet
_In_ UINT _In_ UINT Num32BitValuesToSet
Definition mini_d3d12.h:3988
ID3D12GraphicsCommandListVtbl::pData
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:3811
ID3D12GraphicsCommandListVtbl::NumRects
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource _In_ const FLOAT _In_ UINT NumRects
Definition mini_d3d12.h:4083
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::NumRects
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT NumRects
Definition mini_d3d12.h:4058
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *IASetVertexBuffers)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pQueryHeap
_In_ ID3D12QueryHeap * pQueryHeap
Definition mini_d3d12.h:4093
ID3D12GraphicsCommandListVtbl::guid
ID3D12GraphicsCommandList _In_ REFGUID guid
Definition mini_d3d12.h:3809
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SOSetTargets)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pSrcBuffer
_In_ ID3D12Resource UINT64 _In_ ID3D12Resource * pSrcBuffer
Definition mini_d3d12.h:3880
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *OMSetBlendFactor)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::DstOffset
_In_ ID3D12Resource UINT64 DstOffset
Definition mini_d3d12.h:3879
ID3D12GraphicsCommandListVtbl::pSrcResource
_In_ ID3D12Resource _In_ ID3D12Resource * pSrcResource
Definition mini_d3d12.h:3896
ID3D12GraphicsCommandListVtbl::StartSlot
_In_ UINT StartSlot
Definition mini_d3d12.h:4035
ID3D12GraphicsCommandListVtbl::pRegion
_In_ ID3D12Resource _In_opt_ const D3D12_DISCARD_REGION * pRegion
Definition mini_d3d12.h:4089
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *RSSetScissorRects)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::StartVertexLocation
_In_ UINT _In_ UINT _In_ UINT StartVertexLocation
Definition mini_d3d12.h:3859
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *IASetPrimitiveTopology)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *RSSetViewports)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::NumQueries
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT NumQueries
Definition mini_d3d12.h:4108
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRootShaderResourceView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRoot32BitConstant)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pResource
_In_ D3D12_GPU_DESCRIPTOR_HANDLE _In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ ID3D12Resource * pResource
Definition mini_d3d12.h:4072
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetMarker)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::DstZ
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT DstZ
Definition mini_d3d12.h:3889
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRootUnorderedAccessView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pAllocator
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator * pAllocator
Definition mini_d3d12.h:3848
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ const FLOAT _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
ID3D12GraphicsCommandListVtbl::Metadata
UINT Metadata
Definition mini_d3d12.h:4120
ID3D12GraphicsCommandListVtbl::NumRenderTargetDescriptors
_In_ UINT NumRenderTargetDescriptors
Definition mini_d3d12.h:4047
ID3D12GraphicsCommandListVtbl::DstY
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT DstY
Definition mini_d3d12.h:3888
ID3D12GraphicsCommandListVtbl::pInitialState
ID3D12GraphicsCommandList _In_ ID3D12CommandAllocator _In_opt_ ID3D12PipelineState * pInitialState
Definition mini_d3d12.h:3849
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ClearRenderTargetView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *CopyTextureRegion)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::DataSize
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:3817
ID3D12GraphicsCommandListVtbl::Flags
_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
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ClearDepthStencilView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pPipelineState
_In_ ID3D12PipelineState * pPipelineState
Definition mini_d3d12.h:3939
ID3D12GraphicsCommandListVtbl::Index
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT Index
Definition mini_d3d12.h:4095
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *IASetIndexBuffer)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pTiledResource
_In_ ID3D12Resource * pTiledResource
Definition mini_d3d12.h:3900
ID3D12GraphicsCommandListVtbl::pResource
_In_ ID3D12Resource * pResource
Definition mini_d3d12.h:4088
ID3D12GraphicsCommandListVtbl::NumBarriers
_In_ UINT NumBarriers
Definition mini_d3d12.h:3943
ID3D12GraphicsCommandListVtbl::pRenderTargetDescriptors
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pRenderTargetDescriptors
Definition mini_d3d12.h:4048
ID3D12GraphicsCommandListVtbl::DestOffsetIn32BitValues
_In_ UINT _In_ UINT _In_ UINT DestOffsetIn32BitValues
Definition mini_d3d12.h:3977
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewUint)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::DepthStencilView
_In_ D3D12_CPU_DESCRIPTOR_HANDLE DepthStencilView
Definition mini_d3d12.h:4054
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetDescriptorHeaps)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ResourceBarrier)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::RTsSingleHandleToDescriptorRange
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL RTsSingleHandleToDescriptorRange
Definition mini_d3d12.h:4049
ID3D12GraphicsCommandListVtbl::_In_reads_opt_
_In_ UINT _In_ UINT _In_reads_opt_(NumViews) const D3D12_VERTEX_BUFFER_VIEW *pViews)
ID3D12GraphicsCommandListVtbl::_In_reads_bytes_opt_
UINT _In_reads_bytes_opt_(Size) const void *pData
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *EndEvent)(ID3D12GraphicsCommandList *This)
ID3D12GraphicsCommandListVtbl::pCountBuffer
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource * pCountBuffer
Definition mini_d3d12.h:4139
ID3D12GraphicsCommandListVtbl::pDst
_In_ const D3D12_TEXTURE_COPY_LOCATION * pDst
Definition mini_d3d12.h:3886
ID3D12GraphicsCommandListVtbl::pTileRegionSize
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE * pTileRegionSize
Definition mini_d3d12.h:3902
ID3D12GraphicsCommandListVtbl::This
ID3D12GraphicsCommandList * This
Definition mini_d3d12.h:3800
ID3D12GraphicsCommandListVtbl::RootParameterIndex
_In_ UINT RootParameterIndex
Definition mini_d3d12.h:3965
ID3D12GraphicsCommandListVtbl::VertexCountPerInstance
_In_ UINT VertexCountPerInstance
Definition mini_d3d12.h:3857
ID3D12GraphicsCommandListVtbl::SrcData
_In_ UINT _In_ UINT SrcData
Definition mini_d3d12.h:3976
ID3D12GraphicsCommandListVtbl::pSrc
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT UINT UINT _In_ const D3D12_TEXTURE_COPY_LOCATION * pSrc
Definition mini_d3d12.h:3890
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ResolveQueryData)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::_In_reads_bytes_opt_
ID3D12GraphicsCommandList _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12GraphicsCommandListVtbl::pPipelineState
_In_opt_ ID3D12PipelineState * pPipelineState
Definition mini_d3d12.h:3853
ID3D12GraphicsCommandListVtbl::ThreadGroupCountY
_In_ UINT _In_ UINT ThreadGroupCountY
Definition mini_d3d12.h:3873
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *EndQuery)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pSrcBox
_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
ID3D12GraphicsCommandListVtbl::_In_reads_opt_
_In_ UINT _In_ UINT _In_reads_opt_(NumViews) const D3D12_STREAM_OUTPUT_BUFFER_VIEW *pViews)
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *BeginEvent)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *DrawInstanced)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRootConstantBufferView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::pDstResource
_In_ ID3D12Resource * pDstResource
Definition mini_d3d12.h:3895
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *OMSetRenderTargets)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *Dispatch)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ClearState)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::riid
ID3D12GraphicsCommandList REFIID riid
Definition mini_d3d12.h:3834
ID3D12GraphicsCommandListVtbl::DstSubresource
_In_ ID3D12Resource _In_ UINT DstSubresource
Definition mini_d3d12.h:3910
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetComputeRootDescriptorTable)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::ViewGPUHandleInCurrentHeap
_In_ D3D12_GPU_DESCRIPTOR_HANDLE ViewGPUHandleInCurrentHeap
Definition mini_d3d12.h:4070
ID3D12GraphicsCommandListVtbl::pDataSize
ID3D12GraphicsCommandList _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:3810
ID3D12GraphicsCommandListVtbl::PrimitiveTopology
_In_ D3D12_PRIMITIVE_TOPOLOGY PrimitiveTopology
Definition mini_d3d12.h:3917
ID3D12GraphicsCommandListVtbl::Stencil
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 Stencil
Definition mini_d3d12.h:4057
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ UINT _In_reads_(NumDescriptorHeaps) ID3D12DescriptorHeap *const *ppDescriptorHeaps)
ID3D12GraphicsCommandListVtbl::pCommandSignature
_In_ ID3D12CommandSignature * pCommandSignature
Definition mini_d3d12.h:4135
ID3D12GraphicsCommandListVtbl::CountBufferOffset
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource _In_ UINT64 _In_opt_ ID3D12Resource _In_ UINT64 CountBufferOffset
Definition mini_d3d12.h:4140
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *BeginQuery)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *DiscardResource)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT _In_ UINT8 _In_ UINT _In_reads_(NumRects) const D3D12_RECT *pRects)
ID3D12GraphicsCommandListVtbl::pTileRegionStartCoordinate
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE * pTileRegionStartCoordinate
Definition mini_d3d12.h:3901
ID3D12GraphicsCommandListVtbl::InstanceCount
_In_ UINT _In_ UINT InstanceCount
Definition mini_d3d12.h:3858
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRootConstantBufferView)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetGraphicsRootDescriptorTable)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::ClearFlags
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS ClearFlags
Definition mini_d3d12.h:4055
ID3D12GraphicsCommandListVtbl::Format
_In_ ID3D12Resource _In_ UINT _In_ ID3D12Resource _In_ UINT _In_ DXGI_FORMAT Format
Definition mini_d3d12.h:3913
ID3D12GraphicsCommandListVtbl::RenderTargetView
_In_ D3D12_CPU_DESCRIPTOR_HANDLE RenderTargetView
Definition mini_d3d12.h:4063
ID3D12GraphicsCommandListVtbl::Depth
_In_ D3D12_CPU_DESCRIPTOR_HANDLE _In_ D3D12_CLEAR_FLAGS _In_ FLOAT Depth
Definition mini_d3d12.h:4056
ID3D12GraphicsCommandListVtbl::NumDescriptorHeaps
_In_ UINT NumDescriptorHeaps
Definition mini_d3d12.h:3952
ID3D12GraphicsCommandListVtbl::pBuffer
_In_ ID3D12Resource _In_ const D3D12_TILED_RESOURCE_COORDINATE _In_ const D3D12_TILE_REGION_SIZE _In_ ID3D12Resource * pBuffer
Definition mini_d3d12.h:3903
ID3D12GraphicsCommandListVtbl::ThreadGroupCountX
_In_ UINT ThreadGroupCountX
Definition mini_d3d12.h:3872
ID3D12GraphicsCommandListVtbl::pArgumentBuffer
_In_ ID3D12CommandSignature _In_ UINT _In_ ID3D12Resource * pArgumentBuffer
Definition mini_d3d12.h:4137
ID3D12GraphicsCommandListVtbl::_In_reads_
_In_reads_(NumViewports) const D3D12_VIEWPORT *pViewports)
ID3D12GraphicsCommandListVtbl::ppvDevice
ID3D12GraphicsCommandList REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:3835
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *ClearUnorderedAccessViewFloat)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::BufferLocation
_In_ UINT _In_ D3D12_GPU_VIRTUAL_ADDRESS BufferLocation
Definition mini_d3d12.h:4002
ID3D12GraphicsCommandListVtbl::DstX
_In_ const D3D12_TEXTURE_COPY_LOCATION UINT DstX
Definition mini_d3d12.h:3887
ID3D12GraphicsCommandListVtbl::IndexCountPerInstance
_In_ UINT IndexCountPerInstance
Definition mini_d3d12.h:3864
ID3D12GraphicsCommandListVtbl::pDepthStencilDescriptor
_In_ UINT _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE _In_ BOOL _In_opt_ const D3D12_CPU_DESCRIPTOR_HANDLE * pDepthStencilDescriptor
Definition mini_d3d12.h:4050
ID3D12GraphicsCommandListVtbl::void
void(STDMETHODCALLTYPE *SetPipelineState)(ID3D12GraphicsCommandList *This
ID3D12GraphicsCommandListVtbl::AlignedDestinationBufferOffset
_In_ ID3D12QueryHeap _In_ D3D12_QUERY_TYPE _In_ UINT _In_ UINT _In_ ID3D12Resource _In_ UINT64 AlignedDestinationBufferOffset
Definition mini_d3d12.h:4110
ID3D12GraphicsCommandListVtbl::Name
ID3D12GraphicsCommandList _In_z_ LPCWSTR Name
Definition mini_d3d12.h:3829
ID3D12GraphicsCommandListVtbl::Operation
_In_opt_ ID3D12Resource _In_ UINT64 _In_ D3D12_PREDICATION_OP Operation
Definition mini_d3d12.h:4116
ID3D12GraphicsCommandListVtbl::Size
UINT UINT Size
Definition mini_d3d12.h:4122
ID3D12ObjectVtbl
Definition mini_d3d12.h:1470
ID3D12ObjectVtbl::DataSize
ID3D12Object _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:1498
ID3D12ObjectVtbl::guid
ID3D12Object _In_ REFGUID guid
Definition mini_d3d12.h:1490
ID3D12ObjectVtbl::pDataSize
ID3D12Object _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:1491
ID3D12ObjectVtbl::pData
ID3D12Object _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:1505
ID3D12ObjectVtbl::Name
ID3D12Object _In_z_ LPCWSTR Name
Definition mini_d3d12.h:1510
ID3D12ObjectVtbl::pData
ID3D12Object _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:1492
ID3D12ObjectVtbl::This
ID3D12Object * This
Definition mini_d3d12.h:1481
ID3D12ObjectVtbl::_In_reads_bytes_opt_
ID3D12Object _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12PageableVtbl
Definition mini_d3d12.h:1752
ID3D12PageableVtbl::riid
ID3D12Pageable REFIID riid
Definition mini_d3d12.h:1797
ID3D12PageableVtbl::Name
ID3D12Pageable _In_z_ LPCWSTR Name
Definition mini_d3d12.h:1792
ID3D12PageableVtbl::pDataSize
ID3D12Pageable _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:1773
ID3D12PageableVtbl::ppvDevice
ID3D12Pageable REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:1798
ID3D12PageableVtbl::This
ID3D12Pageable * This
Definition mini_d3d12.h:1763
ID3D12PageableVtbl::DataSize
ID3D12Pageable _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:1780
ID3D12PageableVtbl::pData
ID3D12Pageable _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:1774
ID3D12PageableVtbl::pData
ID3D12Pageable _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:1787
ID3D12PageableVtbl::_In_reads_bytes_opt_
ID3D12Pageable _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12PageableVtbl::guid
ID3D12Pageable _In_ REFGUID guid
Definition mini_d3d12.h:1772
ID3D12PipelineStateVtbl
Definition mini_d3d12.h:5438
ID3D12PipelineStateVtbl::pData
ID3D12PipelineState _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:5460
ID3D12PipelineStateVtbl::ppvDevice
ID3D12PipelineState REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:5484
ID3D12PipelineStateVtbl::riid
ID3D12PipelineState REFIID riid
Definition mini_d3d12.h:5483
ID3D12PipelineStateVtbl::_In_reads_bytes_opt_
ID3D12PipelineState _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12PipelineStateVtbl::This
ID3D12PipelineState * This
Definition mini_d3d12.h:5449
ID3D12PipelineStateVtbl::ppBlob
ID3D12PipelineState _COM_Outptr_ ID3DBlob ** ppBlob
Definition mini_d3d12.h:5489
ID3D12PipelineStateVtbl::DataSize
ID3D12PipelineState _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:5466
ID3D12PipelineStateVtbl::pDataSize
ID3D12PipelineState _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:5459
ID3D12PipelineStateVtbl::guid
ID3D12PipelineState _In_ REFGUID guid
Definition mini_d3d12.h:5458
ID3D12PipelineStateVtbl::pData
ID3D12PipelineState _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:5473
ID3D12PipelineStateVtbl::Name
ID3D12PipelineState _In_z_ LPCWSTR Name
Definition mini_d3d12.h:5478
ID3D12QueryHeapVtbl
Definition mini_d3d12.h:5680
ID3D12QueryHeapVtbl::riid
ID3D12QueryHeap REFIID riid
Definition mini_d3d12.h:5725
ID3D12QueryHeapVtbl::This
ID3D12QueryHeap * This
Definition mini_d3d12.h:5691
ID3D12QueryHeapVtbl::Name
ID3D12QueryHeap _In_z_ LPCWSTR Name
Definition mini_d3d12.h:5720
ID3D12QueryHeapVtbl::guid
ID3D12QueryHeap _In_ REFGUID guid
Definition mini_d3d12.h:5700
ID3D12QueryHeapVtbl::pDataSize
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:5701
ID3D12QueryHeapVtbl::pData
ID3D12QueryHeap _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:5702
ID3D12QueryHeapVtbl::DataSize
ID3D12QueryHeap _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:5708
ID3D12QueryHeapVtbl::pData
ID3D12QueryHeap _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:5715
ID3D12QueryHeapVtbl::ppvDevice
ID3D12QueryHeap REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:5726
ID3D12QueryHeapVtbl::_In_reads_bytes_opt_
ID3D12QueryHeap _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12ResourceVtbl
Definition mini_d3d12.h:3149
ID3D12ResourceVtbl::ppvDevice
ID3D12Resource REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:3195
ID3D12ResourceVtbl::pSrcData
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void * pSrcData
Definition mini_d3d12.h:3222
ID3D12ResourceVtbl::DstRowPitch
ID3D12Resource _Out_ void UINT DstRowPitch
Definition mini_d3d12.h:3230
ID3D12ResourceVtbl::pDstData
ID3D12Resource _Out_ void * pDstData
Definition mini_d3d12.h:3229
ID3D12ResourceVtbl::DstSubresource
ID3D12Resource UINT DstSubresource
Definition mini_d3d12.h:3220
ID3D12ResourceVtbl::_In_reads_bytes_opt_
ID3D12Resource _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12ResourceVtbl::pHeapFlags
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES _Out_opt_ D3D12_HEAP_FLAGS * pHeapFlags
Definition mini_d3d12.h:3239
ID3D12ResourceVtbl::pReadRange
ID3D12Resource UINT _In_opt_ const D3D12_RANGE * pReadRange
Definition mini_d3d12.h:3201
ID3D12ResourceVtbl::pSrcBox
ID3D12Resource _Out_ void UINT UINT UINT _In_opt_ const D3D12_BOX * pSrcBox
Definition mini_d3d12.h:3233
ID3D12ResourceVtbl::DstDepthPitch
ID3D12Resource _Out_ void UINT UINT DstDepthPitch
Definition mini_d3d12.h:3231
ID3D12ResourceVtbl::riid
ID3D12Resource REFIID riid
Definition mini_d3d12.h:3194
ID3D12ResourceVtbl::SrcDepthPitch
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT UINT SrcDepthPitch
Definition mini_d3d12.h:3224
ID3D12ResourceVtbl::DataSize
ID3D12Resource _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:3177
ID3D12ResourceVtbl::This
ID3D12Resource * This
Definition mini_d3d12.h:3160
ID3D12ResourceVtbl::pData
ID3D12Resource _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:3171
ID3D12ResourceVtbl::void
void(STDMETHODCALLTYPE *Unmap)(ID3D12Resource *This
ID3D12ResourceVtbl::pHeapProperties
ID3D12Resource _Out_opt_ D3D12_HEAP_PROPERTIES * pHeapProperties
Definition mini_d3d12.h:3238
ID3D12ResourceVtbl::guid
ID3D12Resource _In_ REFGUID guid
Definition mini_d3d12.h:3169
ID3D12ResourceVtbl::pData
ID3D12Resource _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:3184
ID3D12ResourceVtbl::_Outptr_opt_result_bytebuffer_
ID3D12Resource UINT _In_opt_ const D3D12_RANGE _Outptr_opt_result_bytebuffer_(_Inexpressible_("Dependent on resource")) void **ppData)
ID3D12ResourceVtbl::Subresource
ID3D12Resource UINT Subresource
Definition mini_d3d12.h:3200
ID3D12ResourceVtbl::Name
ID3D12Resource _In_z_ LPCWSTR Name
Definition mini_d3d12.h:3189
ID3D12ResourceVtbl::SrcRowPitch
ID3D12Resource UINT _In_opt_ const D3D12_BOX _In_ const void UINT SrcRowPitch
Definition mini_d3d12.h:3223
ID3D12ResourceVtbl::pDataSize
ID3D12Resource _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:3170
ID3D12ResourceVtbl::pDstBox
ID3D12Resource UINT _In_opt_ const D3D12_BOX * pDstBox
Definition mini_d3d12.h:3221
ID3D12ResourceVtbl::SrcSubresource
ID3D12Resource _Out_ void UINT UINT UINT SrcSubresource
Definition mini_d3d12.h:3232
ID3D12ResourceVtbl::pWrittenRange
UINT _In_opt_ const D3D12_RANGE * pWrittenRange
Definition mini_d3d12.h:3207
ID3D12RootSignatureVtbl
Definition mini_d3d12.h:1652
ID3D12RootSignatureVtbl::_In_reads_bytes_opt_
ID3D12RootSignature _In_ REFGUID _In_ UINT _In_reads_bytes_opt_(DataSize) const void *pData)
ID3D12RootSignatureVtbl::Name
ID3D12RootSignature _In_z_ LPCWSTR Name
Definition mini_d3d12.h:1692
ID3D12RootSignatureVtbl::ppvDevice
ID3D12RootSignature REFIID _COM_Outptr_opt_ void ** ppvDevice
Definition mini_d3d12.h:1698
ID3D12RootSignatureVtbl::pData
ID3D12RootSignature _In_ REFGUID _In_opt_ const IUnknown * pData
Definition mini_d3d12.h:1687
ID3D12RootSignatureVtbl::guid
ID3D12RootSignature _In_ REFGUID guid
Definition mini_d3d12.h:1672
ID3D12RootSignatureVtbl::This
ID3D12RootSignature * This
Definition mini_d3d12.h:1663
ID3D12RootSignatureVtbl::pData
ID3D12RootSignature _In_ REFGUID _Inout_ UINT _Out_writes_bytes_opt_ pDataSize void * pData
Definition mini_d3d12.h:1674
ID3D12RootSignatureVtbl::DataSize
ID3D12RootSignature _In_ REFGUID _In_ UINT DataSize
Definition mini_d3d12.h:1680
ID3D12RootSignatureVtbl::riid
ID3D12RootSignature REFIID riid
Definition mini_d3d12.h:1697
ID3D12RootSignatureVtbl::pDataSize
ID3D12RootSignature _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:1673
IDXGIAdapter1Vtbl
Definition mini_d3d12.h:6633
IDXGIAdapter1Vtbl::Name
IDXGIAdapter1 _In_ REFGUID Name
Definition mini_d3d12.h:6655
IDXGIAdapter1Vtbl::pDesc
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC1 * pDesc
Definition mini_d3d12.h:6711
IDXGIAdapter1Vtbl::ppParent
IDXGIAdapter1 _In_ REFIID _COM_Outptr_ void ** ppParent
Definition mini_d3d12.h:6684
IDXGIAdapter1Vtbl::pUMDVersion
IDXGIAdapter1 _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition mini_d3d12.h:6705
IDXGIAdapter1Vtbl::ppOutput
IDXGIAdapter1 UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition mini_d3d12.h:6691
IDXGIAdapter1Vtbl::pUnknown
IDXGIAdapter1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition mini_d3d12.h:6666
IDXGIAdapter1Vtbl::InterfaceName
IDXGIAdapter1 _In_ REFGUID InterfaceName
Definition mini_d3d12.h:6703
IDXGIAdapter1Vtbl::pDataSize
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:6674
IDXGIAdapter1Vtbl::pData
IDXGIAdapter1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition mini_d3d12.h:6676
IDXGIAdapter1Vtbl::This
IDXGIAdapter1 * This
Definition mini_d3d12.h:6645
IDXGIAdapter1Vtbl::Output
IDXGIAdapter1 UINT Output
Definition mini_d3d12.h:6689
IDXGIAdapter1Vtbl::riid
IDXGIAdapter1 _In_ REFIID riid
Definition mini_d3d12.h:6682
IDXGIAdapter1Vtbl::_In_reads_bytes_
IDXGIAdapter1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIAdapter1Vtbl::pDesc
IDXGIAdapter1 _Out_ DXGI_ADAPTER_DESC * pDesc
Definition mini_d3d12.h:6697
IDXGIAdapter1Vtbl::DataSize
IDXGIAdapter1 _In_ REFGUID UINT DataSize
Definition mini_d3d12.h:6656
IDXGIAdapterVtbl
Definition mini_d3d12.h:6314
IDXGIAdapterVtbl::ppParent
IDXGIAdapter _In_ REFIID _COM_Outptr_ void ** ppParent
Definition mini_d3d12.h:6365
IDXGIAdapterVtbl::InterfaceName
IDXGIAdapter _In_ REFGUID InterfaceName
Definition mini_d3d12.h:6384
IDXGIAdapterVtbl::pDataSize
IDXGIAdapter _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:6355
IDXGIAdapterVtbl::Name
IDXGIAdapter _In_ REFGUID Name
Definition mini_d3d12.h:6336
IDXGIAdapterVtbl::riid
IDXGIAdapter _In_ REFIID riid
Definition mini_d3d12.h:6363
IDXGIAdapterVtbl::pUnknown
IDXGIAdapter _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition mini_d3d12.h:6347
IDXGIAdapterVtbl::_In_reads_bytes_
IDXGIAdapter _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIAdapterVtbl::Output
IDXGIAdapter UINT Output
Definition mini_d3d12.h:6370
IDXGIAdapterVtbl::pDesc
IDXGIAdapter _Out_ DXGI_ADAPTER_DESC * pDesc
Definition mini_d3d12.h:6378
IDXGIAdapterVtbl::ppOutput
IDXGIAdapter UINT _COM_Outptr_ IDXGIOutput ** ppOutput
Definition mini_d3d12.h:6372
IDXGIAdapterVtbl::DataSize
IDXGIAdapter _In_ REFGUID UINT DataSize
Definition mini_d3d12.h:6337
IDXGIAdapterVtbl::pData
IDXGIAdapter _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition mini_d3d12.h:6357
IDXGIAdapterVtbl::pUMDVersion
IDXGIAdapter _In_ REFGUID _Out_ LARGE_INTEGER * pUMDVersion
Definition mini_d3d12.h:6386
IDXGIAdapterVtbl::This
IDXGIAdapter * This
Definition mini_d3d12.h:6326
IDXGIFactory1Vtbl
Definition mini_d3d12.h:6456
IDXGIFactory1Vtbl::WindowHandle
IDXGIFactory1 HWND WindowHandle
Definition mini_d3d12.h:6519
IDXGIFactory1Vtbl::ppAdapter
IDXGIFactory1 HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition mini_d3d12.h:6543
IDXGIFactory1Vtbl::pUnknown
IDXGIFactory1 _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition mini_d3d12.h:6489
IDXGIFactory1Vtbl::Adapter
IDXGIFactory1 UINT Adapter
Definition mini_d3d12.h:6512
IDXGIFactory1Vtbl::pWindowHandle
IDXGIFactory1 _Out_ HWND * pWindowHandle
Definition mini_d3d12.h:6526
IDXGIFactory1Vtbl::This
IDXGIFactory1 * This
Definition mini_d3d12.h:6468
IDXGIFactory1Vtbl::ppParent
IDXGIFactory1 _In_ REFIID _COM_Outptr_ void ** ppParent
Definition mini_d3d12.h:6507
IDXGIFactory1Vtbl::pDesc
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition mini_d3d12.h:6534
IDXGIFactory1Vtbl::Flags
IDXGIFactory1 HWND UINT Flags
Definition mini_d3d12.h:6520
IDXGIFactory1Vtbl::Name
IDXGIFactory1 _In_ REFGUID Name
Definition mini_d3d12.h:6478
IDXGIFactory1Vtbl::Module
IDXGIFactory1 HMODULE Module
Definition mini_d3d12.h:6541
IDXGIFactory1Vtbl::DataSize
IDXGIFactory1 _In_ REFGUID UINT DataSize
Definition mini_d3d12.h:6479
IDXGIFactory1Vtbl::_In_reads_bytes_
IDXGIFactory1 _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactory1Vtbl::ppSwapChain
IDXGIFactory1 _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition mini_d3d12.h:6536
IDXGIFactory1Vtbl::riid
IDXGIFactory1 _In_ REFIID riid
Definition mini_d3d12.h:6505
IDXGIFactory1Vtbl::pData
IDXGIFactory1 _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition mini_d3d12.h:6499
IDXGIFactory1Vtbl::pDevice
IDXGIFactory1 _In_ IUnknown * pDevice
Definition mini_d3d12.h:6532
IDXGIFactory1Vtbl::ppAdapter
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition mini_d3d12.h:6514
IDXGIFactory1Vtbl::pDataSize
IDXGIFactory1 _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:6497
IDXGIFactory1Vtbl::ppAdapter
IDXGIFactory1 UINT _COM_Outptr_ IDXGIAdapter1 ** ppAdapter
Definition mini_d3d12.h:6550
IDXGIFactoryVtbl
Definition mini_d3d12.h:6141
IDXGIFactoryVtbl::ppSwapChain
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC _COM_Outptr_ IDXGISwapChain ** ppSwapChain
Definition mini_d3d12.h:6221
IDXGIFactoryVtbl::pWindowHandle
IDXGIFactory _Out_ HWND * pWindowHandle
Definition mini_d3d12.h:6211
IDXGIFactoryVtbl::Adapter
IDXGIFactory UINT Adapter
Definition mini_d3d12.h:6197
IDXGIFactoryVtbl::pDesc
IDXGIFactory _In_ IUnknown _In_ DXGI_SWAP_CHAIN_DESC * pDesc
Definition mini_d3d12.h:6219
IDXGIFactoryVtbl::WindowHandle
IDXGIFactory HWND WindowHandle
Definition mini_d3d12.h:6204
IDXGIFactoryVtbl::pUnknown
IDXGIFactory _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition mini_d3d12.h:6174
IDXGIFactoryVtbl::DataSize
IDXGIFactory _In_ REFGUID UINT DataSize
Definition mini_d3d12.h:6164
IDXGIFactoryVtbl::riid
IDXGIFactory _In_ REFIID riid
Definition mini_d3d12.h:6190
IDXGIFactoryVtbl::This
IDXGIFactory * This
Definition mini_d3d12.h:6153
IDXGIFactoryVtbl::pDataSize
IDXGIFactory _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:6182
IDXGIFactoryVtbl::Module
IDXGIFactory HMODULE Module
Definition mini_d3d12.h:6226
IDXGIFactoryVtbl::_In_reads_bytes_
IDXGIFactory _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIFactoryVtbl::Name
IDXGIFactory _In_ REFGUID Name
Definition mini_d3d12.h:6163
IDXGIFactoryVtbl::pDevice
IDXGIFactory _In_ IUnknown * pDevice
Definition mini_d3d12.h:6217
IDXGIFactoryVtbl::ppAdapter
IDXGIFactory UINT _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition mini_d3d12.h:6199
IDXGIFactoryVtbl::ppParent
IDXGIFactory _In_ REFIID _COM_Outptr_ void ** ppParent
Definition mini_d3d12.h:6192
IDXGIFactoryVtbl::pData
IDXGIFactory _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition mini_d3d12.h:6184
IDXGIFactoryVtbl::ppAdapter
IDXGIFactory HMODULE _COM_Outptr_ IDXGIAdapter ** ppAdapter
Definition mini_d3d12.h:6228
IDXGIFactoryVtbl::Flags
IDXGIFactory HWND UINT Flags
Definition mini_d3d12.h:6205
IDXGIObjectVtbl
Definition mini_d3d12.h:6010
IDXGIObjectVtbl::_In_reads_bytes_
IDXGIObject _In_ REFGUID UINT _In_reads_bytes_(DataSize) const void *pData)
IDXGIObjectVtbl::Name
IDXGIObject _In_ REFGUID Name
Definition mini_d3d12.h:6032
IDXGIObjectVtbl::riid
IDXGIObject _In_ REFIID riid
Definition mini_d3d12.h:6059
IDXGIObjectVtbl::pUnknown
IDXGIObject _In_ REFGUID _In_opt_ const IUnknown * pUnknown
Definition mini_d3d12.h:6043
IDXGIObjectVtbl::DataSize
IDXGIObject _In_ REFGUID UINT DataSize
Definition mini_d3d12.h:6033
IDXGIObjectVtbl::This
IDXGIObject * This
Definition mini_d3d12.h:6022
IDXGIObjectVtbl::ppParent
IDXGIObject _In_ REFIID _COM_Outptr_ void ** ppParent
Definition mini_d3d12.h:6061
IDXGIObjectVtbl::pDataSize
IDXGIObject _In_ REFGUID _Inout_ UINT * pDataSize
Definition mini_d3d12.h:6051
IDXGIObjectVtbl::pData
IDXGIObject _In_ REFGUID _Inout_ UINT _Out_writes_bytes_ pDataSize void * pData
Definition mini_d3d12.h:6053
IUnknownVtbl
Definition mini_d3d12.h:846
IUnknownVtbl::This
IUnknown * This
Definition mini_d3d12.h:858
tagRECT
Definition mini_d3d12.h:445
tagRECT::right
LONG right
Definition mini_d3d12.h:448
tagRECT::bottom
LONG bottom
Definition mini_d3d12.h:449
tagRECT::top
LONG top
Definition mini_d3d12.h:447
tagRECT::left
LONG left
Definition mini_d3d12.h:446
_LARGE_INTEGER
Definition mini_d3d12.h:310
_LARGE_INTEGER::LowPart
DWORD LowPart
Definition mini_d3d12.h:312
_LARGE_INTEGER::QuadPart
LONGLONG QuadPart
Definition mini_d3d12.h:319
_LARGE_INTEGER::u
struct _LARGE_INTEGER::@5 u
_LARGE_INTEGER::HighPart
LONG HighPart
Definition mini_d3d12.h:313
_LARGE_INTEGER::DUMMYSTRUCTNAME
struct _LARGE_INTEGER::@4 DUMMYSTRUCTNAME