source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/d3d12shader.h@ 1194

Last change on this file since 1194 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 42.1 KB
RevLine 
[1166]1/*** Autogenerated by WIDL 6.4 from include/d3d12shader.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __d3d12shader_h__
17#define __d3d12shader_h__
18
19/* Forward declarations */
20
21#ifndef __ID3D12ShaderReflectionType_FWD_DEFINED__
22#define __ID3D12ShaderReflectionType_FWD_DEFINED__
23typedef interface ID3D12ShaderReflectionType ID3D12ShaderReflectionType;
24#ifdef __cplusplus
25interface ID3D12ShaderReflectionType;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __ID3D12ShaderReflectionVariable_FWD_DEFINED__
30#define __ID3D12ShaderReflectionVariable_FWD_DEFINED__
31typedef interface ID3D12ShaderReflectionVariable ID3D12ShaderReflectionVariable;
32#ifdef __cplusplus
33interface ID3D12ShaderReflectionVariable;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __ID3D12ShaderReflectionConstantBuffer_FWD_DEFINED__
38#define __ID3D12ShaderReflectionConstantBuffer_FWD_DEFINED__
39typedef interface ID3D12ShaderReflectionConstantBuffer ID3D12ShaderReflectionConstantBuffer;
40#ifdef __cplusplus
41interface ID3D12ShaderReflectionConstantBuffer;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __ID3D12ShaderReflection_FWD_DEFINED__
46#define __ID3D12ShaderReflection_FWD_DEFINED__
47typedef interface ID3D12ShaderReflection ID3D12ShaderReflection;
48#ifdef __cplusplus
49interface ID3D12ShaderReflection;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __ID3D12FunctionParameterReflection_FWD_DEFINED__
54#define __ID3D12FunctionParameterReflection_FWD_DEFINED__
55typedef interface ID3D12FunctionParameterReflection ID3D12FunctionParameterReflection;
56#ifdef __cplusplus
57interface ID3D12FunctionParameterReflection;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __ID3D12FunctionReflection_FWD_DEFINED__
62#define __ID3D12FunctionReflection_FWD_DEFINED__
63typedef interface ID3D12FunctionReflection ID3D12FunctionReflection;
64#ifdef __cplusplus
65interface ID3D12FunctionReflection;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __ID3D12LibraryReflection_FWD_DEFINED__
70#define __ID3D12LibraryReflection_FWD_DEFINED__
71typedef interface ID3D12LibraryReflection ID3D12LibraryReflection;
72#ifdef __cplusplus
73interface ID3D12LibraryReflection;
74#endif /* __cplusplus */
75#endif
76
77/* Headers for imported files */
78
79#include <oaidl.h>
80#include <ocidl.h>
81#include <d3dcommon.h>
82
83#ifdef __cplusplus
84extern "C" {
85#endif
86
87typedef enum D3D12_SHADER_VERSION_TYPE {
88 D3D12_SHVER_PIXEL_SHADER = 0x0,
89 D3D12_SHVER_VERTEX_SHADER = 0x1,
90 D3D12_SHVER_GEOMETRY_SHADER = 0x2,
91 D3D12_SHVER_HULL_SHADER = 0x3,
92 D3D12_SHVER_DOMAIN_SHADER = 0x4,
93 D3D12_SHVER_COMPUTE_SHADER = 0x5,
94 D3D12_SHVER_RESERVED0 = 0xfff0
95} D3D12_SHADER_VERSION_TYPE;
96typedef struct _D3D12_SHADER_DESC {
97 UINT Version;
98 const char *Creator;
99 UINT Flags;
100 UINT ConstantBuffers;
101 UINT BoundResources;
102 UINT InputParameters;
103 UINT OutputParameters;
104 UINT InstructionCount;
105 UINT TempRegisterCount;
106 UINT TempArrayCount;
107 UINT DefCount;
108 UINT DclCount;
109 UINT TextureNormalInstructions;
110 UINT TextureLoadInstructions;
111 UINT TextureCompInstructions;
112 UINT TextureBiasInstructions;
113 UINT TextureGradientInstructions;
114 UINT FloatInstructionCount;
115 UINT IntInstructionCount;
116 UINT UintInstructionCount;
117 UINT StaticFlowControlCount;
118 UINT DynamicFlowControlCount;
119 UINT MacroInstructionCount;
120 UINT ArrayInstructionCount;
121 UINT CutInstructionCount;
122 UINT EmitInstructionCount;
123 D3D_PRIMITIVE_TOPOLOGY GSOutputTopology;
124 UINT GSMaxOutputVertexCount;
125 D3D_PRIMITIVE InputPrimitive;
126 UINT PatchConstantParameters;
127 UINT cGSInstanceCount;
128 UINT cControlPoints;
129 D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive;
130 D3D_TESSELLATOR_PARTITIONING HSPartitioning;
131 D3D_TESSELLATOR_DOMAIN TessellatorDomain;
132 UINT cBarrierInstructions;
133 UINT cInterlockedInstructions;
134 UINT cTextureStoreInstructions;
135} D3D12_SHADER_DESC;
136typedef struct _D3D12_SHADER_VARIABLE_DESC {
137 const char *Name;
138 UINT StartOffset;
139 UINT Size;
140 UINT uFlags;
141 void *DefaultValue;
142 UINT StartTexture;
143 UINT TextureSize;
144 UINT StartSampler;
145 UINT SamplerSize;
146} D3D12_SHADER_VARIABLE_DESC;
147typedef struct _D3D12_SHADER_TYPE_DESC {
148 D3D_SHADER_VARIABLE_CLASS Class;
149 D3D_SHADER_VARIABLE_TYPE Type;
150 UINT Rows;
151 UINT Columns;
152 UINT Elements;
153 UINT Members;
154 UINT Offset;
155 const char *Name;
156} D3D12_SHADER_TYPE_DESC;
157typedef struct _D3D12_SHADER_BUFFER_DESC {
158 const char *Name;
159 D3D_CBUFFER_TYPE Type;
160 UINT Variables;
161 UINT Size;
162 UINT uFlags;
163} D3D12_SHADER_BUFFER_DESC;
164typedef struct _D3D12_SHADER_INPUT_BIND_DESC {
165 const char *Name;
166 D3D_SHADER_INPUT_TYPE Type;
167 UINT BindPoint;
168 UINT BindCount;
169 UINT uFlags;
170 D3D_RESOURCE_RETURN_TYPE ReturnType;
171 D3D_SRV_DIMENSION Dimension;
172 UINT NumSamples;
173 UINT Space;
174 UINT uID;
175} D3D12_SHADER_INPUT_BIND_DESC;
176typedef struct _D3D12_SIGNATURE_PARAMETER_DESC {
177 const char *SemanticName;
178 UINT SemanticIndex;
179 UINT Register;
180 D3D_NAME SystemValueType;
181 D3D_REGISTER_COMPONENT_TYPE ComponentType;
182 BYTE Mask;
183 BYTE ReadWriteMask;
184 UINT Stream;
185 D3D_MIN_PRECISION MinPrecision;
186} D3D12_SIGNATURE_PARAMETER_DESC;
187typedef struct _D3D12_PARAMETER_DESC {
188 const char *Name;
189 const char *SemanticName;
190 D3D_SHADER_VARIABLE_TYPE Type;
191 D3D_SHADER_VARIABLE_CLASS Class;
192 UINT Rows;
193 UINT Columns;
194 D3D_INTERPOLATION_MODE InterpolationMode;
195 D3D_PARAMETER_FLAGS Flags;
196 UINT FirstInRegister;
197 UINT FirstInComponent;
198 UINT FirstOutRegister;
199 UINT FirstOutComponent;
200} D3D12_PARAMETER_DESC;
201typedef struct _D3D12_FUNCTION_DESC {
202 UINT Version;
203 const char *Creator;
204 UINT Flags;
205 UINT ConstantBuffers;
206 UINT BoundResources;
207 UINT InstructionCount;
208 UINT TempRegisterCount;
209 UINT TempArrayCount;
210 UINT DefCount;
211 UINT DclCount;
212 UINT TextureNormalInstructions;
213 UINT TextureLoadInstructions;
214 UINT TextureCompInstructions;
215 UINT TextureBiasInstructions;
216 UINT TextureGradientInstructions;
217 UINT FloatInstructionCount;
218 UINT IntInstructionCount;
219 UINT UintInstructionCount;
220 UINT StaticFlowControlCount;
221 UINT DynamicFlowControlCount;
222 UINT MacroInstructionCount;
223 UINT ArrayInstructionCount;
224 UINT MovInstructionCount;
225 UINT MovcInstructionCount;
226 UINT ConversionInstructionCount;
227 UINT BitwiseInstructionCount;
228 D3D_FEATURE_LEVEL MinFeatureLevel;
229 UINT64 RequiredFeatureFlags;
230 const char *Name;
231 INT FunctionParameterCount;
232 WINBOOL HasReturn;
233 WINBOOL Has10Level9VertexShader;
234 WINBOOL Has10Level9PixelShader;
235} D3D12_FUNCTION_DESC;
236typedef struct _D3D12_LIBRARY_DESC {
237 const char *Creator;
238 UINT Flags;
239 UINT FunctionCount;
240} D3D12_LIBRARY_DESC;
241#ifndef __ID3D12ShaderReflectionConstantBuffer_FWD_DEFINED__
242#define __ID3D12ShaderReflectionConstantBuffer_FWD_DEFINED__
243typedef interface ID3D12ShaderReflectionConstantBuffer ID3D12ShaderReflectionConstantBuffer;
244#ifdef __cplusplus
245interface ID3D12ShaderReflectionConstantBuffer;
246#endif /* __cplusplus */
247#endif
248
249/*****************************************************************************
250 * ID3D12ShaderReflectionType interface
251 */
252#ifndef __ID3D12ShaderReflectionType_INTERFACE_DEFINED__
253#define __ID3D12ShaderReflectionType_INTERFACE_DEFINED__
254
255DEFINE_GUID(IID_ID3D12ShaderReflectionType, 0xe913c351, 0x783d, 0x48ca, 0xa1,0xd1, 0x4f,0x30,0x62,0x84,0xad,0x56);
256#if defined(__cplusplus) && !defined(CINTERFACE)
257MIDL_INTERFACE("e913c351-783d-48ca-a1d1-4f306284ad56")
258ID3D12ShaderReflectionType
259{
260
261 BEGIN_INTERFACE
262
263 virtual HRESULT STDMETHODCALLTYPE GetDesc(
264 D3D12_SHADER_TYPE_DESC *desc) = 0;
265
266 virtual ID3D12ShaderReflectionType * STDMETHODCALLTYPE GetMemberTypeByIndex(
267 UINT index) = 0;
268
269 virtual ID3D12ShaderReflectionType * STDMETHODCALLTYPE GetMemberTypeByName(
270 const char *name) = 0;
271
272 virtual const char * STDMETHODCALLTYPE GetMemberTypeName(
273 UINT index) = 0;
274
275 virtual HRESULT STDMETHODCALLTYPE IsEqual(
276 ID3D12ShaderReflectionType *type) = 0;
277
278 virtual ID3D12ShaderReflectionType * STDMETHODCALLTYPE GetSubType(
279 ) = 0;
280
281 virtual ID3D12ShaderReflectionType * STDMETHODCALLTYPE GetBaseClass(
282 ) = 0;
283
284 virtual UINT STDMETHODCALLTYPE GetNumInterfaces(
285 ) = 0;
286
287 virtual ID3D12ShaderReflectionType * STDMETHODCALLTYPE GetInterfaceByIndex(
288 UINT index) = 0;
289
290 virtual HRESULT STDMETHODCALLTYPE IsOfType(
291 ID3D12ShaderReflectionType *type) = 0;
292
293 virtual HRESULT STDMETHODCALLTYPE ImplementsInterface(
294 ID3D12ShaderReflectionType *base) = 0;
295
296 END_INTERFACE
297
298};
299#ifdef __CRT_UUID_DECL
300__CRT_UUID_DECL(ID3D12ShaderReflectionType, 0xe913c351, 0x783d, 0x48ca, 0xa1,0xd1, 0x4f,0x30,0x62,0x84,0xad,0x56)
301#endif
302#else
303typedef struct ID3D12ShaderReflectionTypeVtbl {
304 BEGIN_INTERFACE
305
306 /*** ID3D12ShaderReflectionType methods ***/
307 HRESULT (STDMETHODCALLTYPE *GetDesc)(
308 ID3D12ShaderReflectionType *This,
309 D3D12_SHADER_TYPE_DESC *desc);
310
311 ID3D12ShaderReflectionType * (STDMETHODCALLTYPE *GetMemberTypeByIndex)(
312 ID3D12ShaderReflectionType *This,
313 UINT index);
314
315 ID3D12ShaderReflectionType * (STDMETHODCALLTYPE *GetMemberTypeByName)(
316 ID3D12ShaderReflectionType *This,
317 const char *name);
318
319 const char * (STDMETHODCALLTYPE *GetMemberTypeName)(
320 ID3D12ShaderReflectionType *This,
321 UINT index);
322
323 HRESULT (STDMETHODCALLTYPE *IsEqual)(
324 ID3D12ShaderReflectionType *This,
325 ID3D12ShaderReflectionType *type);
326
327 ID3D12ShaderReflectionType * (STDMETHODCALLTYPE *GetSubType)(
328 ID3D12ShaderReflectionType *This);
329
330 ID3D12ShaderReflectionType * (STDMETHODCALLTYPE *GetBaseClass)(
331 ID3D12ShaderReflectionType *This);
332
333 UINT (STDMETHODCALLTYPE *GetNumInterfaces)(
334 ID3D12ShaderReflectionType *This);
335
336 ID3D12ShaderReflectionType * (STDMETHODCALLTYPE *GetInterfaceByIndex)(
337 ID3D12ShaderReflectionType *This,
338 UINT index);
339
340 HRESULT (STDMETHODCALLTYPE *IsOfType)(
341 ID3D12ShaderReflectionType *This,
342 ID3D12ShaderReflectionType *type);
343
344 HRESULT (STDMETHODCALLTYPE *ImplementsInterface)(
345 ID3D12ShaderReflectionType *This,
346 ID3D12ShaderReflectionType *base);
347
348 END_INTERFACE
349} ID3D12ShaderReflectionTypeVtbl;
350
351interface ID3D12ShaderReflectionType {
352 CONST_VTBL ID3D12ShaderReflectionTypeVtbl* lpVtbl;
353};
354
355#ifdef COBJMACROS
356#ifndef WIDL_C_INLINE_WRAPPERS
357/*** ID3D12ShaderReflectionType methods ***/
358#define ID3D12ShaderReflectionType_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
359#define ID3D12ShaderReflectionType_GetMemberTypeByIndex(This,index) (This)->lpVtbl->GetMemberTypeByIndex(This,index)
360#define ID3D12ShaderReflectionType_GetMemberTypeByName(This,name) (This)->lpVtbl->GetMemberTypeByName(This,name)
361#define ID3D12ShaderReflectionType_GetMemberTypeName(This,index) (This)->lpVtbl->GetMemberTypeName(This,index)
362#define ID3D12ShaderReflectionType_IsEqual(This,type) (This)->lpVtbl->IsEqual(This,type)
363#define ID3D12ShaderReflectionType_GetSubType(This) (This)->lpVtbl->GetSubType(This)
364#define ID3D12ShaderReflectionType_GetBaseClass(This) (This)->lpVtbl->GetBaseClass(This)
365#define ID3D12ShaderReflectionType_GetNumInterfaces(This) (This)->lpVtbl->GetNumInterfaces(This)
366#define ID3D12ShaderReflectionType_GetInterfaceByIndex(This,index) (This)->lpVtbl->GetInterfaceByIndex(This,index)
367#define ID3D12ShaderReflectionType_IsOfType(This,type) (This)->lpVtbl->IsOfType(This,type)
368#define ID3D12ShaderReflectionType_ImplementsInterface(This,base) (This)->lpVtbl->ImplementsInterface(This,base)
369#else
370/*** ID3D12ShaderReflectionType methods ***/
371static FORCEINLINE HRESULT ID3D12ShaderReflectionType_GetDesc(ID3D12ShaderReflectionType* This,D3D12_SHADER_TYPE_DESC *desc) {
372 return This->lpVtbl->GetDesc(This,desc);
373}
374static FORCEINLINE ID3D12ShaderReflectionType * ID3D12ShaderReflectionType_GetMemberTypeByIndex(ID3D12ShaderReflectionType* This,UINT index) {
375 return This->lpVtbl->GetMemberTypeByIndex(This,index);
376}
377static FORCEINLINE ID3D12ShaderReflectionType * ID3D12ShaderReflectionType_GetMemberTypeByName(ID3D12ShaderReflectionType* This,const char *name) {
378 return This->lpVtbl->GetMemberTypeByName(This,name);
379}
380static FORCEINLINE const char * ID3D12ShaderReflectionType_GetMemberTypeName(ID3D12ShaderReflectionType* This,UINT index) {
381 return This->lpVtbl->GetMemberTypeName(This,index);
382}
383static FORCEINLINE HRESULT ID3D12ShaderReflectionType_IsEqual(ID3D12ShaderReflectionType* This,ID3D12ShaderReflectionType *type) {
384 return This->lpVtbl->IsEqual(This,type);
385}
386static FORCEINLINE ID3D12ShaderReflectionType * ID3D12ShaderReflectionType_GetSubType(ID3D12ShaderReflectionType* This) {
387 return This->lpVtbl->GetSubType(This);
388}
389static FORCEINLINE ID3D12ShaderReflectionType * ID3D12ShaderReflectionType_GetBaseClass(ID3D12ShaderReflectionType* This) {
390 return This->lpVtbl->GetBaseClass(This);
391}
392static FORCEINLINE UINT ID3D12ShaderReflectionType_GetNumInterfaces(ID3D12ShaderReflectionType* This) {
393 return This->lpVtbl->GetNumInterfaces(This);
394}
395static FORCEINLINE ID3D12ShaderReflectionType * ID3D12ShaderReflectionType_GetInterfaceByIndex(ID3D12ShaderReflectionType* This,UINT index) {
396 return This->lpVtbl->GetInterfaceByIndex(This,index);
397}
398static FORCEINLINE HRESULT ID3D12ShaderReflectionType_IsOfType(ID3D12ShaderReflectionType* This,ID3D12ShaderReflectionType *type) {
399 return This->lpVtbl->IsOfType(This,type);
400}
401static FORCEINLINE HRESULT ID3D12ShaderReflectionType_ImplementsInterface(ID3D12ShaderReflectionType* This,ID3D12ShaderReflectionType *base) {
402 return This->lpVtbl->ImplementsInterface(This,base);
403}
404#endif
405#endif
406
407#endif
408
409
410#endif /* __ID3D12ShaderReflectionType_INTERFACE_DEFINED__ */
411
412/*****************************************************************************
413 * ID3D12ShaderReflectionVariable interface
414 */
415#ifndef __ID3D12ShaderReflectionVariable_INTERFACE_DEFINED__
416#define __ID3D12ShaderReflectionVariable_INTERFACE_DEFINED__
417
418DEFINE_GUID(IID_ID3D12ShaderReflectionVariable, 0x8337a8a6, 0xa216, 0x444a, 0xb2,0xf4, 0x31,0x47,0x33,0xa7,0x3a,0xea);
419#if defined(__cplusplus) && !defined(CINTERFACE)
420MIDL_INTERFACE("8337a8a6-a216-444a-b2f4-314733a73aea")
421ID3D12ShaderReflectionVariable
422{
423
424 BEGIN_INTERFACE
425
426 virtual HRESULT STDMETHODCALLTYPE GetDesc(
427 D3D12_SHADER_VARIABLE_DESC *desc) = 0;
428
429 virtual ID3D12ShaderReflectionType * STDMETHODCALLTYPE GetType(
430 ) = 0;
431
432 virtual ID3D12ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetBuffer(
433 ) = 0;
434
435 virtual UINT STDMETHODCALLTYPE GetInterfaceSlot(
436 UINT index) = 0;
437
438 END_INTERFACE
439
440};
441#ifdef __CRT_UUID_DECL
442__CRT_UUID_DECL(ID3D12ShaderReflectionVariable, 0x8337a8a6, 0xa216, 0x444a, 0xb2,0xf4, 0x31,0x47,0x33,0xa7,0x3a,0xea)
443#endif
444#else
445typedef struct ID3D12ShaderReflectionVariableVtbl {
446 BEGIN_INTERFACE
447
448 /*** ID3D12ShaderReflectionVariable methods ***/
449 HRESULT (STDMETHODCALLTYPE *GetDesc)(
450 ID3D12ShaderReflectionVariable *This,
451 D3D12_SHADER_VARIABLE_DESC *desc);
452
453 ID3D12ShaderReflectionType * (STDMETHODCALLTYPE *GetType)(
454 ID3D12ShaderReflectionVariable *This);
455
456 ID3D12ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetBuffer)(
457 ID3D12ShaderReflectionVariable *This);
458
459 UINT (STDMETHODCALLTYPE *GetInterfaceSlot)(
460 ID3D12ShaderReflectionVariable *This,
461 UINT index);
462
463 END_INTERFACE
464} ID3D12ShaderReflectionVariableVtbl;
465
466interface ID3D12ShaderReflectionVariable {
467 CONST_VTBL ID3D12ShaderReflectionVariableVtbl* lpVtbl;
468};
469
470#ifdef COBJMACROS
471#ifndef WIDL_C_INLINE_WRAPPERS
472/*** ID3D12ShaderReflectionVariable methods ***/
473#define ID3D12ShaderReflectionVariable_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
474#define ID3D12ShaderReflectionVariable_GetType(This) (This)->lpVtbl->GetType(This)
475#define ID3D12ShaderReflectionVariable_GetBuffer(This) (This)->lpVtbl->GetBuffer(This)
476#define ID3D12ShaderReflectionVariable_GetInterfaceSlot(This,index) (This)->lpVtbl->GetInterfaceSlot(This,index)
477#else
478/*** ID3D12ShaderReflectionVariable methods ***/
479static FORCEINLINE HRESULT ID3D12ShaderReflectionVariable_GetDesc(ID3D12ShaderReflectionVariable* This,D3D12_SHADER_VARIABLE_DESC *desc) {
480 return This->lpVtbl->GetDesc(This,desc);
481}
482static FORCEINLINE ID3D12ShaderReflectionType * ID3D12ShaderReflectionVariable_GetType(ID3D12ShaderReflectionVariable* This) {
483 return This->lpVtbl->GetType(This);
484}
485static FORCEINLINE ID3D12ShaderReflectionConstantBuffer * ID3D12ShaderReflectionVariable_GetBuffer(ID3D12ShaderReflectionVariable* This) {
486 return This->lpVtbl->GetBuffer(This);
487}
488static FORCEINLINE UINT ID3D12ShaderReflectionVariable_GetInterfaceSlot(ID3D12ShaderReflectionVariable* This,UINT index) {
489 return This->lpVtbl->GetInterfaceSlot(This,index);
490}
491#endif
492#endif
493
494#endif
495
496
497#endif /* __ID3D12ShaderReflectionVariable_INTERFACE_DEFINED__ */
498
499/*****************************************************************************
500 * ID3D12ShaderReflectionConstantBuffer interface
501 */
502#ifndef __ID3D12ShaderReflectionConstantBuffer_INTERFACE_DEFINED__
503#define __ID3D12ShaderReflectionConstantBuffer_INTERFACE_DEFINED__
504
505DEFINE_GUID(IID_ID3D12ShaderReflectionConstantBuffer, 0xc59598b4, 0x48b3, 0x4869, 0xb9,0xb1, 0xb1,0x61,0x8b,0x14,0xa8,0xb7);
506#if defined(__cplusplus) && !defined(CINTERFACE)
507MIDL_INTERFACE("c59598b4-48b3-4869-b9b1-b1618b14a8b7")
508ID3D12ShaderReflectionConstantBuffer
509{
510
511 BEGIN_INTERFACE
512
513 virtual HRESULT STDMETHODCALLTYPE GetDesc(
514 D3D12_SHADER_BUFFER_DESC *desc) = 0;
515
516 virtual ID3D12ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByIndex(
517 UINT index) = 0;
518
519 virtual ID3D12ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByName(
520 const char *name) = 0;
521
522 END_INTERFACE
523
524};
525#ifdef __CRT_UUID_DECL
526__CRT_UUID_DECL(ID3D12ShaderReflectionConstantBuffer, 0xc59598b4, 0x48b3, 0x4869, 0xb9,0xb1, 0xb1,0x61,0x8b,0x14,0xa8,0xb7)
527#endif
528#else
529typedef struct ID3D12ShaderReflectionConstantBufferVtbl {
530 BEGIN_INTERFACE
531
532 /*** ID3D12ShaderReflectionConstantBuffer methods ***/
533 HRESULT (STDMETHODCALLTYPE *GetDesc)(
534 ID3D12ShaderReflectionConstantBuffer *This,
535 D3D12_SHADER_BUFFER_DESC *desc);
536
537 ID3D12ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByIndex)(
538 ID3D12ShaderReflectionConstantBuffer *This,
539 UINT index);
540
541 ID3D12ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByName)(
542 ID3D12ShaderReflectionConstantBuffer *This,
543 const char *name);
544
545 END_INTERFACE
546} ID3D12ShaderReflectionConstantBufferVtbl;
547
548interface ID3D12ShaderReflectionConstantBuffer {
549 CONST_VTBL ID3D12ShaderReflectionConstantBufferVtbl* lpVtbl;
550};
551
552#ifdef COBJMACROS
553#ifndef WIDL_C_INLINE_WRAPPERS
554/*** ID3D12ShaderReflectionConstantBuffer methods ***/
555#define ID3D12ShaderReflectionConstantBuffer_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
556#define ID3D12ShaderReflectionConstantBuffer_GetVariableByIndex(This,index) (This)->lpVtbl->GetVariableByIndex(This,index)
557#define ID3D12ShaderReflectionConstantBuffer_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
558#else
559/*** ID3D12ShaderReflectionConstantBuffer methods ***/
560static FORCEINLINE HRESULT ID3D12ShaderReflectionConstantBuffer_GetDesc(ID3D12ShaderReflectionConstantBuffer* This,D3D12_SHADER_BUFFER_DESC *desc) {
561 return This->lpVtbl->GetDesc(This,desc);
562}
563static FORCEINLINE ID3D12ShaderReflectionVariable * ID3D12ShaderReflectionConstantBuffer_GetVariableByIndex(ID3D12ShaderReflectionConstantBuffer* This,UINT index) {
564 return This->lpVtbl->GetVariableByIndex(This,index);
565}
566static FORCEINLINE ID3D12ShaderReflectionVariable * ID3D12ShaderReflectionConstantBuffer_GetVariableByName(ID3D12ShaderReflectionConstantBuffer* This,const char *name) {
567 return This->lpVtbl->GetVariableByName(This,name);
568}
569#endif
570#endif
571
572#endif
573
574
575#endif /* __ID3D12ShaderReflectionConstantBuffer_INTERFACE_DEFINED__ */
576
577/*****************************************************************************
578 * ID3D12ShaderReflection interface
579 */
580#ifndef __ID3D12ShaderReflection_INTERFACE_DEFINED__
581#define __ID3D12ShaderReflection_INTERFACE_DEFINED__
582
583DEFINE_GUID(IID_ID3D12ShaderReflection, 0x5a58797d, 0xa72c, 0x478d, 0x8b,0xa2, 0xef,0xc6,0xb0,0xef,0xe8,0x8e);
584#if defined(__cplusplus) && !defined(CINTERFACE)
585MIDL_INTERFACE("5a58797d-a72c-478d-8ba2-efc6b0efe88e")
586ID3D12ShaderReflection : public IUnknown
587{
588 virtual HRESULT STDMETHODCALLTYPE GetDesc(
589 D3D12_SHADER_DESC *desc) = 0;
590
591 virtual ID3D12ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByIndex(
592 UINT index) = 0;
593
594 virtual ID3D12ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByName(
595 const char *name) = 0;
596
597 virtual HRESULT STDMETHODCALLTYPE GetResourceBindingDesc(
598 UINT index,
599 D3D12_SHADER_INPUT_BIND_DESC *desc) = 0;
600
601 virtual HRESULT STDMETHODCALLTYPE GetInputParameterDesc(
602 UINT index,
603 D3D12_SIGNATURE_PARAMETER_DESC *desc) = 0;
604
605 virtual HRESULT STDMETHODCALLTYPE GetOutputParameterDesc(
606 UINT index,
607 D3D12_SIGNATURE_PARAMETER_DESC *desc) = 0;
608
609 virtual HRESULT STDMETHODCALLTYPE GetPatchConstantParameterDesc(
610 UINT index,
611 D3D12_SIGNATURE_PARAMETER_DESC *desc) = 0;
612
613 virtual ID3D12ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByName(
614 const char *name) = 0;
615
616 virtual HRESULT STDMETHODCALLTYPE GetResourceBindingDescByName(
617 const char *name,
618 D3D12_SHADER_INPUT_BIND_DESC *desc) = 0;
619
620 virtual UINT STDMETHODCALLTYPE GetMovInstructionCount(
621 ) = 0;
622
623 virtual UINT STDMETHODCALLTYPE GetMovcInstructionCount(
624 ) = 0;
625
626 virtual UINT STDMETHODCALLTYPE GetConversionInstructionCount(
627 ) = 0;
628
629 virtual UINT STDMETHODCALLTYPE GetBitwiseInstructionCount(
630 ) = 0;
631
632 virtual D3D_PRIMITIVE STDMETHODCALLTYPE GetGSInputPrimitive(
633 ) = 0;
634
635 virtual WINBOOL STDMETHODCALLTYPE IsSampleFrequencyShader(
636 ) = 0;
637
638 virtual UINT STDMETHODCALLTYPE GetNumInterfaceSlots(
639 ) = 0;
640
641 virtual HRESULT STDMETHODCALLTYPE GetMinFeatureLevel(
642 D3D_FEATURE_LEVEL *level) = 0;
643
644 virtual UINT STDMETHODCALLTYPE GetThreadGroupSize(
645 UINT *sizex,
646 UINT *sizey,
647 UINT *sizez) = 0;
648
649 virtual UINT64 STDMETHODCALLTYPE GetRequiresFlags(
650 ) = 0;
651
652};
653#ifdef __CRT_UUID_DECL
654__CRT_UUID_DECL(ID3D12ShaderReflection, 0x5a58797d, 0xa72c, 0x478d, 0x8b,0xa2, 0xef,0xc6,0xb0,0xef,0xe8,0x8e)
655#endif
656#else
657typedef struct ID3D12ShaderReflectionVtbl {
658 BEGIN_INTERFACE
659
660 /*** IUnknown methods ***/
661 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
662 ID3D12ShaderReflection *This,
663 REFIID riid,
664 void **ppvObject);
665
666 ULONG (STDMETHODCALLTYPE *AddRef)(
667 ID3D12ShaderReflection *This);
668
669 ULONG (STDMETHODCALLTYPE *Release)(
670 ID3D12ShaderReflection *This);
671
672 /*** ID3D12ShaderReflection methods ***/
673 HRESULT (STDMETHODCALLTYPE *GetDesc)(
674 ID3D12ShaderReflection *This,
675 D3D12_SHADER_DESC *desc);
676
677 ID3D12ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByIndex)(
678 ID3D12ShaderReflection *This,
679 UINT index);
680
681 ID3D12ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByName)(
682 ID3D12ShaderReflection *This,
683 const char *name);
684
685 HRESULT (STDMETHODCALLTYPE *GetResourceBindingDesc)(
686 ID3D12ShaderReflection *This,
687 UINT index,
688 D3D12_SHADER_INPUT_BIND_DESC *desc);
689
690 HRESULT (STDMETHODCALLTYPE *GetInputParameterDesc)(
691 ID3D12ShaderReflection *This,
692 UINT index,
693 D3D12_SIGNATURE_PARAMETER_DESC *desc);
694
695 HRESULT (STDMETHODCALLTYPE *GetOutputParameterDesc)(
696 ID3D12ShaderReflection *This,
697 UINT index,
698 D3D12_SIGNATURE_PARAMETER_DESC *desc);
699
700 HRESULT (STDMETHODCALLTYPE *GetPatchConstantParameterDesc)(
701 ID3D12ShaderReflection *This,
702 UINT index,
703 D3D12_SIGNATURE_PARAMETER_DESC *desc);
704
705 ID3D12ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByName)(
706 ID3D12ShaderReflection *This,
707 const char *name);
708
709 HRESULT (STDMETHODCALLTYPE *GetResourceBindingDescByName)(
710 ID3D12ShaderReflection *This,
711 const char *name,
712 D3D12_SHADER_INPUT_BIND_DESC *desc);
713
714 UINT (STDMETHODCALLTYPE *GetMovInstructionCount)(
715 ID3D12ShaderReflection *This);
716
717 UINT (STDMETHODCALLTYPE *GetMovcInstructionCount)(
718 ID3D12ShaderReflection *This);
719
720 UINT (STDMETHODCALLTYPE *GetConversionInstructionCount)(
721 ID3D12ShaderReflection *This);
722
723 UINT (STDMETHODCALLTYPE *GetBitwiseInstructionCount)(
724 ID3D12ShaderReflection *This);
725
726 D3D_PRIMITIVE (STDMETHODCALLTYPE *GetGSInputPrimitive)(
727 ID3D12ShaderReflection *This);
728
729 WINBOOL (STDMETHODCALLTYPE *IsSampleFrequencyShader)(
730 ID3D12ShaderReflection *This);
731
732 UINT (STDMETHODCALLTYPE *GetNumInterfaceSlots)(
733 ID3D12ShaderReflection *This);
734
735 HRESULT (STDMETHODCALLTYPE *GetMinFeatureLevel)(
736 ID3D12ShaderReflection *This,
737 D3D_FEATURE_LEVEL *level);
738
739 UINT (STDMETHODCALLTYPE *GetThreadGroupSize)(
740 ID3D12ShaderReflection *This,
741 UINT *sizex,
742 UINT *sizey,
743 UINT *sizez);
744
745 UINT64 (STDMETHODCALLTYPE *GetRequiresFlags)(
746 ID3D12ShaderReflection *This);
747
748 END_INTERFACE
749} ID3D12ShaderReflectionVtbl;
750
751interface ID3D12ShaderReflection {
752 CONST_VTBL ID3D12ShaderReflectionVtbl* lpVtbl;
753};
754
755#ifdef COBJMACROS
756#ifndef WIDL_C_INLINE_WRAPPERS
757/*** IUnknown methods ***/
758#define ID3D12ShaderReflection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
759#define ID3D12ShaderReflection_AddRef(This) (This)->lpVtbl->AddRef(This)
760#define ID3D12ShaderReflection_Release(This) (This)->lpVtbl->Release(This)
761/*** ID3D12ShaderReflection methods ***/
762#define ID3D12ShaderReflection_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
763#define ID3D12ShaderReflection_GetConstantBufferByIndex(This,index) (This)->lpVtbl->GetConstantBufferByIndex(This,index)
764#define ID3D12ShaderReflection_GetConstantBufferByName(This,name) (This)->lpVtbl->GetConstantBufferByName(This,name)
765#define ID3D12ShaderReflection_GetResourceBindingDesc(This,index,desc) (This)->lpVtbl->GetResourceBindingDesc(This,index,desc)
766#define ID3D12ShaderReflection_GetInputParameterDesc(This,index,desc) (This)->lpVtbl->GetInputParameterDesc(This,index,desc)
767#define ID3D12ShaderReflection_GetOutputParameterDesc(This,index,desc) (This)->lpVtbl->GetOutputParameterDesc(This,index,desc)
768#define ID3D12ShaderReflection_GetPatchConstantParameterDesc(This,index,desc) (This)->lpVtbl->GetPatchConstantParameterDesc(This,index,desc)
769#define ID3D12ShaderReflection_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
770#define ID3D12ShaderReflection_GetResourceBindingDescByName(This,name,desc) (This)->lpVtbl->GetResourceBindingDescByName(This,name,desc)
771#define ID3D12ShaderReflection_GetMovInstructionCount(This) (This)->lpVtbl->GetMovInstructionCount(This)
772#define ID3D12ShaderReflection_GetMovcInstructionCount(This) (This)->lpVtbl->GetMovcInstructionCount(This)
773#define ID3D12ShaderReflection_GetConversionInstructionCount(This) (This)->lpVtbl->GetConversionInstructionCount(This)
774#define ID3D12ShaderReflection_GetBitwiseInstructionCount(This) (This)->lpVtbl->GetBitwiseInstructionCount(This)
775#define ID3D12ShaderReflection_GetGSInputPrimitive(This) (This)->lpVtbl->GetGSInputPrimitive(This)
776#define ID3D12ShaderReflection_IsSampleFrequencyShader(This) (This)->lpVtbl->IsSampleFrequencyShader(This)
777#define ID3D12ShaderReflection_GetNumInterfaceSlots(This) (This)->lpVtbl->GetNumInterfaceSlots(This)
778#define ID3D12ShaderReflection_GetMinFeatureLevel(This,level) (This)->lpVtbl->GetMinFeatureLevel(This,level)
779#define ID3D12ShaderReflection_GetThreadGroupSize(This,sizex,sizey,sizez) (This)->lpVtbl->GetThreadGroupSize(This,sizex,sizey,sizez)
780#define ID3D12ShaderReflection_GetRequiresFlags(This) (This)->lpVtbl->GetRequiresFlags(This)
781#else
782/*** IUnknown methods ***/
783static FORCEINLINE HRESULT ID3D12ShaderReflection_QueryInterface(ID3D12ShaderReflection* This,REFIID riid,void **ppvObject) {
784 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
785}
786static FORCEINLINE ULONG ID3D12ShaderReflection_AddRef(ID3D12ShaderReflection* This) {
787 return This->lpVtbl->AddRef(This);
788}
789static FORCEINLINE ULONG ID3D12ShaderReflection_Release(ID3D12ShaderReflection* This) {
790 return This->lpVtbl->Release(This);
791}
792/*** ID3D12ShaderReflection methods ***/
793static FORCEINLINE HRESULT ID3D12ShaderReflection_GetDesc(ID3D12ShaderReflection* This,D3D12_SHADER_DESC *desc) {
794 return This->lpVtbl->GetDesc(This,desc);
795}
796static FORCEINLINE ID3D12ShaderReflectionConstantBuffer * ID3D12ShaderReflection_GetConstantBufferByIndex(ID3D12ShaderReflection* This,UINT index) {
797 return This->lpVtbl->GetConstantBufferByIndex(This,index);
798}
799static FORCEINLINE ID3D12ShaderReflectionConstantBuffer * ID3D12ShaderReflection_GetConstantBufferByName(ID3D12ShaderReflection* This,const char *name) {
800 return This->lpVtbl->GetConstantBufferByName(This,name);
801}
802static FORCEINLINE HRESULT ID3D12ShaderReflection_GetResourceBindingDesc(ID3D12ShaderReflection* This,UINT index,D3D12_SHADER_INPUT_BIND_DESC *desc) {
803 return This->lpVtbl->GetResourceBindingDesc(This,index,desc);
804}
805static FORCEINLINE HRESULT ID3D12ShaderReflection_GetInputParameterDesc(ID3D12ShaderReflection* This,UINT index,D3D12_SIGNATURE_PARAMETER_DESC *desc) {
806 return This->lpVtbl->GetInputParameterDesc(This,index,desc);
807}
808static FORCEINLINE HRESULT ID3D12ShaderReflection_GetOutputParameterDesc(ID3D12ShaderReflection* This,UINT index,D3D12_SIGNATURE_PARAMETER_DESC *desc) {
809 return This->lpVtbl->GetOutputParameterDesc(This,index,desc);
810}
811static FORCEINLINE HRESULT ID3D12ShaderReflection_GetPatchConstantParameterDesc(ID3D12ShaderReflection* This,UINT index,D3D12_SIGNATURE_PARAMETER_DESC *desc) {
812 return This->lpVtbl->GetPatchConstantParameterDesc(This,index,desc);
813}
814static FORCEINLINE ID3D12ShaderReflectionVariable * ID3D12ShaderReflection_GetVariableByName(ID3D12ShaderReflection* This,const char *name) {
815 return This->lpVtbl->GetVariableByName(This,name);
816}
817static FORCEINLINE HRESULT ID3D12ShaderReflection_GetResourceBindingDescByName(ID3D12ShaderReflection* This,const char *name,D3D12_SHADER_INPUT_BIND_DESC *desc) {
818 return This->lpVtbl->GetResourceBindingDescByName(This,name,desc);
819}
820static FORCEINLINE UINT ID3D12ShaderReflection_GetMovInstructionCount(ID3D12ShaderReflection* This) {
821 return This->lpVtbl->GetMovInstructionCount(This);
822}
823static FORCEINLINE UINT ID3D12ShaderReflection_GetMovcInstructionCount(ID3D12ShaderReflection* This) {
824 return This->lpVtbl->GetMovcInstructionCount(This);
825}
826static FORCEINLINE UINT ID3D12ShaderReflection_GetConversionInstructionCount(ID3D12ShaderReflection* This) {
827 return This->lpVtbl->GetConversionInstructionCount(This);
828}
829static FORCEINLINE UINT ID3D12ShaderReflection_GetBitwiseInstructionCount(ID3D12ShaderReflection* This) {
830 return This->lpVtbl->GetBitwiseInstructionCount(This);
831}
832static FORCEINLINE D3D_PRIMITIVE ID3D12ShaderReflection_GetGSInputPrimitive(ID3D12ShaderReflection* This) {
833 return This->lpVtbl->GetGSInputPrimitive(This);
834}
835static FORCEINLINE WINBOOL ID3D12ShaderReflection_IsSampleFrequencyShader(ID3D12ShaderReflection* This) {
836 return This->lpVtbl->IsSampleFrequencyShader(This);
837}
838static FORCEINLINE UINT ID3D12ShaderReflection_GetNumInterfaceSlots(ID3D12ShaderReflection* This) {
839 return This->lpVtbl->GetNumInterfaceSlots(This);
840}
841static FORCEINLINE HRESULT ID3D12ShaderReflection_GetMinFeatureLevel(ID3D12ShaderReflection* This,D3D_FEATURE_LEVEL *level) {
842 return This->lpVtbl->GetMinFeatureLevel(This,level);
843}
844static FORCEINLINE UINT ID3D12ShaderReflection_GetThreadGroupSize(ID3D12ShaderReflection* This,UINT *sizex,UINT *sizey,UINT *sizez) {
845 return This->lpVtbl->GetThreadGroupSize(This,sizex,sizey,sizez);
846}
847static FORCEINLINE UINT64 ID3D12ShaderReflection_GetRequiresFlags(ID3D12ShaderReflection* This) {
848 return This->lpVtbl->GetRequiresFlags(This);
849}
850#endif
851#endif
852
853#endif
854
855
856#endif /* __ID3D12ShaderReflection_INTERFACE_DEFINED__ */
857
858/*****************************************************************************
859 * ID3D12FunctionParameterReflection interface
860 */
861#ifndef __ID3D12FunctionParameterReflection_INTERFACE_DEFINED__
862#define __ID3D12FunctionParameterReflection_INTERFACE_DEFINED__
863
864DEFINE_GUID(IID_ID3D12FunctionParameterReflection, 0xec25f42d, 0x7006, 0x4f2b, 0xb3,0x3e, 0x02,0xcc,0x33,0x75,0x73,0x3f);
865#if defined(__cplusplus) && !defined(CINTERFACE)
866MIDL_INTERFACE("ec25f42d-7006-4f2b-b33e-02cc3375733f")
867ID3D12FunctionParameterReflection
868{
869
870 BEGIN_INTERFACE
871
872 virtual HRESULT STDMETHODCALLTYPE GetDesc(
873 D3D12_PARAMETER_DESC *desc) = 0;
874
875 END_INTERFACE
876
877};
878#ifdef __CRT_UUID_DECL
879__CRT_UUID_DECL(ID3D12FunctionParameterReflection, 0xec25f42d, 0x7006, 0x4f2b, 0xb3,0x3e, 0x02,0xcc,0x33,0x75,0x73,0x3f)
880#endif
881#else
882typedef struct ID3D12FunctionParameterReflectionVtbl {
883 BEGIN_INTERFACE
884
885 /*** ID3D12FunctionParameterReflection methods ***/
886 HRESULT (STDMETHODCALLTYPE *GetDesc)(
887 ID3D12FunctionParameterReflection *This,
888 D3D12_PARAMETER_DESC *desc);
889
890 END_INTERFACE
891} ID3D12FunctionParameterReflectionVtbl;
892
893interface ID3D12FunctionParameterReflection {
894 CONST_VTBL ID3D12FunctionParameterReflectionVtbl* lpVtbl;
895};
896
897#ifdef COBJMACROS
898#ifndef WIDL_C_INLINE_WRAPPERS
899/*** ID3D12FunctionParameterReflection methods ***/
900#define ID3D12FunctionParameterReflection_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
901#else
902/*** ID3D12FunctionParameterReflection methods ***/
903static FORCEINLINE HRESULT ID3D12FunctionParameterReflection_GetDesc(ID3D12FunctionParameterReflection* This,D3D12_PARAMETER_DESC *desc) {
904 return This->lpVtbl->GetDesc(This,desc);
905}
906#endif
907#endif
908
909#endif
910
911
912#endif /* __ID3D12FunctionParameterReflection_INTERFACE_DEFINED__ */
913
914/*****************************************************************************
915 * ID3D12FunctionReflection interface
916 */
917#ifndef __ID3D12FunctionReflection_INTERFACE_DEFINED__
918#define __ID3D12FunctionReflection_INTERFACE_DEFINED__
919
920DEFINE_GUID(IID_ID3D12FunctionReflection, 0x1108795c, 0x2772, 0x4ba9, 0xb2,0xa8, 0xd4,0x64,0xdc,0x7e,0x27,0x99);
921#if defined(__cplusplus) && !defined(CINTERFACE)
922MIDL_INTERFACE("1108795c-2772-4ba9-b2a8-d464dc7e2799")
923ID3D12FunctionReflection
924{
925
926 BEGIN_INTERFACE
927
928 virtual HRESULT STDMETHODCALLTYPE GetDesc(
929 D3D12_FUNCTION_DESC *desc) = 0;
930
931 virtual ID3D12ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByIndex(
932 UINT index) = 0;
933
934 virtual ID3D12ShaderReflectionConstantBuffer * STDMETHODCALLTYPE GetConstantBufferByName(
935 const char *name) = 0;
936
937 virtual HRESULT STDMETHODCALLTYPE GetResourceBindingDesc(
938 UINT index,
939 D3D12_SHADER_INPUT_BIND_DESC *desc) = 0;
940
941 virtual ID3D12ShaderReflectionVariable * STDMETHODCALLTYPE GetVariableByName(
942 const char *name) = 0;
943
944 virtual HRESULT STDMETHODCALLTYPE GetResourceBindingDescByName(
945 const char *name,
946 D3D12_SHADER_INPUT_BIND_DESC *desc) = 0;
947
948 virtual ID3D12FunctionParameterReflection * STDMETHODCALLTYPE GetFunctionParameter(
949 INT index) = 0;
950
951 END_INTERFACE
952
953};
954#ifdef __CRT_UUID_DECL
955__CRT_UUID_DECL(ID3D12FunctionReflection, 0x1108795c, 0x2772, 0x4ba9, 0xb2,0xa8, 0xd4,0x64,0xdc,0x7e,0x27,0x99)
956#endif
957#else
958typedef struct ID3D12FunctionReflectionVtbl {
959 BEGIN_INTERFACE
960
961 /*** ID3D12FunctionReflection methods ***/
962 HRESULT (STDMETHODCALLTYPE *GetDesc)(
963 ID3D12FunctionReflection *This,
964 D3D12_FUNCTION_DESC *desc);
965
966 ID3D12ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByIndex)(
967 ID3D12FunctionReflection *This,
968 UINT index);
969
970 ID3D12ShaderReflectionConstantBuffer * (STDMETHODCALLTYPE *GetConstantBufferByName)(
971 ID3D12FunctionReflection *This,
972 const char *name);
973
974 HRESULT (STDMETHODCALLTYPE *GetResourceBindingDesc)(
975 ID3D12FunctionReflection *This,
976 UINT index,
977 D3D12_SHADER_INPUT_BIND_DESC *desc);
978
979 ID3D12ShaderReflectionVariable * (STDMETHODCALLTYPE *GetVariableByName)(
980 ID3D12FunctionReflection *This,
981 const char *name);
982
983 HRESULT (STDMETHODCALLTYPE *GetResourceBindingDescByName)(
984 ID3D12FunctionReflection *This,
985 const char *name,
986 D3D12_SHADER_INPUT_BIND_DESC *desc);
987
988 ID3D12FunctionParameterReflection * (STDMETHODCALLTYPE *GetFunctionParameter)(
989 ID3D12FunctionReflection *This,
990 INT index);
991
992 END_INTERFACE
993} ID3D12FunctionReflectionVtbl;
994
995interface ID3D12FunctionReflection {
996 CONST_VTBL ID3D12FunctionReflectionVtbl* lpVtbl;
997};
998
999#ifdef COBJMACROS
1000#ifndef WIDL_C_INLINE_WRAPPERS
1001/*** ID3D12FunctionReflection methods ***/
1002#define ID3D12FunctionReflection_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
1003#define ID3D12FunctionReflection_GetConstantBufferByIndex(This,index) (This)->lpVtbl->GetConstantBufferByIndex(This,index)
1004#define ID3D12FunctionReflection_GetConstantBufferByName(This,name) (This)->lpVtbl->GetConstantBufferByName(This,name)
1005#define ID3D12FunctionReflection_GetResourceBindingDesc(This,index,desc) (This)->lpVtbl->GetResourceBindingDesc(This,index,desc)
1006#define ID3D12FunctionReflection_GetVariableByName(This,name) (This)->lpVtbl->GetVariableByName(This,name)
1007#define ID3D12FunctionReflection_GetResourceBindingDescByName(This,name,desc) (This)->lpVtbl->GetResourceBindingDescByName(This,name,desc)
1008#define ID3D12FunctionReflection_GetFunctionParameter(This,index) (This)->lpVtbl->GetFunctionParameter(This,index)
1009#else
1010/*** ID3D12FunctionReflection methods ***/
1011static FORCEINLINE HRESULT ID3D12FunctionReflection_GetDesc(ID3D12FunctionReflection* This,D3D12_FUNCTION_DESC *desc) {
1012 return This->lpVtbl->GetDesc(This,desc);
1013}
1014static FORCEINLINE ID3D12ShaderReflectionConstantBuffer * ID3D12FunctionReflection_GetConstantBufferByIndex(ID3D12FunctionReflection* This,UINT index) {
1015 return This->lpVtbl->GetConstantBufferByIndex(This,index);
1016}
1017static FORCEINLINE ID3D12ShaderReflectionConstantBuffer * ID3D12FunctionReflection_GetConstantBufferByName(ID3D12FunctionReflection* This,const char *name) {
1018 return This->lpVtbl->GetConstantBufferByName(This,name);
1019}
1020static FORCEINLINE HRESULT ID3D12FunctionReflection_GetResourceBindingDesc(ID3D12FunctionReflection* This,UINT index,D3D12_SHADER_INPUT_BIND_DESC *desc) {
1021 return This->lpVtbl->GetResourceBindingDesc(This,index,desc);
1022}
1023static FORCEINLINE ID3D12ShaderReflectionVariable * ID3D12FunctionReflection_GetVariableByName(ID3D12FunctionReflection* This,const char *name) {
1024 return This->lpVtbl->GetVariableByName(This,name);
1025}
1026static FORCEINLINE HRESULT ID3D12FunctionReflection_GetResourceBindingDescByName(ID3D12FunctionReflection* This,const char *name,D3D12_SHADER_INPUT_BIND_DESC *desc) {
1027 return This->lpVtbl->GetResourceBindingDescByName(This,name,desc);
1028}
1029static FORCEINLINE ID3D12FunctionParameterReflection * ID3D12FunctionReflection_GetFunctionParameter(ID3D12FunctionReflection* This,INT index) {
1030 return This->lpVtbl->GetFunctionParameter(This,index);
1031}
1032#endif
1033#endif
1034
1035#endif
1036
1037
1038#endif /* __ID3D12FunctionReflection_INTERFACE_DEFINED__ */
1039
1040/*****************************************************************************
1041 * ID3D12LibraryReflection interface
1042 */
1043#ifndef __ID3D12LibraryReflection_INTERFACE_DEFINED__
1044#define __ID3D12LibraryReflection_INTERFACE_DEFINED__
1045
1046DEFINE_GUID(IID_ID3D12LibraryReflection, 0x8e349d19, 0x54db, 0x4a56, 0x9d,0xc9, 0x11,0x9d,0x87,0xbd,0xb8,0x04);
1047#if defined(__cplusplus) && !defined(CINTERFACE)
1048MIDL_INTERFACE("8e349d19-54db-4a56-9dc9-119d87bdb804")
1049ID3D12LibraryReflection : public IUnknown
1050{
1051 virtual HRESULT STDMETHODCALLTYPE GetDesc(
1052 D3D12_LIBRARY_DESC *desc) = 0;
1053
1054 virtual ID3D12FunctionReflection * STDMETHODCALLTYPE GetFunctionByIndex(
1055 INT index) = 0;
1056
1057};
1058#ifdef __CRT_UUID_DECL
1059__CRT_UUID_DECL(ID3D12LibraryReflection, 0x8e349d19, 0x54db, 0x4a56, 0x9d,0xc9, 0x11,0x9d,0x87,0xbd,0xb8,0x04)
1060#endif
1061#else
1062typedef struct ID3D12LibraryReflectionVtbl {
1063 BEGIN_INTERFACE
1064
1065 /*** IUnknown methods ***/
1066 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1067 ID3D12LibraryReflection *This,
1068 REFIID riid,
1069 void **ppvObject);
1070
1071 ULONG (STDMETHODCALLTYPE *AddRef)(
1072 ID3D12LibraryReflection *This);
1073
1074 ULONG (STDMETHODCALLTYPE *Release)(
1075 ID3D12LibraryReflection *This);
1076
1077 /*** ID3D12LibraryReflection methods ***/
1078 HRESULT (STDMETHODCALLTYPE *GetDesc)(
1079 ID3D12LibraryReflection *This,
1080 D3D12_LIBRARY_DESC *desc);
1081
1082 ID3D12FunctionReflection * (STDMETHODCALLTYPE *GetFunctionByIndex)(
1083 ID3D12LibraryReflection *This,
1084 INT index);
1085
1086 END_INTERFACE
1087} ID3D12LibraryReflectionVtbl;
1088
1089interface ID3D12LibraryReflection {
1090 CONST_VTBL ID3D12LibraryReflectionVtbl* lpVtbl;
1091};
1092
1093#ifdef COBJMACROS
1094#ifndef WIDL_C_INLINE_WRAPPERS
1095/*** IUnknown methods ***/
1096#define ID3D12LibraryReflection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1097#define ID3D12LibraryReflection_AddRef(This) (This)->lpVtbl->AddRef(This)
1098#define ID3D12LibraryReflection_Release(This) (This)->lpVtbl->Release(This)
1099/*** ID3D12LibraryReflection methods ***/
1100#define ID3D12LibraryReflection_GetDesc(This,desc) (This)->lpVtbl->GetDesc(This,desc)
1101#define ID3D12LibraryReflection_GetFunctionByIndex(This,index) (This)->lpVtbl->GetFunctionByIndex(This,index)
1102#else
1103/*** IUnknown methods ***/
1104static FORCEINLINE HRESULT ID3D12LibraryReflection_QueryInterface(ID3D12LibraryReflection* This,REFIID riid,void **ppvObject) {
1105 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1106}
1107static FORCEINLINE ULONG ID3D12LibraryReflection_AddRef(ID3D12LibraryReflection* This) {
1108 return This->lpVtbl->AddRef(This);
1109}
1110static FORCEINLINE ULONG ID3D12LibraryReflection_Release(ID3D12LibraryReflection* This) {
1111 return This->lpVtbl->Release(This);
1112}
1113/*** ID3D12LibraryReflection methods ***/
1114static FORCEINLINE HRESULT ID3D12LibraryReflection_GetDesc(ID3D12LibraryReflection* This,D3D12_LIBRARY_DESC *desc) {
1115 return This->lpVtbl->GetDesc(This,desc);
1116}
1117static FORCEINLINE ID3D12FunctionReflection * ID3D12LibraryReflection_GetFunctionByIndex(ID3D12LibraryReflection* This,INT index) {
1118 return This->lpVtbl->GetFunctionByIndex(This,index);
1119}
1120#endif
1121#endif
1122
1123#endif
1124
1125
1126#endif /* __ID3D12LibraryReflection_INTERFACE_DEFINED__ */
1127
1128/* Begin additional prototypes for all interfaces */
1129
1130
1131/* End additional prototypes */
1132
1133#ifdef __cplusplus
1134}
1135#endif
1136
1137#endif /* __d3d12shader_h__ */
Note: See TracBrowser for help on using the repository browser.