aboutsummaryrefslogtreecommitdiff
path: root/contrib/DirectX-Headers-1.618.2/include/directx/d3d12compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/DirectX-Headers-1.618.2/include/directx/d3d12compiler.h')
-rw-r--r--contrib/DirectX-Headers-1.618.2/include/directx/d3d12compiler.h977
1 files changed, 977 insertions, 0 deletions
diff --git a/contrib/DirectX-Headers-1.618.2/include/directx/d3d12compiler.h b/contrib/DirectX-Headers-1.618.2/include/directx/d3d12compiler.h
new file mode 100644
index 0000000..1d8fe3b
--- /dev/null
+++ b/contrib/DirectX-Headers-1.618.2/include/directx/d3d12compiler.h
@@ -0,0 +1,977 @@
1/*-------------------------------------------------------------------------------------
2 *
3 * Copyright (c) Microsoft Corporation
4 * Licensed under the MIT license
5 *
6 *-------------------------------------------------------------------------------------*/
7
8
9/* this ALWAYS GENERATED file contains the definitions for the interfaces */
10
11
12 /* File created by MIDL compiler version 8.01.0628 */
13
14
15
16/* verify that the <rpcndr.h> version is high enough to compile this file*/
17#ifndef __REQUIRED_RPCNDR_H_VERSION__
18#define __REQUIRED_RPCNDR_H_VERSION__ 500
19#endif
20
21/* verify that the <rpcsal.h> version is high enough to compile this file*/
22#ifndef __REQUIRED_RPCSAL_H_VERSION__
23#define __REQUIRED_RPCSAL_H_VERSION__ 100
24#endif
25
26#include "rpc.h"
27#include "rpcndr.h"
28
29#ifndef __RPCNDR_H_VERSION__
30#error this stub requires an updated version of <rpcndr.h>
31#endif /* __RPCNDR_H_VERSION__ */
32
33#ifndef COM_NO_WINDOWS_H
34#include "windows.h"
35#include "ole2.h"
36#endif /*COM_NO_WINDOWS_H*/
37
38#ifndef __d3d12compiler_h__
39#define __d3d12compiler_h__
40
41#if defined(_MSC_VER) && (_MSC_VER >= 1020)
42#pragma once
43#endif
44
45#ifndef DECLSPEC_XFGVIRT
46#if defined(_CONTROL_FLOW_GUARD_XFG)
47#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
48#else
49#define DECLSPEC_XFGVIRT(base, func)
50#endif
51#endif
52
53/* Forward Declarations */
54
55#ifndef __ID3D12CompilerFactoryChild_FWD_DEFINED__
56#define __ID3D12CompilerFactoryChild_FWD_DEFINED__
57typedef interface ID3D12CompilerFactoryChild ID3D12CompilerFactoryChild;
58
59#endif /* __ID3D12CompilerFactoryChild_FWD_DEFINED__ */
60
61
62#ifndef __ID3D12CompilerCacheSession_FWD_DEFINED__
63#define __ID3D12CompilerCacheSession_FWD_DEFINED__
64typedef interface ID3D12CompilerCacheSession ID3D12CompilerCacheSession;
65
66#endif /* __ID3D12CompilerCacheSession_FWD_DEFINED__ */
67
68
69#ifndef __ID3D12CompilerStateObject_FWD_DEFINED__
70#define __ID3D12CompilerStateObject_FWD_DEFINED__
71typedef interface ID3D12CompilerStateObject ID3D12CompilerStateObject;
72
73#endif /* __ID3D12CompilerStateObject_FWD_DEFINED__ */
74
75
76#ifndef __ID3D12Compiler_FWD_DEFINED__
77#define __ID3D12Compiler_FWD_DEFINED__
78typedef interface ID3D12Compiler ID3D12Compiler;
79
80#endif /* __ID3D12Compiler_FWD_DEFINED__ */
81
82
83#ifndef __ID3D12CompilerFactory_FWD_DEFINED__
84#define __ID3D12CompilerFactory_FWD_DEFINED__
85typedef interface ID3D12CompilerFactory ID3D12CompilerFactory;
86
87#endif /* __ID3D12CompilerFactory_FWD_DEFINED__ */
88
89
90/* header files for imported files */
91#include "oaidl.h"
92#include "ocidl.h"
93#include "dxgicommon.h"
94#include "d3d12.h"
95
96#ifdef __cplusplus
97extern "C"{
98#endif
99
100
101/* interface __MIDL_itf_d3d12compiler_0000_0000 */
102/* [local] */
103
104#include <winapifamily.h>
105#pragma region App Family
106#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES)
107typedef struct D3D12_ADAPTER_FAMILY
108 {
109 WCHAR szAdapterFamily[ 128 ];
110 } D3D12_ADAPTER_FAMILY;
111
112typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)(
113 _In_ LPCWSTR pPluginCompilerDllPath,
114 _In_ REFIID riid,
115 _COM_Outptr_opt_ void** ppFactory );
116
117HRESULT WINAPI D3D12CompilerCreateFactory(
118 _In_ LPCWSTR pPluginCompilerDllPath,
119 _In_ REFIID riid, // Expected: ID3D12CompilerFactory
120 _COM_Outptr_opt_ void** ppFactory );
121
122typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_SERIALIZE_VERSIONED_ROOT_SIGNATURE)(
123 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
124 _Out_ ID3DBlob** ppBlob,
125 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
126
127HRESULT WINAPI D3D12CompilerSerializeVersionedRootSignature(
128 _In_ const D3D12_VERSIONED_ROOT_SIGNATURE_DESC* pRootSignature,
129 _Out_ ID3DBlob** ppBlob,
130 _Always_(_Outptr_opt_result_maybenull_) ID3DBlob** ppErrorBlob);
131
132
133
134extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_c_ifspec;
135extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_s_ifspec;
136
137#ifndef __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__
138#define __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__
139
140/* interface ID3D12CompilerFactoryChild */
141/* [unique][local][object][uuid] */
142
143
144EXTERN_C const IID IID_ID3D12CompilerFactoryChild;
145
146#if defined(__cplusplus) && !defined(CINTERFACE)
147
148 MIDL_INTERFACE("e0d06420-9f31-47e8-ae9a-dd2ba25ac0bc")
149 ID3D12CompilerFactoryChild : public IUnknown
150 {
151 public:
152 virtual HRESULT STDMETHODCALLTYPE GetFactory(
153 _In_ REFIID riid,
154 _COM_Outptr_ void **ppCompilerFactory) = 0;
155
156 };
157
158
159#else /* C style interface */
160
161 typedef struct ID3D12CompilerFactoryChildVtbl
162 {
163 BEGIN_INTERFACE
164
165 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
166 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
167 ID3D12CompilerFactoryChild * This,
168 REFIID riid,
169 _COM_Outptr_ void **ppvObject);
170
171 DECLSPEC_XFGVIRT(IUnknown, AddRef)
172 ULONG ( STDMETHODCALLTYPE *AddRef )(
173 ID3D12CompilerFactoryChild * This);
174
175 DECLSPEC_XFGVIRT(IUnknown, Release)
176 ULONG ( STDMETHODCALLTYPE *Release )(
177 ID3D12CompilerFactoryChild * This);
178
179 DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)
180 HRESULT ( STDMETHODCALLTYPE *GetFactory )(
181 ID3D12CompilerFactoryChild * This,
182 _In_ REFIID riid,
183 _COM_Outptr_ void **ppCompilerFactory);
184
185 END_INTERFACE
186 } ID3D12CompilerFactoryChildVtbl;
187
188 interface ID3D12CompilerFactoryChild
189 {
190 CONST_VTBL struct ID3D12CompilerFactoryChildVtbl *lpVtbl;
191 };
192
193
194
195#ifdef COBJMACROS
196
197
198#define ID3D12CompilerFactoryChild_QueryInterface(This,riid,ppvObject) \
199 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
200
201#define ID3D12CompilerFactoryChild_AddRef(This) \
202 ( (This)->lpVtbl -> AddRef(This) )
203
204#define ID3D12CompilerFactoryChild_Release(This) \
205 ( (This)->lpVtbl -> Release(This) )
206
207
208#define ID3D12CompilerFactoryChild_GetFactory(This,riid,ppCompilerFactory) \
209 ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )
210
211#endif /* COBJMACROS */
212
213
214#endif /* C style interface */
215
216
217
218
219#endif /* __ID3D12CompilerFactoryChild_INTERFACE_DEFINED__ */
220
221
222/* interface __MIDL_itf_d3d12compiler_0000_0001 */
223/* [local] */
224
225typedef
226enum D3D12_COMPILER_VALUE_TYPE
227 {
228 D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE = 0,
229 D3D12_COMPILER_VALUE_TYPE_METADATA = 1,
230 D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB = 2,
231 D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA = 3
232 } D3D12_COMPILER_VALUE_TYPE;
233
234typedef
235enum D3D12_COMPILER_VALUE_TYPE_FLAGS
236 {
237 D3D12_COMPILER_VALUE_TYPE_FLAGS_NONE = 0,
238 D3D12_COMPILER_VALUE_TYPE_FLAGS_OBJECT_CODE = ( 1 << D3D12_COMPILER_VALUE_TYPE_OBJECT_CODE ) ,
239 D3D12_COMPILER_VALUE_TYPE_FLAGS_METADATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_METADATA ) ,
240 D3D12_COMPILER_VALUE_TYPE_FLAGS_DEBUG_PDB = ( 1 << D3D12_COMPILER_VALUE_TYPE_DEBUG_PDB ) ,
241 D3D12_COMPILER_VALUE_TYPE_FLAGS_PERFORMANCE_DATA = ( 1 << D3D12_COMPILER_VALUE_TYPE_PERFORMANCE_DATA )
242 } D3D12_COMPILER_VALUE_TYPE_FLAGS;
243
244DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )
245typedef struct D3D12_COMPILER_DATABASE_PATH
246 {
247 D3D12_COMPILER_VALUE_TYPE_FLAGS Types;
248 LPCWSTR pPath;
249 } D3D12_COMPILER_DATABASE_PATH;
250
251typedef struct D3D12_COMPILER_CACHE_GROUP_KEY
252 {
253 _Field_size_bytes_full_(KeySize) const void *pKey;
254 UINT KeySize;
255 } D3D12_COMPILER_CACHE_GROUP_KEY;
256
257typedef struct D3D12_COMPILER_CACHE_VALUE_KEY
258 {
259 _Field_size_bytes_full_(KeySize) const void *pKey;
260 UINT KeySize;
261 } D3D12_COMPILER_CACHE_VALUE_KEY;
262
263typedef struct D3D12_COMPILER_CACHE_VALUE
264 {
265 _Field_size_bytes_full_(ValueSize) void *pValue;
266 UINT ValueSize;
267 } D3D12_COMPILER_CACHE_VALUE;
268
269typedef struct D3D12_COMPILER_CACHE_TYPED_VALUE
270 {
271 D3D12_COMPILER_VALUE_TYPE Type;
272 D3D12_COMPILER_CACHE_VALUE Value;
273 } D3D12_COMPILER_CACHE_TYPED_VALUE;
274
275typedef struct D3D12_COMPILER_CACHE_CONST_VALUE
276 {
277 _Field_size_bytes_full_(ValueSize) const void *pValue;
278 UINT ValueSize;
279 } D3D12_COMPILER_CACHE_CONST_VALUE;
280
281typedef struct D3D12_COMPILER_CACHE_TYPED_CONST_VALUE
282 {
283 D3D12_COMPILER_VALUE_TYPE Type;
284 D3D12_COMPILER_CACHE_CONST_VALUE Value;
285 } D3D12_COMPILER_CACHE_TYPED_CONST_VALUE;
286
287typedef struct D3D12_COMPILER_TARGET
288 {
289 UINT AdapterFamilyIndex;
290 UINT64 ABIVersion;
291 } D3D12_COMPILER_TARGET;
292
293typedef void *( __stdcall *D3D12CompilerCacheSessionAllocationFunc )(
294 SIZE_T SizeInBytes,
295 _Inout_opt_ void *pContext);
296
297typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValueKeysFunc )(
298 _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
299 _Inout_opt_ void *pContext);
300
301typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValuesFunc )(
302 UINT ValueKeyIndex,
303 _In_ const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValue,
304 _Inout_opt_ void *pContext);
305
306
307
308extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_c_ifspec;
309extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_s_ifspec;
310
311#ifndef __ID3D12CompilerCacheSession_INTERFACE_DEFINED__
312#define __ID3D12CompilerCacheSession_INTERFACE_DEFINED__
313
314/* interface ID3D12CompilerCacheSession */
315/* [unique][local][object][uuid] */
316
317
318EXTERN_C const IID IID_ID3D12CompilerCacheSession;
319
320#if defined(__cplusplus) && !defined(CINTERFACE)
321
322 MIDL_INTERFACE("5704e5e6-054b-4738-b661-7b0d68d8dde2")
323 ID3D12CompilerCacheSession : public ID3D12CompilerFactoryChild
324 {
325 public:
326 virtual HRESULT STDMETHODCALLTYPE FindGroup(
327 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
328 _Out_opt_ UINT *pGroupVersion) = 0;
329
330 virtual HRESULT STDMETHODCALLTYPE FindGroupValueKeys(
331 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
332 _In_opt_ const UINT *pExpectedGroupVersion,
333 _In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,
334 _Inout_opt_ void *pContext) = 0;
335
336 virtual HRESULT STDMETHODCALLTYPE FindGroupValues(
337 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
338 _In_opt_ const UINT *pExpectedGroupVersion,
339 D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,
340 _In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,
341 _Inout_opt_ void *pContext) = 0;
342
343 virtual HRESULT STDMETHODCALLTYPE FindValue(
344 _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
345 _Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues,
346 UINT NumTypedValues,
347 _In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,
348 _Inout_opt_ void *pContext) = 0;
349
350 virtual const D3D12_APPLICATION_DESC *STDMETHODCALLTYPE GetApplicationDesc( void) = 0;
351
352#if defined(_MSC_VER) || !defined(_WIN32)
353 virtual D3D12_COMPILER_TARGET STDMETHODCALLTYPE GetCompilerTarget( void) = 0;
354#else
355 virtual D3D12_COMPILER_TARGET *STDMETHODCALLTYPE GetCompilerTarget(
356 D3D12_COMPILER_TARGET * RetVal) = 0;
357#endif
358
359 virtual D3D12_COMPILER_VALUE_TYPE_FLAGS STDMETHODCALLTYPE GetValueTypes( void) = 0;
360
361 virtual HRESULT STDMETHODCALLTYPE StoreGroupValueKeys(
362 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
363 UINT GroupVersion,
364 _In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys,
365 UINT NumValueKeys) = 0;
366
367 virtual HRESULT STDMETHODCALLTYPE StoreValue(
368 _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
369 _In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues,
370 UINT NumTypedValues) = 0;
371
372 };
373
374
375#else /* C style interface */
376
377 typedef struct ID3D12CompilerCacheSessionVtbl
378 {
379 BEGIN_INTERFACE
380
381 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
382 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
383 ID3D12CompilerCacheSession * This,
384 REFIID riid,
385 _COM_Outptr_ void **ppvObject);
386
387 DECLSPEC_XFGVIRT(IUnknown, AddRef)
388 ULONG ( STDMETHODCALLTYPE *AddRef )(
389 ID3D12CompilerCacheSession * This);
390
391 DECLSPEC_XFGVIRT(IUnknown, Release)
392 ULONG ( STDMETHODCALLTYPE *Release )(
393 ID3D12CompilerCacheSession * This);
394
395 DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)
396 HRESULT ( STDMETHODCALLTYPE *GetFactory )(
397 ID3D12CompilerCacheSession * This,
398 _In_ REFIID riid,
399 _COM_Outptr_ void **ppCompilerFactory);
400
401 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroup)
402 HRESULT ( STDMETHODCALLTYPE *FindGroup )(
403 ID3D12CompilerCacheSession * This,
404 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
405 _Out_opt_ UINT *pGroupVersion);
406
407 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValueKeys)
408 HRESULT ( STDMETHODCALLTYPE *FindGroupValueKeys )(
409 ID3D12CompilerCacheSession * This,
410 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
411 _In_opt_ const UINT *pExpectedGroupVersion,
412 _In_ D3D12CompilerCacheSessionGroupValueKeysFunc CallbackFunc,
413 _Inout_opt_ void *pContext);
414
415 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindGroupValues)
416 HRESULT ( STDMETHODCALLTYPE *FindGroupValues )(
417 ID3D12CompilerCacheSession * This,
418 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
419 _In_opt_ const UINT *pExpectedGroupVersion,
420 D3D12_COMPILER_VALUE_TYPE_FLAGS ValueTypeFlags,
421 _In_opt_ D3D12CompilerCacheSessionGroupValuesFunc CallbackFunc,
422 _Inout_opt_ void *pContext);
423
424 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, FindValue)
425 HRESULT ( STDMETHODCALLTYPE *FindValue )(
426 ID3D12CompilerCacheSession * This,
427 _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
428 _Inout_count_(NumTypedValues) D3D12_COMPILER_CACHE_TYPED_VALUE *pTypedValues,
429 UINT NumTypedValues,
430 _In_opt_ D3D12CompilerCacheSessionAllocationFunc pCallbackFunc,
431 _Inout_opt_ void *pContext);
432
433 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetApplicationDesc)
434 const D3D12_APPLICATION_DESC *( STDMETHODCALLTYPE *GetApplicationDesc )(
435 ID3D12CompilerCacheSession * This);
436
437 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetCompilerTarget)
438#if !defined(_WIN32)
439 D3D12_COMPILER_TARGET ( STDMETHODCALLTYPE *GetCompilerTarget )(
440 ID3D12CompilerCacheSession * This);
441
442#else
443 D3D12_COMPILER_TARGET *( STDMETHODCALLTYPE *GetCompilerTarget )(
444 ID3D12CompilerCacheSession * This,
445 D3D12_COMPILER_TARGET * RetVal);
446
447#endif
448
449 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, GetValueTypes)
450 D3D12_COMPILER_VALUE_TYPE_FLAGS ( STDMETHODCALLTYPE *GetValueTypes )(
451 ID3D12CompilerCacheSession * This);
452
453 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreGroupValueKeys)
454 HRESULT ( STDMETHODCALLTYPE *StoreGroupValueKeys )(
455 ID3D12CompilerCacheSession * This,
456 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
457 UINT GroupVersion,
458 _In_reads_(NumValueKeys) const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKeys,
459 UINT NumValueKeys);
460
461 DECLSPEC_XFGVIRT(ID3D12CompilerCacheSession, StoreValue)
462 HRESULT ( STDMETHODCALLTYPE *StoreValue )(
463 ID3D12CompilerCacheSession * This,
464 _In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
465 _In_reads_(NumTypedValues) const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValues,
466 UINT NumTypedValues);
467
468 END_INTERFACE
469 } ID3D12CompilerCacheSessionVtbl;
470
471 interface ID3D12CompilerCacheSession
472 {
473 CONST_VTBL struct ID3D12CompilerCacheSessionVtbl *lpVtbl;
474 };
475
476
477
478#ifdef COBJMACROS
479
480
481#define ID3D12CompilerCacheSession_QueryInterface(This,riid,ppvObject) \
482 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
483
484#define ID3D12CompilerCacheSession_AddRef(This) \
485 ( (This)->lpVtbl -> AddRef(This) )
486
487#define ID3D12CompilerCacheSession_Release(This) \
488 ( (This)->lpVtbl -> Release(This) )
489
490
491#define ID3D12CompilerCacheSession_GetFactory(This,riid,ppCompilerFactory) \
492 ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )
493
494
495#define ID3D12CompilerCacheSession_FindGroup(This,pGroupKey,pGroupVersion) \
496 ( (This)->lpVtbl -> FindGroup(This,pGroupKey,pGroupVersion) )
497
498#define ID3D12CompilerCacheSession_FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) \
499 ( (This)->lpVtbl -> FindGroupValueKeys(This,pGroupKey,pExpectedGroupVersion,CallbackFunc,pContext) )
500
501#define ID3D12CompilerCacheSession_FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) \
502 ( (This)->lpVtbl -> FindGroupValues(This,pGroupKey,pExpectedGroupVersion,ValueTypeFlags,CallbackFunc,pContext) )
503
504#define ID3D12CompilerCacheSession_FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) \
505 ( (This)->lpVtbl -> FindValue(This,pValueKey,pTypedValues,NumTypedValues,pCallbackFunc,pContext) )
506
507#define ID3D12CompilerCacheSession_GetApplicationDesc(This) \
508 ( (This)->lpVtbl -> GetApplicationDesc(This) )
509#if !defined(_WIN32)
510
511#define ID3D12CompilerCacheSession_GetCompilerTarget(This) \
512 ( (This)->lpVtbl -> GetCompilerTarget(This) )
513#else
514#define ID3D12CompilerCacheSession_GetCompilerTarget(This,RetVal) \
515 ( (This)->lpVtbl -> GetCompilerTarget(This,RetVal) )
516#endif
517
518#define ID3D12CompilerCacheSession_GetValueTypes(This) \
519 ( (This)->lpVtbl -> GetValueTypes(This) )
520
521#define ID3D12CompilerCacheSession_StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) \
522 ( (This)->lpVtbl -> StoreGroupValueKeys(This,pGroupKey,GroupVersion,pValueKeys,NumValueKeys) )
523
524#define ID3D12CompilerCacheSession_StoreValue(This,pValueKey,pTypedValues,NumTypedValues) \
525 ( (This)->lpVtbl -> StoreValue(This,pValueKey,pTypedValues,NumTypedValues) )
526
527#endif /* COBJMACROS */
528
529
530#endif /* C style interface */
531
532
533
534
535#endif /* __ID3D12CompilerCacheSession_INTERFACE_DEFINED__ */
536
537
538#ifndef __ID3D12CompilerStateObject_INTERFACE_DEFINED__
539#define __ID3D12CompilerStateObject_INTERFACE_DEFINED__
540
541/* interface ID3D12CompilerStateObject */
542/* [unique][local][object][uuid] */
543
544
545EXTERN_C const IID IID_ID3D12CompilerStateObject;
546
547#if defined(__cplusplus) && !defined(CINTERFACE)
548
549 MIDL_INTERFACE("5981cca4-e8ae-44ca-9b92-4fa86f5a3a3a")
550 ID3D12CompilerStateObject : public IUnknown
551 {
552 public:
553 virtual HRESULT STDMETHODCALLTYPE GetCompiler(
554 _In_ REFIID riid,
555 _COM_Outptr_ void **ppCompiler) = 0;
556
557 };
558
559
560#else /* C style interface */
561
562 typedef struct ID3D12CompilerStateObjectVtbl
563 {
564 BEGIN_INTERFACE
565
566 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
567 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
568 ID3D12CompilerStateObject * This,
569 REFIID riid,
570 _COM_Outptr_ void **ppvObject);
571
572 DECLSPEC_XFGVIRT(IUnknown, AddRef)
573 ULONG ( STDMETHODCALLTYPE *AddRef )(
574 ID3D12CompilerStateObject * This);
575
576 DECLSPEC_XFGVIRT(IUnknown, Release)
577 ULONG ( STDMETHODCALLTYPE *Release )(
578 ID3D12CompilerStateObject * This);
579
580 DECLSPEC_XFGVIRT(ID3D12CompilerStateObject, GetCompiler)
581 HRESULT ( STDMETHODCALLTYPE *GetCompiler )(
582 ID3D12CompilerStateObject * This,
583 _In_ REFIID riid,
584 _COM_Outptr_ void **ppCompiler);
585
586 END_INTERFACE
587 } ID3D12CompilerStateObjectVtbl;
588
589 interface ID3D12CompilerStateObject
590 {
591 CONST_VTBL struct ID3D12CompilerStateObjectVtbl *lpVtbl;
592 };
593
594
595
596#ifdef COBJMACROS
597
598
599#define ID3D12CompilerStateObject_QueryInterface(This,riid,ppvObject) \
600 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
601
602#define ID3D12CompilerStateObject_AddRef(This) \
603 ( (This)->lpVtbl -> AddRef(This) )
604
605#define ID3D12CompilerStateObject_Release(This) \
606 ( (This)->lpVtbl -> Release(This) )
607
608
609#define ID3D12CompilerStateObject_GetCompiler(This,riid,ppCompiler) \
610 ( (This)->lpVtbl -> GetCompiler(This,riid,ppCompiler) )
611
612#endif /* COBJMACROS */
613
614
615#endif /* C style interface */
616
617
618
619
620#endif /* __ID3D12CompilerStateObject_INTERFACE_DEFINED__ */
621
622
623/* interface __MIDL_itf_d3d12compiler_0000_0003 */
624/* [local] */
625
626typedef struct D3D12_COMPILER_EXISTING_COLLECTION_DESC
627 {
628 ID3D12CompilerStateObject *pExistingCollection;
629 UINT NumExports;
630 _In_reads_(NumExports) const D3D12_EXPORT_DESC *pExports;
631 } D3D12_COMPILER_EXISTING_COLLECTION_DESC;
632
633
634
635extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_c_ifspec;
636extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_s_ifspec;
637
638#ifndef __ID3D12Compiler_INTERFACE_DEFINED__
639#define __ID3D12Compiler_INTERFACE_DEFINED__
640
641/* interface ID3D12Compiler */
642/* [unique][local][object][uuid] */
643
644
645EXTERN_C const IID IID_ID3D12Compiler;
646
647#if defined(__cplusplus) && !defined(CINTERFACE)
648
649 MIDL_INTERFACE("8c403c12-993b-4583-80f1-6824138fa68e")
650 ID3D12Compiler : public ID3D12CompilerFactoryChild
651 {
652 public:
653 virtual HRESULT STDMETHODCALLTYPE CompilePipelineState(
654 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
655 UINT GroupVersion,
656 _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc) = 0;
657
658 virtual HRESULT STDMETHODCALLTYPE CompileStateObject(
659 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
660 UINT GroupVersion,
661 _In_ const D3D12_STATE_OBJECT_DESC *pDesc,
662 _In_ REFIID riid,
663 _COM_Outptr_ void **ppCompilerStateObject) = 0;
664
665 virtual HRESULT STDMETHODCALLTYPE CompileAddToStateObject(
666 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
667 UINT GroupVersion,
668 _In_ const D3D12_STATE_OBJECT_DESC *pAddition,
669 _In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom,
670 _In_ REFIID riid,
671 _COM_Outptr_ void **ppNewCompilerStateObject) = 0;
672
673 virtual HRESULT STDMETHODCALLTYPE GetCacheSession(
674 _In_ REFIID riid,
675 _COM_Outptr_ void **ppCompilerCacheSession) = 0;
676
677 };
678
679
680#else /* C style interface */
681
682 typedef struct ID3D12CompilerVtbl
683 {
684 BEGIN_INTERFACE
685
686 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
687 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
688 ID3D12Compiler * This,
689 REFIID riid,
690 _COM_Outptr_ void **ppvObject);
691
692 DECLSPEC_XFGVIRT(IUnknown, AddRef)
693 ULONG ( STDMETHODCALLTYPE *AddRef )(
694 ID3D12Compiler * This);
695
696 DECLSPEC_XFGVIRT(IUnknown, Release)
697 ULONG ( STDMETHODCALLTYPE *Release )(
698 ID3D12Compiler * This);
699
700 DECLSPEC_XFGVIRT(ID3D12CompilerFactoryChild, GetFactory)
701 HRESULT ( STDMETHODCALLTYPE *GetFactory )(
702 ID3D12Compiler * This,
703 _In_ REFIID riid,
704 _COM_Outptr_ void **ppCompilerFactory);
705
706 DECLSPEC_XFGVIRT(ID3D12Compiler, CompilePipelineState)
707 HRESULT ( STDMETHODCALLTYPE *CompilePipelineState )(
708 ID3D12Compiler * This,
709 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
710 UINT GroupVersion,
711 _In_ const D3D12_PIPELINE_STATE_STREAM_DESC *pDesc);
712
713 DECLSPEC_XFGVIRT(ID3D12Compiler, CompileStateObject)
714 HRESULT ( STDMETHODCALLTYPE *CompileStateObject )(
715 ID3D12Compiler * This,
716 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
717 UINT GroupVersion,
718 _In_ const D3D12_STATE_OBJECT_DESC *pDesc,
719 _In_ REFIID riid,
720 _COM_Outptr_ void **ppCompilerStateObject);
721
722 DECLSPEC_XFGVIRT(ID3D12Compiler, CompileAddToStateObject)
723 HRESULT ( STDMETHODCALLTYPE *CompileAddToStateObject )(
724 ID3D12Compiler * This,
725 _In_ const D3D12_COMPILER_CACHE_GROUP_KEY *pGroupKey,
726 UINT GroupVersion,
727 _In_ const D3D12_STATE_OBJECT_DESC *pAddition,
728 _In_ ID3D12CompilerStateObject *pCompilerStateObjectToGrowFrom,
729 _In_ REFIID riid,
730 _COM_Outptr_ void **ppNewCompilerStateObject);
731
732 DECLSPEC_XFGVIRT(ID3D12Compiler, GetCacheSession)
733 HRESULT ( STDMETHODCALLTYPE *GetCacheSession )(
734 ID3D12Compiler * This,
735 _In_ REFIID riid,
736 _COM_Outptr_ void **ppCompilerCacheSession);
737
738 END_INTERFACE
739 } ID3D12CompilerVtbl;
740
741 interface ID3D12Compiler
742 {
743 CONST_VTBL struct ID3D12CompilerVtbl *lpVtbl;
744 };
745
746
747
748#ifdef COBJMACROS
749
750
751#define ID3D12Compiler_QueryInterface(This,riid,ppvObject) \
752 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
753
754#define ID3D12Compiler_AddRef(This) \
755 ( (This)->lpVtbl -> AddRef(This) )
756
757#define ID3D12Compiler_Release(This) \
758 ( (This)->lpVtbl -> Release(This) )
759
760
761#define ID3D12Compiler_GetFactory(This,riid,ppCompilerFactory) \
762 ( (This)->lpVtbl -> GetFactory(This,riid,ppCompilerFactory) )
763
764
765#define ID3D12Compiler_CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) \
766 ( (This)->lpVtbl -> CompilePipelineState(This,pGroupKey,GroupVersion,pDesc) )
767
768#define ID3D12Compiler_CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) \
769 ( (This)->lpVtbl -> CompileStateObject(This,pGroupKey,GroupVersion,pDesc,riid,ppCompilerStateObject) )
770
771#define ID3D12Compiler_CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) \
772 ( (This)->lpVtbl -> CompileAddToStateObject(This,pGroupKey,GroupVersion,pAddition,pCompilerStateObjectToGrowFrom,riid,ppNewCompilerStateObject) )
773
774#define ID3D12Compiler_GetCacheSession(This,riid,ppCompilerCacheSession) \
775 ( (This)->lpVtbl -> GetCacheSession(This,riid,ppCompilerCacheSession) )
776
777#endif /* COBJMACROS */
778
779
780#endif /* C style interface */
781
782
783
784
785#endif /* __ID3D12Compiler_INTERFACE_DEFINED__ */
786
787
788#ifndef __ID3D12CompilerFactory_INTERFACE_DEFINED__
789#define __ID3D12CompilerFactory_INTERFACE_DEFINED__
790
791/* interface ID3D12CompilerFactory */
792/* [unique][local][object][uuid] */
793
794
795EXTERN_C const IID IID_ID3D12CompilerFactory;
796
797#if defined(__cplusplus) && !defined(CINTERFACE)
798
799 MIDL_INTERFACE("c1ee4b59-3f59-47a5-9b4e-a855c858a878")
800 ID3D12CompilerFactory : public IUnknown
801 {
802 public:
803 virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilies(
804 UINT AdapterFamilyIndex,
805 _Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily) = 0;
806
807 virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyABIVersions(
808 UINT AdapterFamilyIndex,
809 _Inout_ UINT32 *pNumABIVersions,
810 _Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions) = 0;
811
812 virtual HRESULT STDMETHODCALLTYPE EnumerateAdapterFamilyCompilerVersion(
813 UINT AdapterFamilyIndex,
814 _Out_ D3D12_VERSION_NUMBER *pCompilerVersion) = 0;
815
816 virtual HRESULT STDMETHODCALLTYPE GetApplicationProfileVersion(
817 _In_ const D3D12_COMPILER_TARGET *pTarget,
818 _In_ const D3D12_APPLICATION_DESC *pApplicationDesc,
819 _Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion) = 0;
820
821 virtual HRESULT STDMETHODCALLTYPE CreateCompilerCacheSession(
822 _In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths,
823 UINT NumPaths,
824 _In_opt_ const D3D12_COMPILER_TARGET *pTarget,
825 _In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc,
826 _In_ REFIID riid,
827 _COM_Outptr_ void **ppCompilerCacheSession) = 0;
828
829 virtual HRESULT STDMETHODCALLTYPE CreateCompiler(
830 _In_ ID3D12CompilerCacheSession *pCompilerCacheSession,
831 _In_ REFIID riid,
832 _COM_Outptr_ void **ppCompiler) = 0;
833
834 };
835
836
837#else /* C style interface */
838
839 typedef struct ID3D12CompilerFactoryVtbl
840 {
841 BEGIN_INTERFACE
842
843 DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
844 HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
845 ID3D12CompilerFactory * This,
846 REFIID riid,
847 _COM_Outptr_ void **ppvObject);
848
849 DECLSPEC_XFGVIRT(IUnknown, AddRef)
850 ULONG ( STDMETHODCALLTYPE *AddRef )(
851 ID3D12CompilerFactory * This);
852
853 DECLSPEC_XFGVIRT(IUnknown, Release)
854 ULONG ( STDMETHODCALLTYPE *Release )(
855 ID3D12CompilerFactory * This);
856
857 DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilies)
858 HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilies )(
859 ID3D12CompilerFactory * This,
860 UINT AdapterFamilyIndex,
861 _Out_ D3D12_ADAPTER_FAMILY *pAdapterFamily);
862
863 DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyABIVersions)
864 HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyABIVersions )(
865 ID3D12CompilerFactory * This,
866 UINT AdapterFamilyIndex,
867 _Inout_ UINT32 *pNumABIVersions,
868 _Out_writes_opt_(*pNumABIVersions) UINT64 *pABIVersions);
869
870 DECLSPEC_XFGVIRT(ID3D12CompilerFactory, EnumerateAdapterFamilyCompilerVersion)
871 HRESULT ( STDMETHODCALLTYPE *EnumerateAdapterFamilyCompilerVersion )(
872 ID3D12CompilerFactory * This,
873 UINT AdapterFamilyIndex,
874 _Out_ D3D12_VERSION_NUMBER *pCompilerVersion);
875
876 DECLSPEC_XFGVIRT(ID3D12CompilerFactory, GetApplicationProfileVersion)
877 HRESULT ( STDMETHODCALLTYPE *GetApplicationProfileVersion )(
878 ID3D12CompilerFactory * This,
879 _In_ const D3D12_COMPILER_TARGET *pTarget,
880 _In_ const D3D12_APPLICATION_DESC *pApplicationDesc,
881 _Out_ D3D12_VERSION_NUMBER *pApplicationProfileVersion);
882
883 DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompilerCacheSession)
884 HRESULT ( STDMETHODCALLTYPE *CreateCompilerCacheSession )(
885 ID3D12CompilerFactory * This,
886 _In_reads_(NumPaths) const D3D12_COMPILER_DATABASE_PATH *pPaths,
887 UINT NumPaths,
888 _In_opt_ const D3D12_COMPILER_TARGET *pTarget,
889 _In_opt_ const D3D12_APPLICATION_DESC *pApplicationDesc,
890 _In_ REFIID riid,
891 _COM_Outptr_ void **ppCompilerCacheSession);
892
893 DECLSPEC_XFGVIRT(ID3D12CompilerFactory, CreateCompiler)
894 HRESULT ( STDMETHODCALLTYPE *CreateCompiler )(
895 ID3D12CompilerFactory * This,
896 _In_ ID3D12CompilerCacheSession *pCompilerCacheSession,
897 _In_ REFIID riid,
898 _COM_Outptr_ void **ppCompiler);
899
900 END_INTERFACE
901 } ID3D12CompilerFactoryVtbl;
902
903 interface ID3D12CompilerFactory
904 {
905 CONST_VTBL struct ID3D12CompilerFactoryVtbl *lpVtbl;
906 };
907
908
909
910#ifdef COBJMACROS
911
912
913#define ID3D12CompilerFactory_QueryInterface(This,riid,ppvObject) \
914 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
915
916#define ID3D12CompilerFactory_AddRef(This) \
917 ( (This)->lpVtbl -> AddRef(This) )
918
919#define ID3D12CompilerFactory_Release(This) \
920 ( (This)->lpVtbl -> Release(This) )
921
922
923#define ID3D12CompilerFactory_EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) \
924 ( (This)->lpVtbl -> EnumerateAdapterFamilies(This,AdapterFamilyIndex,pAdapterFamily) )
925
926#define ID3D12CompilerFactory_EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) \
927 ( (This)->lpVtbl -> EnumerateAdapterFamilyABIVersions(This,AdapterFamilyIndex,pNumABIVersions,pABIVersions) )
928
929#define ID3D12CompilerFactory_EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) \
930 ( (This)->lpVtbl -> EnumerateAdapterFamilyCompilerVersion(This,AdapterFamilyIndex,pCompilerVersion) )
931
932#define ID3D12CompilerFactory_GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) \
933 ( (This)->lpVtbl -> GetApplicationProfileVersion(This,pTarget,pApplicationDesc,pApplicationProfileVersion) )
934
935#define ID3D12CompilerFactory_CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) \
936 ( (This)->lpVtbl -> CreateCompilerCacheSession(This,pPaths,NumPaths,pTarget,pApplicationDesc,riid,ppCompilerCacheSession) )
937
938#define ID3D12CompilerFactory_CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) \
939 ( (This)->lpVtbl -> CreateCompiler(This,pCompilerCacheSession,riid,ppCompiler) )
940
941#endif /* COBJMACROS */
942
943
944#endif /* C style interface */
945
946
947
948
949#endif /* __ID3D12CompilerFactory_INTERFACE_DEFINED__ */
950
951
952/* interface __MIDL_itf_d3d12compiler_0000_0005 */
953/* [local] */
954
955#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_GAMES) */
956#pragma endregion
957DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);
958DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);
959DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);
960DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);
961DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);
962
963
964extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_c_ifspec;
965extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_s_ifspec;
966
967/* Additional Prototypes for ALL interfaces */
968
969/* end of Additional Prototypes */
970
971#ifdef __cplusplus
972}
973#endif
974
975#endif
976
977