Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
godotengine
GitHub Repository: godotengine/godot
Path: blob/master/thirdparty/directx_headers/include/directx/d3d12compiler.h
14728 views
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__
57
typedef interface ID3D12CompilerFactoryChild ID3D12CompilerFactoryChild;
58
59
#endif /* __ID3D12CompilerFactoryChild_FWD_DEFINED__ */
60
61
62
#ifndef __ID3D12CompilerCacheSession_FWD_DEFINED__
63
#define __ID3D12CompilerCacheSession_FWD_DEFINED__
64
typedef interface ID3D12CompilerCacheSession ID3D12CompilerCacheSession;
65
66
#endif /* __ID3D12CompilerCacheSession_FWD_DEFINED__ */
67
68
69
#ifndef __ID3D12CompilerStateObject_FWD_DEFINED__
70
#define __ID3D12CompilerStateObject_FWD_DEFINED__
71
typedef interface ID3D12CompilerStateObject ID3D12CompilerStateObject;
72
73
#endif /* __ID3D12CompilerStateObject_FWD_DEFINED__ */
74
75
76
#ifndef __ID3D12Compiler_FWD_DEFINED__
77
#define __ID3D12Compiler_FWD_DEFINED__
78
typedef interface ID3D12Compiler ID3D12Compiler;
79
80
#endif /* __ID3D12Compiler_FWD_DEFINED__ */
81
82
83
#ifndef __ID3D12CompilerFactory_FWD_DEFINED__
84
#define __ID3D12CompilerFactory_FWD_DEFINED__
85
typedef 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
97
extern "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)
107
typedef struct D3D12_ADAPTER_FAMILY
108
{
109
WCHAR szAdapterFamily[ 128 ];
110
} D3D12_ADAPTER_FAMILY;
111
112
typedef HRESULT (WINAPI* PFN_D3D12_COMPILER_CREATE_FACTORY)(
113
_In_ LPCWSTR pPluginCompilerDllPath,
114
_In_ REFIID riid,
115
_COM_Outptr_opt_ void** ppFactory );
116
117
HRESULT WINAPI D3D12CompilerCreateFactory(
118
_In_ LPCWSTR pPluginCompilerDllPath,
119
_In_ REFIID riid, // Expected: ID3D12CompilerFactory
120
_COM_Outptr_opt_ void** ppFactory );
121
122
typedef 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
127
HRESULT 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
134
extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0000_v0_0_c_ifspec;
135
extern 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
144
EXTERN_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
225
typedef
226
enum 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
234
typedef
235
enum 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
244
DEFINE_ENUM_FLAG_OPERATORS( D3D12_COMPILER_VALUE_TYPE_FLAGS )
245
typedef struct D3D12_COMPILER_DATABASE_PATH
246
{
247
D3D12_COMPILER_VALUE_TYPE_FLAGS Types;
248
LPCWSTR pPath;
249
} D3D12_COMPILER_DATABASE_PATH;
250
251
typedef 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
257
typedef 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
263
typedef struct D3D12_COMPILER_CACHE_VALUE
264
{
265
_Field_size_bytes_full_(ValueSize) void *pValue;
266
UINT ValueSize;
267
} D3D12_COMPILER_CACHE_VALUE;
268
269
typedef 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
275
typedef 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
281
typedef 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
287
typedef struct D3D12_COMPILER_TARGET
288
{
289
UINT AdapterFamilyIndex;
290
UINT64 ABIVersion;
291
} D3D12_COMPILER_TARGET;
292
293
typedef void *( __stdcall *D3D12CompilerCacheSessionAllocationFunc )(
294
SIZE_T SizeInBytes,
295
_Inout_opt_ void *pContext);
296
297
typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValueKeysFunc )(
298
_In_ const D3D12_COMPILER_CACHE_VALUE_KEY *pValueKey,
299
_Inout_opt_ void *pContext);
300
301
typedef void ( __stdcall *D3D12CompilerCacheSessionGroupValuesFunc )(
302
UINT ValueKeyIndex,
303
_In_ const D3D12_COMPILER_CACHE_TYPED_CONST_VALUE *pTypedValue,
304
_Inout_opt_ void *pContext);
305
306
307
308
extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0001_v0_0_c_ifspec;
309
extern 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
318
EXTERN_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
545
EXTERN_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
626
typedef 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
635
extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0003_v0_0_c_ifspec;
636
extern 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
645
EXTERN_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
795
EXTERN_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
957
DEFINE_GUID(IID_ID3D12CompilerFactoryChild,0xe0d06420,0x9f31,0x47e8,0xae,0x9a,0xdd,0x2b,0xa2,0x5a,0xc0,0xbc);
958
DEFINE_GUID(IID_ID3D12CompilerCacheSession,0x5704e5e6,0x054b,0x4738,0xb6,0x61,0x7b,0x0d,0x68,0xd8,0xdd,0xe2);
959
DEFINE_GUID(IID_ID3D12CompilerStateObject,0x5981cca4,0xe8ae,0x44ca,0x9b,0x92,0x4f,0xa8,0x6f,0x5a,0x3a,0x3a);
960
DEFINE_GUID(IID_ID3D12Compiler,0x8c403c12,0x993b,0x4583,0x80,0xf1,0x68,0x24,0x13,0x8f,0xa6,0x8e);
961
DEFINE_GUID(IID_ID3D12CompilerFactory,0xc1ee4b59,0x3f59,0x47a5,0x9b,0x4e,0xa8,0x55,0xc8,0x58,0xa8,0x78);
962
963
964
extern RPC_IF_HANDLE __MIDL_itf_d3d12compiler_0000_0005_v0_0_c_ifspec;
965
extern 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
978
979