31#ifndef SPIRV_REFLECT_H
32#define SPIRV_REFLECT_H
34#include <spirv/unified1/spirv.h>
40 #define SPV_REFLECT_DEPRECATED(msg_str) __declspec(deprecated("This symbol is deprecated. Details: " msg_str))
41#elif defined(__clang__)
42 #define SPV_REFLECT_DEPRECATED(msg_str) __attribute__((deprecated(msg_str)))
43#elif defined(__GNUC__)
44 #if GCC_VERSION >= 40500
45 #define SPV_REFLECT_DEPRECATED(msg_str) __attribute__((deprecated(msg_str)))
47 #define SPV_REFLECT_DEPRECATED(msg_str) __attribute__((deprecated))
50 #define SPV_REFLECT_DEPRECATED(msg_str)
619#if defined(__cplusplus)
695 const char* entry_point
744 const char* entry_point,
795 const char* entry_point,
847 const char* entry_point,
899 const char* entry_point,
951 const char* entry_point,
1011 const char* entry_point,
1060 uint32_t binding_number,
1061 uint32_t set_number,
1092 const char* entry_point,
1093 uint32_t binding_number,
1094 uint32_t set_number,
1117 uint32_t set_number,
1140 const char* entry_point,
1141 uint32_t set_number,
1201 const char* entry_point,
1229 const char* semantic,
1257 const char* entry_point,
1258 const char* semantic,
1317 const char* entry_point,
1345 const char* semantic,
1373 const char* entry_point,
1374 const char* semantic,
1428 const char* entry_point,
1459 uint32_t new_binding_number,
1460 uint32_t new_set_number
1466 uint32_t new_binding_number,
1467 uint32_t optional_new_set_number
1495 uint32_t new_set_number
1518 uint32_t new_location
1542 uint32_t new_location
1564#if defined(__cplusplus)
1568#if defined(__cplusplus) && !defined(SPIRV_REFLECT_DISABLE_CPP_BINDINGS)
1573namespace spv_reflect {
1586 ShaderModule(ShaderModule&& other);
1587 ShaderModule& operator=(ShaderModule&& other);
1593 uint32_t GetCodeSize()
const;
1594 const uint32_t* GetCode()
const;
1596 const char* GetEntryPointName()
const;
1598 const char* GetSourceFile()
const;
1600 uint32_t GetEntryPointCount()
const;
1601 const char* GetEntryPointName(uint32_t index)
const;
1607 return GetShaderStage();
1624 return EnumeratePushConstantBlocks(p_count, pp_blocks);
1635 return GetInputVariableByLocation(location, p_result);
1643 return GetOutputVariableByLocation(location, p_result);
1651 return GetPushConstantBlock(index, p_result);
1661 return ChangeDescriptorBindingNumbers(p_binding, new_binding_number, new_set_number);
1669 ShaderModule(
const ShaderModule&);
1670 ShaderModule& operator=(
const ShaderModule&);
1685inline ShaderModule::ShaderModule() {}
1723 code.size() *
sizeof(uint32_t),
1731inline ShaderModule::~ShaderModule() {
1736inline ShaderModule::ShaderModule(ShaderModule&& other)
1738 *
this = std::move(other);
1741inline ShaderModule& ShaderModule::operator=(ShaderModule&& other)
1743 m_result = std::move(other.m_result);
1744 m_module = std::move(other.m_module);
1746 other.m_module = {};
1775inline uint32_t ShaderModule::GetCodeSize()
const {
1785inline const uint32_t* ShaderModule::GetCode()
const {
1795inline const char* ShaderModule::GetEntryPointName()
const {
1796 return this->GetEntryPointName(0);
1804inline const char* ShaderModule::GetSourceFile()
const {
1805 return m_module.source_file;
1813inline uint32_t ShaderModule::GetEntryPointCount()
const {
1814 return m_module.entry_point_count;
1822inline const char* ShaderModule::GetEntryPointName(uint32_t index)
const {
1823 return m_module.entry_points[index].name;
1832 return m_module.entry_points[index].shader_stage;
1841 return m_module.shader_stage;
1872inline SpvReflectResult ShaderModule::EnumerateEntryPointDescriptorBindings(
1873 const char* entry_point,
1915 const char* entry_point,
1956inline SpvReflectResult ShaderModule::EnumerateEntryPointInterfaceVariables(
1957 const char* entry_point,
1999 const char* entry_point,
2041 const char* entry_point,
2100inline SpvReflectResult ShaderModule::EnumerateEntryPointPushConstantBlocks(
2101 const char* entry_point,
2124 uint32_t binding_number,
2125 uint32_t set_number,
2146 const char* entry_point,
2147 uint32_t binding_number,
2148 uint32_t set_number,
2169 uint32_t set_number,
2188 const char* entry_point,
2189 uint32_t set_number,
2219 const char* semantic,
2238 const char* entry_point,
2250 const char* entry_point,
2251 const char* semantic,
2281 const char* semantic,
2299 const char* entry_point,
2311 const char* entry_point,
2312 const char* semantic,
2351 const char* entry_point,
2372 uint32_t new_binding_number,
2373 uint32_t new_set_number
2393 uint32_t new_set_number
2412 uint32_t new_location)
2430 uint32_t new_location)
@ SPV_REFLECT_MAX_DESCRIPTOR_SETS
Definition spirv_reflect.h:327
@ SPV_REFLECT_MAX_ARRAY_DIMS
Definition spirv_reflect.h:326
SpvReflectExecutionModeValue
Definition spirv_reflect.h:516
@ SPV_REFLECT_EXECUTION_MODE_SPEC_CONSTANT
Definition spirv_reflect.h:517
SpvReflectResult spvReflectEnumerateEntryPointOutputVariables(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
Definition spirv_reflect.cpp:5568
struct SpvReflectDescriptorBinding SpvReflectDescriptorBinding
SpvReflectResult spvReflectEnumeratePushConstantBlocks(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectBlockVariable **pp_blocks)
Definition spirv_reflect.cpp:5601
SpvReflectResult spvReflectEnumerateInputVariables(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
Definition spirv_reflect.cpp:5481
const SpvReflectBlockVariable * spvReflectGetPushConstantBlock(const SpvReflectShaderModule *p_module, uint32_t index, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6162
SpvReflectFormat
Definition spirv_reflect.h:216
@ SPV_REFLECT_FORMAT_R16_UINT
Definition spirv_reflect.h:218
@ SPV_REFLECT_FORMAT_R16_SFLOAT
Definition spirv_reflect.h:220
@ SPV_REFLECT_FORMAT_UNDEFINED
Definition spirv_reflect.h:217
@ SPV_REFLECT_FORMAT_R32G32B32_UINT
Definition spirv_reflect.h:236
@ SPV_REFLECT_FORMAT_R32G32B32A32_UINT
Definition spirv_reflect.h:239
@ SPV_REFLECT_FORMAT_R16G16B16_SFLOAT
Definition spirv_reflect.h:226
@ SPV_REFLECT_FORMAT_R64G64B64_SINT
Definition spirv_reflect.h:249
@ SPV_REFLECT_FORMAT_R16G16B16A16_SINT
Definition spirv_reflect.h:228
@ SPV_REFLECT_FORMAT_R16G16_SFLOAT
Definition spirv_reflect.h:223
@ SPV_REFLECT_FORMAT_R32G32_UINT
Definition spirv_reflect.h:233
@ SPV_REFLECT_FORMAT_R32G32_SFLOAT
Definition spirv_reflect.h:235
@ SPV_REFLECT_FORMAT_R64G64B64_UINT
Definition spirv_reflect.h:248
@ SPV_REFLECT_FORMAT_R16G16B16A16_UINT
Definition spirv_reflect.h:227
@ SPV_REFLECT_FORMAT_R32_SFLOAT
Definition spirv_reflect.h:232
@ SPV_REFLECT_FORMAT_R64G64B64A64_SFLOAT
Definition spirv_reflect.h:253
@ SPV_REFLECT_FORMAT_R64_SFLOAT
Definition spirv_reflect.h:244
@ SPV_REFLECT_FORMAT_R16G16B16_SINT
Definition spirv_reflect.h:225
@ SPV_REFLECT_FORMAT_R16_SINT
Definition spirv_reflect.h:219
@ SPV_REFLECT_FORMAT_R64G64B64A64_UINT
Definition spirv_reflect.h:251
@ SPV_REFLECT_FORMAT_R16G16B16_UINT
Definition spirv_reflect.h:224
@ SPV_REFLECT_FORMAT_R16G16_SINT
Definition spirv_reflect.h:222
@ SPV_REFLECT_FORMAT_R64_SINT
Definition spirv_reflect.h:243
@ SPV_REFLECT_FORMAT_R32G32B32_SINT
Definition spirv_reflect.h:237
@ SPV_REFLECT_FORMAT_R64G64B64A64_SINT
Definition spirv_reflect.h:252
@ SPV_REFLECT_FORMAT_R32G32B32_SFLOAT
Definition spirv_reflect.h:238
@ SPV_REFLECT_FORMAT_R64G64B64_SFLOAT
Definition spirv_reflect.h:250
@ SPV_REFLECT_FORMAT_R64G64_UINT
Definition spirv_reflect.h:245
@ SPV_REFLECT_FORMAT_R32_SINT
Definition spirv_reflect.h:231
@ SPV_REFLECT_FORMAT_R32G32_SINT
Definition spirv_reflect.h:234
@ SPV_REFLECT_FORMAT_R16G16_UINT
Definition spirv_reflect.h:221
@ SPV_REFLECT_FORMAT_R64G64_SFLOAT
Definition spirv_reflect.h:247
@ SPV_REFLECT_FORMAT_R32_UINT
Definition spirv_reflect.h:230
@ SPV_REFLECT_FORMAT_R32G32B32A32_SFLOAT
Definition spirv_reflect.h:241
@ SPV_REFLECT_FORMAT_R32G32B32A32_SINT
Definition spirv_reflect.h:240
@ SPV_REFLECT_FORMAT_R64G64_SINT
Definition spirv_reflect.h:246
@ SPV_REFLECT_FORMAT_R16G16B16A16_SFLOAT
Definition spirv_reflect.h:229
@ SPV_REFLECT_FORMAT_R64_UINT
Definition spirv_reflect.h:242
SpvReflectResult
Definition spirv_reflect.h:56
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE
Definition spirv_reflect.h:69
@ SPV_REFLECT_RESULT_ERROR_SPIRV_RECURSION
Definition spirv_reflect.h:72
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ENTRY_POINT
Definition spirv_reflect.h:76
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_BLOCK_MEMBER_REFERENCE
Definition spirv_reflect.h:75
@ SPV_REFLECT_RESULT_ERROR_PARSE_FAILED
Definition spirv_reflect.h:59
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_MAGIC_NUMBER
Definition spirv_reflect.h:67
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_INSTRUCTION
Definition spirv_reflect.h:73
@ SPV_REFLECT_RESULT_ERROR_SPIRV_SET_NUMBER_OVERFLOW
Definition spirv_reflect.h:70
@ SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED
Definition spirv_reflect.h:60
@ SPV_REFLECT_RESULT_NOT_READY
Definition spirv_reflect.h:58
@ SPV_REFLECT_RESULT_SUCCESS
Definition spirv_reflect.h:57
@ SPV_REFLECT_RESULT_ERROR_SPIRV_MAX_RECURSIVE_EXCEEDED
Definition spirv_reflect.h:78
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_EXECUTION_MODE
Definition spirv_reflect.h:77
@ SPV_REFLECT_RESULT_ERROR_SPIRV_UNEXPECTED_EOF
Definition spirv_reflect.h:68
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_STORAGE_CLASS
Definition spirv_reflect.h:71
@ SPV_REFLECT_RESULT_ERROR_SPIRV_UNEXPECTED_BLOCK_DATA
Definition spirv_reflect.h:74
@ SPV_REFLECT_RESULT_ERROR_RANGE_EXCEEDED
Definition spirv_reflect.h:61
@ SPV_REFLECT_RESULT_ERROR_INTERNAL_ERROR
Definition spirv_reflect.h:63
@ SPV_REFLECT_RESULT_ERROR_COUNT_MISMATCH
Definition spirv_reflect.h:64
@ SPV_REFLECT_RESULT_ERROR_NULL_POINTER
Definition spirv_reflect.h:62
@ SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND
Definition spirv_reflect.h:65
@ SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_CODE_SIZE
Definition spirv_reflect.h:66
const SpvReflectDescriptorSet * spvReflectGetEntryPointDescriptorSet(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t set_number, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5799
SpvReflectResult spvReflectCreateShaderModule(size_t size, const void *p_code, SpvReflectShaderModule *p_module)
Definition spirv_reflect.cpp:5111
const char * spvReflectSourceLanguage(SpvSourceLanguage source_lang)
Definition spirv_reflect.cpp:6382
struct SpvReflectDescriptorSet SpvReflectDescriptorSet
const SpvReflectInterfaceVariable * spvReflectGetEntryPointInputVariableByLocation(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t location, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5871
const SpvReflectInterfaceVariable * spvReflectGetEntryPointInputVariableBySemantic(const SpvReflectShaderModule *p_module, const char *entry_point, const char *semantic, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5951
const SpvReflectDescriptorBinding * spvReflectGetEntryPointDescriptorBinding(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t binding_number, uint32_t set_number, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5735
SpvReflectGenerator
Definition spirv_reflect.h:312
@ SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_ASSEMBLER
Definition spirv_reflect.h:314
@ SPV_REFLECT_GENERATOR_GOOGLE_RSPIRV
Definition spirv_reflect.h:318
@ SPV_REFLECT_GENERATOR_WINE_VKD3D_SHADER_COMPILER
Definition spirv_reflect.h:321
@ SPV_REFLECT_GENERATOR_KHRONOS_GLSLANG_REFERENCE_FRONT_END
Definition spirv_reflect.h:315
@ SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_LINKER
Definition spirv_reflect.h:320
@ SPV_REFLECT_GENERATOR_CLAY_CLAY_SHADER_COMPILER
Definition spirv_reflect.h:322
@ SPV_REFLECT_GENERATOR_GOOGLE_SHADERC_OVER_GLSLANG
Definition spirv_reflect.h:316
@ SPV_REFLECT_GENERATOR_GOOGLE_SPIREGG
Definition spirv_reflect.h:317
@ SPV_REFLECT_GENERATOR_KHRONOS_LLVM_SPIRV_TRANSLATOR
Definition spirv_reflect.h:313
@ SPV_REFLECT_GENERATOR_X_LEGEND_MESA_MESAIR_SPIRV_TRANSLATOR
Definition spirv_reflect.h:319
SpvReflectResult spvReflectChangeOutputVariableLocation(SpvReflectShaderModule *p_module, const SpvReflectInterfaceVariable *p_output_variable, uint32_t new_location)
Definition spirv_reflect.cpp:6362
SpvReflectResult spvReflectEnumerateEntryPointDescriptorSets(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectDescriptorSet **pp_sets)
Definition spirv_reflect.cpp:5388
struct SpvReflectCapability SpvReflectCapability
uint32_t SpvReflectTypeFlags
Definition spirv_reflect.h:122
const SpvReflectInterfaceVariable * spvReflectGetEntryPointOutputVariableByLocation(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t location, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6036
uint32_t SpvReflectModuleFlags
Definition spirv_reflect.h:98
SpvReflectModuleFlagBits
Definition spirv_reflect.h:93
@ SPV_REFLECT_MODULE_FLAG_NO_COPY
Definition spirv_reflect.h:95
@ SPV_REFLECT_MODULE_FLAG_NONE
Definition spirv_reflect.h:94
SpvReflectResourceType
Definition spirv_reflect.h:205
@ SPV_REFLECT_RESOURCE_FLAG_SRV
Definition spirv_reflect.h:209
@ SPV_REFLECT_RESOURCE_FLAG_SAMPLER
Definition spirv_reflect.h:207
@ SPV_REFLECT_RESOURCE_FLAG_UAV
Definition spirv_reflect.h:210
@ SPV_REFLECT_RESOURCE_FLAG_CBV
Definition spirv_reflect.h:208
@ SPV_REFLECT_RESOURCE_FLAG_UNDEFINED
Definition spirv_reflect.h:206
const SpvReflectDescriptorSet * spvReflectGetDescriptorSet(const SpvReflectShaderModule *p_module, uint32_t set_number, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5774
const SpvReflectInterfaceVariable * spvReflectGetInputVariableBySemantic(const SpvReflectShaderModule *p_module, const char *semantic, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5912
const char * spvReflectBlockVariableTypeName(const SpvReflectBlockVariable *p_var)
Definition spirv_reflect.cpp:6411
uint32_t spvReflectGetCodeSize(const SpvReflectShaderModule *p_module)
Definition spirv_reflect.cpp:5258
SpvReflectResult spvReflectEnumerateEntryPointInputVariables(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
Definition spirv_reflect.cpp:5508
struct SpvReflectTypeDescription SpvReflectTypeDescription
struct SpvReflectShaderModule SpvReflectShaderModule
const SpvReflectInterfaceVariable * spvReflectGetInputVariableByLocation(const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5833
struct SpvReflectBlockVariable SpvReflectBlockVariable
SpvReflectResult spvReflectEnumerateDescriptorSets(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectDescriptorSet **pp_sets)
Definition spirv_reflect.cpp:5361
const SpvReflectInterfaceVariable * spvReflectGetInputVariable(const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5863
uint32_t SpvReflectDecorationFlags
Definition spirv_reflect.h:156
SpvReflectResult spvReflectEnumerateInterfaceVariables(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
Definition spirv_reflect.cpp:5421
const uint32_t * spvReflectGetCode(const SpvReflectShaderModule *p_module)
Definition spirv_reflect.cpp:5267
SpvReflectResult spvReflectEnumerateEntryPointPushConstantBlocks(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectBlockVariable **pp_blocks)
Definition spirv_reflect.cpp:5635
const SpvReflectInterfaceVariable * spvReflectGetEntryPointOutputVariableBySemantic(const SpvReflectShaderModule *p_module, const char *entry_point, const char *semantic, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6116
SpvReflectTypeFlagBits
Definition spirv_reflect.h:103
@ SPV_REFLECT_TYPE_FLAG_VOID
Definition spirv_reflect.h:105
@ SPV_REFLECT_TYPE_FLAG_MATRIX
Definition spirv_reflect.h:110
@ SPV_REFLECT_TYPE_FLAG_EXTERNAL_SAMPLER
Definition spirv_reflect.h:112
@ SPV_REFLECT_TYPE_FLAG_ARRAY
Definition spirv_reflect.h:118
@ SPV_REFLECT_TYPE_FLAG_BOOL
Definition spirv_reflect.h:106
@ SPV_REFLECT_TYPE_FLAG_EXTERNAL_ACCELERATION_STRUCTURE
Definition spirv_reflect.h:115
@ SPV_REFLECT_TYPE_FLAG_VECTOR
Definition spirv_reflect.h:109
@ SPV_REFLECT_TYPE_FLAG_INT
Definition spirv_reflect.h:107
@ SPV_REFLECT_TYPE_FLAG_REF
Definition spirv_reflect.h:119
@ SPV_REFLECT_TYPE_FLAG_EXTERNAL_SAMPLED_IMAGE
Definition spirv_reflect.h:113
@ SPV_REFLECT_TYPE_FLAG_FLOAT
Definition spirv_reflect.h:108
@ SPV_REFLECT_TYPE_FLAG_UNDEFINED
Definition spirv_reflect.h:104
@ SPV_REFLECT_TYPE_FLAG_EXTERNAL_IMAGE
Definition spirv_reflect.h:111
@ SPV_REFLECT_TYPE_FLAG_EXTERNAL_BLOCK
Definition spirv_reflect.h:114
@ SPV_REFLECT_TYPE_FLAG_STRUCT
Definition spirv_reflect.h:117
@ SPV_REFLECT_TYPE_FLAG_EXTERNAL_MASK
Definition spirv_reflect.h:116
struct SpvReflectBindingArrayTraits SpvReflectBindingArrayTraits
SpvReflectShaderStageFlagBits
Definition spirv_reflect.h:289
@ SPV_REFLECT_SHADER_STAGE_COMPUTE_BIT
Definition spirv_reflect.h:295
@ SPV_REFLECT_SHADER_STAGE_ANY_HIT_BIT_KHR
Definition spirv_reflect.h:301
@ SPV_REFLECT_SHADER_STAGE_VERTEX_BIT
Definition spirv_reflect.h:290
@ SPV_REFLECT_SHADER_STAGE_CALLABLE_BIT_KHR
Definition spirv_reflect.h:305
@ SPV_REFLECT_SHADER_STAGE_MESH_BIT_EXT
Definition spirv_reflect.h:299
@ SPV_REFLECT_SHADER_STAGE_MESH_BIT_NV
Definition spirv_reflect.h:298
@ SPV_REFLECT_SHADER_STAGE_TESSELLATION_CONTROL_BIT
Definition spirv_reflect.h:291
@ SPV_REFLECT_SHADER_STAGE_MISS_BIT_KHR
Definition spirv_reflect.h:303
@ SPV_REFLECT_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
Definition spirv_reflect.h:292
@ SPV_REFLECT_SHADER_STAGE_FRAGMENT_BIT
Definition spirv_reflect.h:294
@ SPV_REFLECT_SHADER_STAGE_GEOMETRY_BIT
Definition spirv_reflect.h:293
@ SPV_REFLECT_SHADER_STAGE_TASK_BIT_NV
Definition spirv_reflect.h:296
@ SPV_REFLECT_SHADER_STAGE_CLOSEST_HIT_BIT_KHR
Definition spirv_reflect.h:302
@ SPV_REFLECT_SHADER_STAGE_RAYGEN_BIT_KHR
Definition spirv_reflect.h:300
@ SPV_REFLECT_SHADER_STAGE_INTERSECTION_BIT_KHR
Definition spirv_reflect.h:304
@ SPV_REFLECT_SHADER_STAGE_TASK_BIT_EXT
Definition spirv_reflect.h:297
SpvReflectResult spvReflectEnumerateOutputVariables(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
Definition spirv_reflect.cpp:5541
SpvReflectDescriptorType
Definition spirv_reflect.h:271
@ SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
Definition spirv_reflect.h:280
@ SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_BUFFER
Definition spirv_reflect.h:278
@ SPV_REFLECT_DESCRIPTOR_TYPE_SAMPLED_IMAGE
Definition spirv_reflect.h:274
@ SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_BUFFER
Definition spirv_reflect.h:279
@ SPV_REFLECT_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
Definition spirv_reflect.h:273
@ SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
Definition spirv_reflect.h:276
@ SPV_REFLECT_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
Definition spirv_reflect.h:282
@ SPV_REFLECT_DESCRIPTOR_TYPE_SAMPLER
Definition spirv_reflect.h:272
@ SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
Definition spirv_reflect.h:281
@ SPV_REFLECT_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR
Definition spirv_reflect.h:283
@ SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
Definition spirv_reflect.h:277
@ SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_IMAGE
Definition spirv_reflect.h:275
const SpvReflectEntryPoint * spvReflectGetEntryPoint(const SpvReflectShaderModule *p_module, const char *entry_point)
Definition spirv_reflect.cpp:5276
uint32_t SpvReflectVariableFlags
Definition spirv_reflect.h:266
struct SpvReflectSpecializationConstant SpvReflectSpecializationConstant
SpvReflectResult spvReflectEnumeratePushConstants(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectBlockVariable **pp_blocks)
Definition spirv_reflect.cpp:5628
#define SPV_REFLECT_DEPRECATED(msg_str)
Definition spirv_reflect.h:50
SpvReflectResult spvReflectChangeInputVariableLocation(SpvReflectShaderModule *p_module, const SpvReflectInterfaceVariable *p_input_variable, uint32_t new_location)
Definition spirv_reflect.cpp:6342
SpvReflectResult spvReflectChangeDescriptorBindingNumber(SpvReflectShaderModule *p_module, const SpvReflectDescriptorBinding *p_descriptor_binding, uint32_t new_binding_number, uint32_t optional_new_set_number)
Definition spirv_reflect.cpp:6274
SpvReflectResult spvReflectEnumerateEntryPointInterfaceVariables(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
Definition spirv_reflect.cpp:5448
const SpvReflectBlockVariable * spvReflectGetPushConstant(const SpvReflectShaderModule *p_module, uint32_t index, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6181
const SpvReflectInterfaceVariable * spvReflectGetOutputVariable(const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6028
const SpvReflectBlockVariable * spvReflectGetEntryPointPushConstantBlock(const SpvReflectShaderModule *p_module, const char *entry_point, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6188
SpvReflectUserType
Definition spirv_reflect.h:159
@ SPV_REFLECT_USER_TYPE_RW_TEXTURE_2D_ARRAY
Definition spirv_reflect.h:185
@ SPV_REFLECT_USER_TYPE_RW_STRUCTURED_BUFFER
Definition spirv_reflect.h:181
@ SPV_REFLECT_USER_TYPE_RW_TEXTURE_1D_ARRAY
Definition spirv_reflect.h:183
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY
Definition spirv_reflect.h:174
@ SPV_REFLECT_USER_TYPE_TEXTURE_2D_ARRAY
Definition spirv_reflect.h:193
@ SPV_REFLECT_USER_TYPE_TEXTURE_CUBE_ARRAY
Definition spirv_reflect.h:199
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_BUFFER
Definition spirv_reflect.h:170
@ SPV_REFLECT_USER_TYPE_RW_TEXTURE_2D
Definition spirv_reflect.h:184
@ SPV_REFLECT_USER_TYPE_INVALID
Definition spirv_reflect.h:160
@ SPV_REFLECT_USER_TYPE_TEXTURE_3D
Definition spirv_reflect.h:196
@ SPV_REFLECT_USER_TYPE_SUBPASS_INPUT_MS
Definition spirv_reflect.h:189
@ SPV_REFLECT_USER_TYPE_BUFFER
Definition spirv_reflect.h:164
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D
Definition spirv_reflect.h:173
@ SPV_REFLECT_USER_TYPE_APPEND_STRUCTURED_BUFFER
Definition spirv_reflect.h:163
@ SPV_REFLECT_USER_TYPE_TEXTURE_2DMS_ARRAY
Definition spirv_reflect.h:195
@ SPV_REFLECT_USER_TYPE_OUTPUT_PATCH
Definition spirv_reflect.h:169
@ SPV_REFLECT_USER_TYPE_TEXTURE_1D_ARRAY
Definition spirv_reflect.h:191
@ SPV_REFLECT_USER_TYPE_TBUFFER
Definition spirv_reflect.h:162
@ SPV_REFLECT_USER_TYPE_TEXTURE_2D
Definition spirv_reflect.h:192
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D
Definition spirv_reflect.h:177
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER
Definition spirv_reflect.h:171
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D
Definition spirv_reflect.h:175
@ SPV_REFLECT_USER_TYPE_TEXTURE_BUFFER
Definition spirv_reflect.h:197
@ SPV_REFLECT_USER_TYPE_RW_TEXTURE_3D
Definition spirv_reflect.h:186
@ SPV_REFLECT_USER_TYPE_INPUT_PATCH
Definition spirv_reflect.h:168
@ SPV_REFLECT_USER_TYPE_CONSUME_STRUCTURED_BUFFER
Definition spirv_reflect.h:167
@ SPV_REFLECT_USER_TYPE_RW_BYTE_ADDRESS_BUFFER
Definition spirv_reflect.h:180
@ SPV_REFLECT_USER_TYPE_TEXTURE_1D
Definition spirv_reflect.h:190
@ SPV_REFLECT_USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE
Definition spirv_reflect.h:178
@ SPV_REFLECT_USER_TYPE_CONSTANT_BUFFER
Definition spirv_reflect.h:166
@ SPV_REFLECT_USER_TYPE_CBUFFER
Definition spirv_reflect.h:161
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY
Definition spirv_reflect.h:176
@ SPV_REFLECT_USER_TYPE_TEXTURE_CUBE
Definition spirv_reflect.h:198
@ SPV_REFLECT_USER_TYPE_RW_TEXTURE_1D
Definition spirv_reflect.h:182
@ SPV_REFLECT_USER_TYPE_TEXTURE_2DMS
Definition spirv_reflect.h:194
@ SPV_REFLECT_USER_TYPE_STRUCTURED_BUFFER
Definition spirv_reflect.h:187
@ SPV_REFLECT_USER_TYPE_BYTE_ADDRESS_BUFFER
Definition spirv_reflect.h:165
@ SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER
Definition spirv_reflect.h:172
@ SPV_REFLECT_USER_TYPE_RW_BUFFER
Definition spirv_reflect.h:179
@ SPV_REFLECT_USER_TYPE_SUBPASS_INPUT
Definition spirv_reflect.h:188
SpvReflectResult spvReflectGetShaderModule(size_t size, const void *p_code, SpvReflectShaderModule *p_module)
Definition spirv_reflect.cpp:5123
struct SpvReflectImageTraits SpvReflectImageTraits
void spvReflectDestroyShaderModule(SpvReflectShaderModule *p_module)
Definition spirv_reflect.cpp:5186
const SpvReflectDescriptorBinding * spvReflectGetDescriptorBinding(const SpvReflectShaderModule *p_module, uint32_t binding_number, uint32_t set_number, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5707
const SpvReflectInterfaceVariable * spvReflectGetOutputVariableBySemantic(const SpvReflectShaderModule *p_module, const char *semantic, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:6077
struct SpvReflectNumericTraits SpvReflectNumericTraits
struct SpvReflectArrayTraits SpvReflectArrayTraits
SpvReflectVariableFlagBits
Definition spirv_reflect.h:259
@ SPV_REFLECT_VARIABLE_FLAGS_PHYSICAL_POINTER_COPY
Definition spirv_reflect.h:263
@ SPV_REFLECT_VARIABLE_FLAGS_UNUSED
Definition spirv_reflect.h:261
@ SPV_REFLECT_VARIABLE_FLAGS_NONE
Definition spirv_reflect.h:260
@ SPV_REFLECT_BINDING_NUMBER_DONT_CHANGE
Definition spirv_reflect.h:331
@ SPV_REFLECT_SET_NUMBER_DONT_CHANGE
Definition spirv_reflect.h:332
SpvReflectResult spvReflectEnumerateEntryPointDescriptorBindings(const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectDescriptorBinding **pp_bindings)
Definition spirv_reflect.cpp:5318
SpvReflectResult spvReflectChangeDescriptorSetNumber(SpvReflectShaderModule *p_module, const SpvReflectDescriptorSet *p_set, uint32_t new_set_number)
Definition spirv_reflect.cpp:6283
SpvReflectResult spvReflectCreateShaderModule2(SpvReflectModuleFlags flags, size_t size, const void *p_code, SpvReflectShaderModule *p_module)
Definition spirv_reflect.cpp:5117
SpvReflectDecorationFlagBits
Definition spirv_reflect.h:137
@ SPV_REFLECT_DECORATION_ROW_MAJOR
Definition spirv_reflect.h:141
@ SPV_REFLECT_DECORATION_COLUMN_MAJOR
Definition spirv_reflect.h:142
@ SPV_REFLECT_DECORATION_NOPERSPECTIVE
Definition spirv_reflect.h:144
@ SPV_REFLECT_DECORATION_WEIGHT_TEXTURE
Definition spirv_reflect.h:152
@ SPV_REFLECT_DECORATION_BUFFER_BLOCK
Definition spirv_reflect.h:140
@ SPV_REFLECT_DECORATION_BUILT_IN
Definition spirv_reflect.h:143
@ SPV_REFLECT_DECORATION_NON_READABLE
Definition spirv_reflect.h:148
@ SPV_REFLECT_DECORATION_PER_VERTEX
Definition spirv_reflect.h:150
@ SPV_REFLECT_DECORATION_PATCH
Definition spirv_reflect.h:149
@ SPV_REFLECT_DECORATION_BLOCK
Definition spirv_reflect.h:139
@ SPV_REFLECT_DECORATION_RELAXED_PRECISION
Definition spirv_reflect.h:147
@ SPV_REFLECT_DECORATION_PER_TASK
Definition spirv_reflect.h:151
@ SPV_REFLECT_DECORATION_FLAT
Definition spirv_reflect.h:145
@ SPV_REFLECT_DECORATION_NONE
Definition spirv_reflect.h:138
@ SPV_REFLECT_DECORATION_BLOCK_MATCH_TEXTURE
Definition spirv_reflect.h:153
@ SPV_REFLECT_DECORATION_NON_WRITABLE
Definition spirv_reflect.h:146
SpvReflectResult spvReflectChangeDescriptorBindingNumbers(SpvReflectShaderModule *p_module, const SpvReflectDescriptorBinding *p_binding, uint32_t new_binding_number, uint32_t new_set_number)
Definition spirv_reflect.cpp:6224
SpvReflectResult spvReflectEnumerateDescriptorBindings(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectDescriptorBinding **pp_bindings)
Definition spirv_reflect.cpp:5290
struct SpvReflectInterfaceVariable SpvReflectInterfaceVariable
const SpvReflectInterfaceVariable * spvReflectGetOutputVariableByLocation(const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
Definition spirv_reflect.cpp:5998
struct SpvReflectEntryPoint SpvReflectEntryPoint
SpvReflectArrayDimType
Definition spirv_reflect.h:361
@ SPV_REFLECT_ARRAY_DIM_RUNTIME
Definition spirv_reflect.h:362
SpvReflectResult spvReflectEnumerateSpecializationConstants(const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectSpecializationConstant **pp_constants)
Definition spirv_reflect.cpp:5679
Definition spirv_reflect.h:365
uint32_t dims[SPV_REFLECT_MAX_ARRAY_DIMS]
Definition spirv_reflect.h:371
uint32_t dims_count
Definition spirv_reflect.h:366
uint32_t spec_constant_op_ids[SPV_REFLECT_MAX_ARRAY_DIMS]
Definition spirv_reflect.h:373
uint32_t stride
Definition spirv_reflect.h:374
Definition spirv_reflect.h:377
uint32_t dims_count
Definition spirv_reflect.h:378
uint32_t dims[SPV_REFLECT_MAX_ARRAY_DIMS]
Definition spirv_reflect.h:379
Definition spirv_reflect.h:450
uint32_t size
Definition spirv_reflect.h:456
struct SpvReflectBlockVariable::@3 word_offset
SpvReflectNumericTraits numeric
Definition spirv_reflect.h:459
const char * name
Definition spirv_reflect.h:452
SpvReflectTypeDescription * type_description
Definition spirv_reflect.h:466
struct SpvReflectBlockVariable * members
Definition spirv_reflect.h:464
SpvReflectVariableFlags flags
Definition spirv_reflect.h:461
uint32_t member_count
Definition spirv_reflect.h:463
uint32_t absolute_offset
Definition spirv_reflect.h:455
uint32_t padded_size
Definition spirv_reflect.h:457
uint32_t spirv_id
Definition spirv_reflect.h:451
SpvReflectDecorationFlags decoration_flags
Definition spirv_reflect.h:458
uint32_t offset
Definition spirv_reflect.h:454
SpvReflectArrayTraits array
Definition spirv_reflect.h:460
Definition spirv_reflect.h:560
SpvCapability value
Definition spirv_reflect.h:561
uint32_t word_offset
Definition spirv_reflect.h:562
Definition spirv_reflect.h:477
uint32_t accessed
Definition spirv_reflect.h:489
uint32_t set
Definition spirv_reflect.h:482
const char * name
Definition spirv_reflect.h:479
SpvReflectImageTraits image
Definition spirv_reflect.h:485
SpvReflectDecorationFlags decoration_flags
Definition spirv_reflect.h:502
SpvReflectTypeDescription * type_description
Definition spirv_reflect.h:495
SpvReflectBlockVariable block
Definition spirv_reflect.h:486
SpvReflectBindingArrayTraits array
Definition spirv_reflect.h:487
uint32_t uav_counter_id
Definition spirv_reflect.h:490
SpvReflectResourceType resource_type
Definition spirv_reflect.h:484
SpvReflectUserType user_type
Definition spirv_reflect.h:504
SpvReflectDescriptorType descriptor_type
Definition spirv_reflect.h:483
struct SpvReflectDescriptorBinding::@4 word_offset
uint32_t byte_address_buffer_offset_count
Definition spirv_reflect.h:492
uint32_t spirv_id
Definition spirv_reflect.h:478
uint32_t count
Definition spirv_reflect.h:488
uint32_t binding
Definition spirv_reflect.h:480
struct SpvReflectDescriptorBinding * uav_counter_binding
Definition spirv_reflect.h:491
uint32_t input_attachment_index
Definition spirv_reflect.h:481
uint32_t * byte_address_buffer_offsets
Definition spirv_reflect.h:493
Definition spirv_reflect.h:510
SpvReflectDescriptorBinding ** bindings
Definition spirv_reflect.h:513
uint32_t set
Definition spirv_reflect.h:511
uint32_t binding_count
Definition spirv_reflect.h:512
Definition spirv_reflect.h:548
uint32_t z
Definition spirv_reflect.h:551
uint32_t x
Definition spirv_reflect.h:549
uint32_t y
Definition spirv_reflect.h:550
Definition spirv_reflect.h:523
struct SpvReflectEntryPoint::LocalSize local_size
uint32_t input_variable_count
Definition spirv_reflect.h:530
const char * name
Definition spirv_reflect.h:524
SpvReflectInterfaceVariable * interface_variables
Definition spirv_reflect.h:535
SpvExecutionMode * execution_modes
Definition spirv_reflect.h:546
uint32_t * used_uniforms
Definition spirv_reflect.h:541
SpvReflectDescriptorSet * descriptor_sets
Definition spirv_reflect.h:538
uint32_t used_push_constant_count
Definition spirv_reflect.h:542
uint32_t output_variable_count
Definition spirv_reflect.h:532
SpvExecutionModel spirv_execution_model
Definition spirv_reflect.h:527
uint32_t used_uniform_count
Definition spirv_reflect.h:540
uint32_t * used_push_constants
Definition spirv_reflect.h:543
SpvReflectInterfaceVariable ** output_variables
Definition spirv_reflect.h:533
uint32_t execution_mode_count
Definition spirv_reflect.h:545
uint32_t descriptor_set_count
Definition spirv_reflect.h:537
uint32_t id
Definition spirv_reflect.h:525
uint32_t output_vertices
Definition spirv_reflect.h:554
uint32_t invocations
Definition spirv_reflect.h:553
SpvReflectShaderStageFlagBits shader_stage
Definition spirv_reflect.h:528
uint32_t interface_variable_count
Definition spirv_reflect.h:534
SpvReflectInterfaceVariable ** input_variables
Definition spirv_reflect.h:531
Definition spirv_reflect.h:352
uint32_t depth
Definition spirv_reflect.h:354
uint32_t arrayed
Definition spirv_reflect.h:355
uint32_t sampled
Definition spirv_reflect.h:357
SpvDim dim
Definition spirv_reflect.h:353
uint32_t ms
Definition spirv_reflect.h:356
SpvImageFormat image_format
Definition spirv_reflect.h:358
The OpVariable that is either an Input or Output to the module.
Definition spirv_reflect.h:419
SpvReflectArrayTraits array
Definition spirv_reflect.h:429
uint32_t location
Definition spirv_reflect.h:422
uint32_t member_count
Definition spirv_reflect.h:431
struct SpvReflectInterfaceVariable::@2 word_offset
uint32_t spirv_id
Definition spirv_reflect.h:420
uint32_t component
Definition spirv_reflect.h:423
SpvReflectNumericTraits numeric
Definition spirv_reflect.h:428
SpvStorageClass storage_class
Definition spirv_reflect.h:424
SpvReflectDecorationFlags decoration_flags
Definition spirv_reflect.h:426
const char * semantic
Definition spirv_reflect.h:425
SpvBuiltIn built_in
Definition spirv_reflect.h:427
SpvReflectTypeDescription * type_description
Definition spirv_reflect.h:440
SpvReflectFormat format
Definition spirv_reflect.h:434
struct SpvReflectInterfaceVariable * members
Definition spirv_reflect.h:432
const char * name
Definition spirv_reflect.h:421
Definition spirv_reflect.h:345
uint32_t column_count
Definition spirv_reflect.h:346
uint32_t stride
Definition spirv_reflect.h:348
uint32_t row_count
Definition spirv_reflect.h:347
Definition spirv_reflect.h:336
uint32_t signedness
Definition spirv_reflect.h:338
uint32_t width
Definition spirv_reflect.h:337
Definition spirv_reflect.h:341
uint32_t component_count
Definition spirv_reflect.h:342
Definition spirv_reflect.h:335
struct SpvReflectNumericTraits::Matrix matrix
struct SpvReflectNumericTraits::Scalar scalar
struct SpvReflectNumericTraits::Vector vector
Definition spirv_reflect.h:607
SpvReflectModuleFlags module_flags
Definition spirv_reflect.h:608
SpvReflectTypeDescription * type_descriptions
Definition spirv_reflect.h:614
uint32_t * spirv_code
Definition spirv_reflect.h:610
size_t spirv_size
Definition spirv_reflect.h:609
uint32_t spirv_word_count
Definition spirv_reflect.h:611
size_t type_description_count
Definition spirv_reflect.h:613
Definition spirv_reflect.h:578
uint32_t push_constant_block_count
Definition spirv_reflect.h:602
uint32_t descriptor_set_count
Definition spirv_reflect.h:594
SpvReflectGenerator generator
Definition spirv_reflect.h:579
SpvExecutionModel spirv_execution_model
Definition spirv_reflect.h:590
const char * entry_point_name
Definition spirv_reflect.h:580
SpvReflectDescriptorBinding * descriptor_bindings
Definition spirv_reflect.h:593
uint32_t input_variable_count
Definition spirv_reflect.h:596
SpvReflectBlockVariable * push_constant_blocks
Definition spirv_reflect.h:603
SpvReflectEntryPoint * entry_points
Definition spirv_reflect.h:583
uint32_t spec_constant_count
Definition spirv_reflect.h:604
SpvReflectShaderStageFlagBits shader_stage
Definition spirv_reflect.h:591
SpvReflectDescriptorSet descriptor_sets[SPV_REFLECT_MAX_DESCRIPTOR_SETS]
Definition spirv_reflect.h:595
uint32_t entry_point_id
Definition spirv_reflect.h:581
SpvReflectInterfaceVariable ** output_variables
Definition spirv_reflect.h:599
uint32_t output_variable_count
Definition spirv_reflect.h:598
SpvSourceLanguage source_language
Definition spirv_reflect.h:584
SpvReflectCapability * capabilities
Definition spirv_reflect.h:589
uint32_t entry_point_count
Definition spirv_reflect.h:582
SpvReflectInterfaceVariable * interface_variables
Definition spirv_reflect.h:601
const char * source_file
Definition spirv_reflect.h:586
uint32_t source_language_version
Definition spirv_reflect.h:585
SpvReflectSpecializationConstant * spec_constants
Definition spirv_reflect.h:605
SpvReflectInterfaceVariable ** input_variables
Definition spirv_reflect.h:597
uint32_t interface_variable_count
Definition spirv_reflect.h:600
uint32_t descriptor_binding_count
Definition spirv_reflect.h:592
const char * source_source
Definition spirv_reflect.h:587
struct SpvReflectShaderModule::Internal * _internal
uint32_t capability_count
Definition spirv_reflect.h:588
Definition spirv_reflect.h:569
const char * name
Definition spirv_reflect.h:572
uint32_t constant_id
Definition spirv_reflect.h:571
uint32_t spirv_id
Definition spirv_reflect.h:570
Definition spirv_reflect.h:395
SpvReflectImageTraits image
Definition spirv_reflect.h:397
SpvReflectNumericTraits numeric
Definition spirv_reflect.h:396
SpvReflectArrayTraits array
Definition spirv_reflect.h:398
Information about an OpType* instruction.
Definition spirv_reflect.h:385
uint32_t id
Definition spirv_reflect.h:386
SpvReflectTypeFlags type_flags
Definition spirv_reflect.h:392
uint32_t copied
Definition spirv_reflect.h:407
struct SpvReflectTypeDescription::Traits traits
SpvReflectDecorationFlags decoration_flags
Definition spirv_reflect.h:393
struct SpvReflectTypeDescription * struct_type_description
Definition spirv_reflect.h:403
SpvStorageClass storage_class
Definition spirv_reflect.h:391
struct SpvReflectTypeDescription * members
Definition spirv_reflect.h:412
const char * struct_member_name
Definition spirv_reflect.h:390
uint32_t member_count
Definition spirv_reflect.h:410
SpvOp op
Definition spirv_reflect.h:387
const char * type_name
Definition spirv_reflect.h:388