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