10 #ifndef __D3D12SHADER_H__ 11 #define __D3D12SHADER_H__ 29 #define D3D12_SHVER_GET_TYPE(_Version) \ 30 (((_Version) >> 16) & 0xffff) 31 #define D3D12_SHVER_GET_MAJOR(_Version) \ 32 (((_Version) >> 4) & 0xf) 33 #define D3D12_SHVER_GET_MINOR(_Version) \ 34 (((_Version) >> 0) & 0xf) 37 #define D3D_RETURN_PARAMETER_INDEX (-1) 161 #define D3D_SHADER_REQUIRES_DOUBLES 0x00000001 162 #define D3D_SHADER_REQUIRES_EARLY_DEPTH_STENCIL 0x00000002 163 #define D3D_SHADER_REQUIRES_UAVS_AT_EVERY_STAGE 0x00000004 164 #define D3D_SHADER_REQUIRES_64_UAVS 0x00000008 165 #define D3D_SHADER_REQUIRES_MINIMUM_PRECISION 0x00000010 166 #define D3D_SHADER_REQUIRES_11_1_DOUBLE_EXTENSIONS 0x00000020 167 #define D3D_SHADER_REQUIRES_11_1_SHADER_EXTENSIONS 0x00000040 168 #define D3D_SHADER_REQUIRES_LEVEL_9_COMPARISON_FILTERING 0x00000080 169 #define D3D_SHADER_REQUIRES_TILED_RESOURCES 0x00000100 170 #define D3D_SHADER_REQUIRES_STENCIL_REF 0x00000200 171 #define D3D_SHADER_REQUIRES_INNER_COVERAGE 0x00000400 172 #define D3D_SHADER_REQUIRES_TYPED_UAV_LOAD_ADDITIONAL_FORMATS 0x00000800 173 #define D3D_SHADER_REQUIRES_ROVS 0x00001000 174 #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER 0x00002000 271 0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56);
274 #define INTERFACE ID3D12ShaderReflectionType 282 STDMETHOD_(LPCSTR, GetMemberTypeName)(THIS_ _In_
UINT Index) PURE;
287 STDMETHOD_(
UINT, GetNumInterfaces)(THIS) PURE;
296 0x8337a8a6, 0xa216, 0x444a, 0xb2, 0xf4, 0x31, 0x47, 0x33, 0xa7, 0x3a, 0xea);
299 #define INTERFACE ID3D12ShaderReflectionVariable 308 STDMETHOD_(
UINT, GetInterfaceSlot)(THIS_ _In_
UINT uArrayIndex) PURE;
313 DEFINE_GUID(IID_ID3D12ShaderReflectionConstantBuffer,
314 0xc59598b4, 0x48b3, 0x4869, 0xb9, 0xb1, 0xb1, 0x61, 0x8b, 0x14, 0xa8, 0xb7);
317 #define INTERFACE ID3D12ShaderReflectionConstantBuffer 335 0x5a58797d, 0xa72c, 0x478d, 0x8b, 0xa2, 0xef, 0xc6, 0xb0, 0xef, 0xe8, 0x8e);
338 #define INTERFACE ID3D12ShaderReflection 342 STDMETHOD(QueryInterface)(THIS_ _In_ REFIID iid,
343 _Out_ LPVOID *ppv) PURE;
344 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
345 STDMETHOD_(ULONG,
Release)(THIS) PURE;
352 STDMETHOD(GetResourceBindingDesc)(THIS_ _In_
UINT ResourceIndex,
355 STDMETHOD(GetInputParameterDesc)(THIS_ _In_
UINT ParameterIndex,
357 STDMETHOD(GetOutputParameterDesc)(THIS_ _In_
UINT ParameterIndex,
359 STDMETHOD(GetPatchConstantParameterDesc)(THIS_ _In_
UINT ParameterIndex,
364 STDMETHOD(GetResourceBindingDescByName)(THIS_ _In_ LPCSTR Name,
367 STDMETHOD_(
UINT, GetMovInstructionCount)(THIS) PURE;
368 STDMETHOD_(
UINT, GetMovcInstructionCount)(THIS) PURE;
369 STDMETHOD_(
UINT, GetConversionInstructionCount)(THIS) PURE;
370 STDMETHOD_(
UINT, GetBitwiseInstructionCount)(THIS) PURE;
373 STDMETHOD_(
BOOL, IsSampleFrequencyShader)(THIS) PURE;
375 STDMETHOD_(
UINT, GetNumInterfaceSlots)(THIS) PURE;
378 STDMETHOD_(
UINT, GetThreadGroupSize)(THIS_
379 _Out_opt_
UINT* pSizeX,
380 _Out_opt_
UINT* pSizeY,
381 _Out_opt_
UINT* pSizeZ) PURE;
383 STDMETHOD_(
UINT64, GetRequiresFlags)(THIS) PURE;
389 0x8e349d19, 0x54db, 0x4a56, 0x9d, 0xc9, 0x11, 0x9d, 0x87, 0xbd, 0xb8, 0x4);
392 #define INTERFACE ID3D12LibraryReflection 396 STDMETHOD(QueryInterface)(THIS_ _In_ REFIID iid, _Out_ LPVOID * ppv) PURE;
397 STDMETHOD_(ULONG, AddRef)(THIS) PURE;
398 STDMETHOD_(ULONG,
Release)(THIS) PURE;
408 0x1108795c, 0x2772, 0x4ba9, 0xb2, 0xa8, 0xd4, 0x64, 0xdc, 0x7e, 0x27, 0x99);
411 #define INTERFACE ID3D12FunctionReflection 420 STDMETHOD(GetResourceBindingDesc)(THIS_ _In_
UINT ResourceIndex,
425 STDMETHOD(GetResourceBindingDescByName)(THIS_ _In_ LPCSTR Name,
435 0xec25f42d, 0x7006, 0x4f2b, 0xb3, 0x3e, 0
x2, 0xcc, 0x33, 0x75, 0x73, 0x3f);
438 #define INTERFACE ID3D12FunctionParameterReflection 458 #endif //__D3D12SHADER_H__ LPCSTR Name
Definition: d3d12shader.h:217
UINT ConstantBuffers
Definition: d3d12shader.h:107
enum _D3D_SHADER_VARIABLE_CLASS D3D_SHADER_VARIABLE_CLASS
D3D_INTERPOLATION_MODE InterpolationMode
Definition: d3d12shader.h:232
D3D_NAME SystemValueType
Definition: d3d12shader.h:49
UINT TextureGradientInstructions
Definition: d3d12shader.h:202
UINT uFlags
Definition: d3d12shader.h:67
UINT Members
Definition: d3d12shader.h:90
UINT Offset
Definition: d3d12shader.h:91
UINT EmitInstructionCount
Definition: d3d12shader.h:130
D3D_REGISTER_COMPONENT_TYPE ComponentType
Definition: d3d12shader.h:50
D3D_FEATURE_LEVEL
Definition: d3dcommon.h:79
interface ID3D12ShaderReflection ID3D12ShaderReflection
Definition: d3d12shader.h:255
UINT DefCount
Definition: d3d12shader.h:115
UINT MacroInstructionCount
Definition: d3d12shader.h:208
D3D_PRIMITIVE_TOPOLOGY GSOutputTopology
Definition: d3d12shader.h:131
struct _D3D12_SHADER_TYPE_DESC D3D12_SHADER_TYPE_DESC
struct _D3D12_SHADER_VARIABLE_DESC D3D12_SHADER_VARIABLE_DESC
struct _D3D12_SHADER_INPUT_BIND_DESC D3D12_SHADER_INPUT_BIND_DESC
UINT cBarrierInstructions
Definition: d3d12shader.h:141
Definition: d3d12shader.h:18
UINT FirstInComponent
Definition: d3d12shader.h:236
D3D_RESOURCE_RETURN_TYPE D3D12_RESOURCE_RETURN_TYPE
Definition: d3d12shader.h:39
D3D_SHADER_VARIABLE_TYPE Type
Definition: d3d12shader.h:86
UINT ConversionInstructionCount
Definition: d3d12shader.h:212
GLfixed GLfixed x2
Definition: glsym_gl.h:1051
D3D_PRIMITIVE
Definition: d3dcommon.h:207
UINT Flags
Definition: d3d12shader.h:180
UINT cTextureStoreInstructions
Definition: d3d12shader.h:143
UINT BindCount
Definition: d3d12shader.h:151
D3D_TESSELLATOR_PARTITIONING
Definition: d3dcommon.h:913
interface ID3D12FunctionParameterReflection ID3D12FunctionParameterReflection
Definition: d3d12shader.h:264
UINT cControlPoints
Definition: d3d12shader.h:136
D3D_SHADER_VARIABLE_CLASS Class
Definition: d3d12shader.h:85
struct _D3D12_LIBRARY_DESC D3D12_LIBRARY_DESC
UINT InputParameters
Definition: d3d12shader.h:109
uint64_t UINT64
Definition: coretypes.h:8
interface ID3D12ShaderReflectionType * LPD3D12SHADERREFLECTIONTYPE
Definition: d3d12shader.h:247
UINT MovcInstructionCount
Definition: d3d12shader.h:211
D3D_TESSELLATOR_OUTPUT_PRIMITIVE D3D12_TESSELLATOR_OUTPUT_PRIMITIVE
Definition: d3d12shader.h:99
LPCSTR SemanticName
Definition: d3d12shader.h:227
UINT Flags
Definition: d3d12shader.h:188
interface ID3D12FunctionReflection * LPD3D12FUNCTIONREFLECTION
Definition: d3d12shader.h:262
Definition: d3d12shader.h:22
D3D_TESSELLATOR_OUTPUT_PRIMITIVE
Definition: d3dcommon.h:928
interface ID3D12ShaderReflectionVariable ID3D12ShaderReflectionVariable
Definition: d3d12shader.h:249
struct _D3D12_SIGNATURE_PARAMETER_DESC D3D12_SIGNATURE_PARAMETER_DESC
interface ID3D12ShaderReflectionType ID3D12ShaderReflectionType
Definition: d3d12shader.h:246
BOOL Has10Level9PixelShader
Definition: d3d12shader.h:221
UINT Columns
Definition: d3d12shader.h:231
D3D_CBUFFER_TYPE Type
Definition: d3d12shader.h:64
D3D_NAME
Definition: d3dcommon.h:805
struct _D3D12_FUNCTION_DESC D3D12_FUNCTION_DESC
D3D_CBUFFER_TYPE D3D12_CBUFFER_TYPE
Definition: d3d12shader.h:41
interface ID3D12ShaderReflectionVariable * LPD3D12SHADERREFLECTIONVARIABLE
Definition: d3d12shader.h:250
Definition: d3d12shader.h:101
UINT BindPoint
Definition: d3d12shader.h:150
interface ID3D12FunctionParameterReflection * LPD3D12FUNCTIONPARAMETERREFLECTION
Definition: d3d12shader.h:265
UINT cGSInstanceCount
Definition: d3d12shader.h:135
UINT Version
Definition: d3d12shader.h:103
UINT SemanticIndex
Definition: d3d12shader.h:47
interface ID3D12ShaderReflection * LPD3D12SHADERREFLECTION
Definition: d3d12shader.h:256
D3D_TESSELLATOR_DOMAIN D3D12_TESSELLATOR_DOMAIN
Definition: d3d12shader.h:95
D3D_MIN_PRECISION
Definition: d3dcommon.h:943
D3D12_SHADER_VERSION_TYPE
Definition: d3d12shader.h:15
BOOL Has10Level9VertexShader
Definition: d3d12shader.h:220
UINT NumSamples
Definition: d3d12shader.h:156
D3D_INTERPOLATION_MODE
Definition: d3dcommon.h:956
interface ID3D12ShaderReflectionConstantBuffer ID3D12ShaderReflectionConstantBuffer
Definition: d3d12shader.h:252
UINT TextureGradientInstructions
Definition: d3d12shader.h:121
UINT TextureSize
Definition: d3d12shader.h:78
UINT StartTexture
Definition: d3d12shader.h:77
UINT StaticFlowControlCount
Definition: d3d12shader.h:206
D3D_SHADER_INPUT_TYPE Type
Definition: d3d12shader.h:149
UINT StartOffset
Definition: d3d12shader.h:73
LPCSTR Creator
Definition: d3d12shader.h:187
UINT ArrayInstructionCount
Definition: d3d12shader.h:128
UINT Elements
Definition: d3d12shader.h:89
UINT uID
Definition: d3d12shader.h:158
D3D_FEATURE_LEVEL MinFeatureLevel
Definition: d3d12shader.h:214
LPCSTR Name
Definition: d3d12shader.h:63
DECLARE_INTERFACE_(ID3D12ShaderReflection, IUnknown)
Definition: d3d12shader.h:340
UINT ConstantBuffers
Definition: d3d12shader.h:190
UINT cInterlockedInstructions
Definition: d3d12shader.h:142
UINT TextureCompInstructions
Definition: d3d12shader.h:200
D3D_REGISTER_COMPONENT_TYPE
Definition: d3dcommon.h:887
UINT OutputParameters
Definition: d3d12shader.h:110
D3D_TESSELLATOR_DOMAIN
Definition: d3dcommon.h:900
D3D_TESSELLATOR_OUTPUT_PRIMITIVE HSOutputPrimitive
Definition: d3d12shader.h:137
UINT ArrayInstructionCount
Definition: d3d12shader.h:209
Definition: d3d12shader.h:61
UINT UintInstructionCount
Definition: d3d12shader.h:205
UINT StaticFlowControlCount
Definition: d3d12shader.h:125
Definition: d3d12shader.h:19
UINT Flags
Definition: d3d12shader.h:105
UINT DefCount
Definition: d3d12shader.h:196
UINT Rows
Definition: d3d12shader.h:87
interface ID3D12LibraryReflection * LPD3D12LIBRARYREFLECTION
Definition: d3d12shader.h:259
UINT Register
Definition: d3d12shader.h:48
D3D_RESOURCE_RETURN_TYPE ReturnType
Definition: d3d12shader.h:154
UINT PatchConstantParameters
Definition: d3d12shader.h:134
DEFINE_GUID(IID_ID3D12ShaderReflectionType, 0xe913c351, 0x783d, 0x48ca, 0xa1, 0xd1, 0x4f, 0x30, 0x62, 0x84, 0xad, 0x56)
BYTE ReadWriteMask
Definition: d3d12shader.h:53
Definition: d3d12shader.h:177
UINT FirstOutComponent
Definition: d3d12shader.h:238
UINT TextureCompInstructions
Definition: d3d12shader.h:119
UINT BitwiseInstructionCount
Definition: d3d12shader.h:213
struct _D3D12_PARAMETER_DESC D3D12_PARAMETER_DESC
D3D_SRV_DIMENSION
Definition: d3dcommon.h:294
UINT Variables
Definition: d3d12shader.h:65
Definition: d3d12shader.h:83
UINT Rows
Definition: d3d12shader.h:230
UINT uFlags
Definition: d3d12shader.h:75
Definition: d3d12shader.h:44
UINT CutInstructionCount
Definition: d3d12shader.h:129
D3D_TESSELLATOR_DOMAIN TessellatorDomain
Definition: d3d12shader.h:139
#define A(i)
Definition: ecp_curves.c:884
UINT GSMaxOutputVertexCount
Definition: d3d12shader.h:132
LPVOID DefaultValue
Definition: d3d12shader.h:76
DECLARE_INTERFACE(ID3D12ShaderReflectionType)
Definition: d3d12shader.h:276
LPCSTR Name
Definition: d3d12shader.h:148
UINT TempArrayCount
Definition: d3d12shader.h:195
enum _D3D_SHADER_INPUT_TYPE D3D_SHADER_INPUT_TYPE
UINT TempRegisterCount
Definition: d3d12shader.h:194
Definition: d3d12shader.h:224
UINT SamplerSize
Definition: d3d12shader.h:80
Definition: d3d12shader.h:17
interface ID3D12FunctionReflection ID3D12FunctionReflection
Definition: d3d12shader.h:261
UINT FirstOutRegister
Definition: d3d12shader.h:237
UINT Columns
Definition: d3d12shader.h:88
Definition: d3d12shader.h:146
enum _D3D_CBUFFER_TYPE D3D_CBUFFER_TYPE
UINT TextureBiasInstructions
Definition: d3d12shader.h:201
UINT TempArrayCount
Definition: d3d12shader.h:114
D3D_TESSELLATOR_PARTITIONING D3D12_TESSELLATOR_PARTITIONING
Definition: d3d12shader.h:97
BOOL HasReturn
Definition: d3d12shader.h:219
Definition: d3d12shader.h:70
static INLINE ULONG Release(void *object)
Definition: dxgi_common.h:253
UINT MacroInstructionCount
Definition: d3d12shader.h:127
UINT InstructionCount
Definition: d3d12shader.h:193
UINT FunctionCount
Definition: d3d12shader.h:181
UINT UintInstructionCount
Definition: d3d12shader.h:124
unsigned int BOOL
Definition: gctypes.h:51
enum _D3D_SHADER_VARIABLE_TYPE D3D_SHADER_VARIABLE_TYPE
UINT TextureBiasInstructions
Definition: d3d12shader.h:120
LPCSTR Creator
Definition: d3d12shader.h:179
interface ID3D12ShaderReflectionConstantBuffer * LPD3D12SHADERREFLECTIONCONSTANTBUFFER
Definition: d3d12shader.h:253
enum _D3D_PARAMETER_FLAGS D3D_PARAMETER_FLAGS
D3D_TESSELLATOR_PARTITIONING HSPartitioning
Definition: d3d12shader.h:138
D3D_PRIMITIVE_TOPOLOGY
Definition: d3dcommon.h:108
D3D_PARAMETER_FLAGS Flags
Definition: d3d12shader.h:233
D3D_MIN_PRECISION MinPrecision
Definition: d3d12shader.h:58
LPCSTR Creator
Definition: d3d12shader.h:104
Definition: glslang_tab.cpp:135
interface DECLSPEC_UUID("E913C351-783D-48CA-A1D1-4F306284AD56") ID3D12ShaderReflectionType
Definition: d3d12shader.h:184
UINT DynamicFlowControlCount
Definition: d3d12shader.h:207
D3D_RESOURCE_RETURN_TYPE
Definition: d3dcommon.h:860
UINT TextureLoadInstructions
Definition: d3d12shader.h:199
struct _D3D12_SHADER_BUFFER_DESC D3D12_SHADER_BUFFER_DESC
UINT64 RequiredFeatureFlags
Definition: d3d12shader.h:215
Definition: glslang_tab.cpp:136
D3D_SRV_DIMENSION Dimension
Definition: d3d12shader.h:155
UINT StartSampler
Definition: d3d12shader.h:79
Definition: d3d12shader.h:23
INT FunctionParameterCount
Definition: d3d12shader.h:218
UINT MovInstructionCount
Definition: d3d12shader.h:210
UINT Stream
Definition: d3d12shader.h:57
Definition: d3d12shader.h:24
D3D_SHADER_VARIABLE_TYPE Type
Definition: d3d12shader.h:228
LPCSTR Name
Definition: d3d12shader.h:72
LPCSTR Name
Definition: d3d12shader.h:92
LPCSTR Name
Definition: d3d12shader.h:226
UINT Size
Definition: d3d12shader.h:66
UINT Version
Definition: d3d12shader.h:186
D3D_PRIMITIVE InputPrimitive
Definition: d3d12shader.h:133
UINT Size
Definition: d3d12shader.h:74
D3D_SHADER_VARIABLE_CLASS Class
Definition: d3d12shader.h:229
UINT Space
Definition: d3d12shader.h:157
UINT FloatInstructionCount
Definition: d3d12shader.h:122
LPCSTR SemanticName
Definition: d3d12shader.h:46
BYTE Mask
Definition: d3d12shader.h:51
UINT TextureNormalInstructions
Definition: d3d12shader.h:117
UINT IntInstructionCount
Definition: d3d12shader.h:204
Definition: d3d12shader.h:26
UINT TempRegisterCount
Definition: d3d12shader.h:113
UINT DynamicFlowControlCount
Definition: d3d12shader.h:126
UINT IntInstructionCount
Definition: d3d12shader.h:123
UINT FirstInRegister
Definition: d3d12shader.h:235
UINT TextureNormalInstructions
Definition: d3d12shader.h:198
UINT FloatInstructionCount
Definition: d3d12shader.h:203
UINT BoundResources
Definition: d3d12shader.h:108
UINT TextureLoadInstructions
Definition: d3d12shader.h:118
UINT DclCount
Definition: d3d12shader.h:197
struct _D3D12_SHADER_DESC D3D12_SHADER_DESC
UINT uFlags
Definition: d3d12shader.h:153
interface ID3D12LibraryReflection ID3D12LibraryReflection
Definition: d3d12shader.h:258
UINT DclCount
Definition: d3d12shader.h:116
UINT BoundResources
Definition: d3d12shader.h:191
UINT InstructionCount
Definition: d3d12shader.h:112