wren
Vulkan-based game engine
Loading...
Searching...
No Matches
spirv_reflect.h File Reference
#include <spirv/unified1/spirv.h>
#include <stdint.h>
#include <string.h>
Include dependency graph for spirv_reflect.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SpvReflectNumericTraits
 
struct  SpvReflectNumericTraits::Scalar
 
struct  SpvReflectNumericTraits::Vector
 
struct  SpvReflectNumericTraits::Matrix
 
struct  SpvReflectImageTraits
 
struct  SpvReflectArrayTraits
 
struct  SpvReflectBindingArrayTraits
 
struct  SpvReflectTypeDescription
 Information about an OpType* instruction. More...
 
struct  SpvReflectTypeDescription::Traits
 
struct  SpvReflectInterfaceVariable
 The OpVariable that is either an Input or Output to the module. More...
 
struct  SpvReflectBlockVariable
 
struct  SpvReflectDescriptorBinding
 
struct  SpvReflectDescriptorSet
 
struct  SpvReflectEntryPoint
 
struct  SpvReflectEntryPoint::LocalSize
 
struct  SpvReflectCapability
 
struct  SpvReflectSpecializationConstant
 
struct  SpvReflectShaderModule
 
struct  SpvReflectShaderModule::Internal
 

Macros

#define SPV_REFLECT_DEPRECATED(msg_str)
 

Typedefs

typedef enum SpvReflectResult SpvReflectResult
 
typedef enum SpvReflectModuleFlagBits SpvReflectModuleFlagBits
 
typedef uint32_t SpvReflectModuleFlags
 
typedef enum SpvReflectTypeFlagBits SpvReflectTypeFlagBits
 
typedef uint32_t SpvReflectTypeFlags
 
typedef enum SpvReflectDecorationFlagBits SpvReflectDecorationFlagBits
 
typedef uint32_t SpvReflectDecorationFlags
 
typedef enum SpvReflectUserType SpvReflectUserType
 
typedef enum SpvReflectResourceType SpvReflectResourceType
 
typedef enum SpvReflectFormat SpvReflectFormat
 
typedef uint32_t SpvReflectVariableFlags
 
typedef enum SpvReflectDescriptorType SpvReflectDescriptorType
 
typedef enum SpvReflectShaderStageFlagBits SpvReflectShaderStageFlagBits
 
typedef enum SpvReflectGenerator SpvReflectGenerator
 
typedef struct SpvReflectNumericTraits SpvReflectNumericTraits
 
typedef struct SpvReflectImageTraits SpvReflectImageTraits
 
typedef enum SpvReflectArrayDimType SpvReflectArrayDimType
 
typedef struct SpvReflectArrayTraits SpvReflectArrayTraits
 
typedef struct SpvReflectBindingArrayTraits SpvReflectBindingArrayTraits
 
typedef struct SpvReflectTypeDescription SpvReflectTypeDescription
 
typedef struct SpvReflectInterfaceVariable SpvReflectInterfaceVariable
 
typedef struct SpvReflectBlockVariable SpvReflectBlockVariable
 
typedef struct SpvReflectDescriptorBinding SpvReflectDescriptorBinding
 
typedef struct SpvReflectDescriptorSet SpvReflectDescriptorSet
 
typedef enum SpvReflectExecutionModeValue SpvReflectExecutionModeValue
 
typedef struct SpvReflectEntryPoint SpvReflectEntryPoint
 
typedef struct SpvReflectCapability SpvReflectCapability
 
typedef struct SpvReflectSpecializationConstant SpvReflectSpecializationConstant
 
typedef struct SpvReflectShaderModule SpvReflectShaderModule
 

Enumerations

enum  SpvReflectResult {
  SPV_REFLECT_RESULT_SUCCESS , SPV_REFLECT_RESULT_NOT_READY , SPV_REFLECT_RESULT_ERROR_PARSE_FAILED , SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED ,
  SPV_REFLECT_RESULT_ERROR_RANGE_EXCEEDED , SPV_REFLECT_RESULT_ERROR_NULL_POINTER , SPV_REFLECT_RESULT_ERROR_INTERNAL_ERROR , SPV_REFLECT_RESULT_ERROR_COUNT_MISMATCH ,
  SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND , SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_CODE_SIZE , SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_MAGIC_NUMBER , SPV_REFLECT_RESULT_ERROR_SPIRV_UNEXPECTED_EOF ,
  SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE , SPV_REFLECT_RESULT_ERROR_SPIRV_SET_NUMBER_OVERFLOW , SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_STORAGE_CLASS , SPV_REFLECT_RESULT_ERROR_SPIRV_RECURSION ,
  SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_INSTRUCTION , SPV_REFLECT_RESULT_ERROR_SPIRV_UNEXPECTED_BLOCK_DATA , SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_BLOCK_MEMBER_REFERENCE , SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ENTRY_POINT ,
  SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_EXECUTION_MODE , SPV_REFLECT_RESULT_ERROR_SPIRV_MAX_RECURSIVE_EXCEEDED
}
 
enum  SpvReflectModuleFlagBits { SPV_REFLECT_MODULE_FLAG_NONE = 0x00000000 , SPV_REFLECT_MODULE_FLAG_NO_COPY = 0x00000001 }
 
enum  SpvReflectTypeFlagBits {
  SPV_REFLECT_TYPE_FLAG_UNDEFINED = 0x00000000 , SPV_REFLECT_TYPE_FLAG_VOID = 0x00000001 , SPV_REFLECT_TYPE_FLAG_BOOL = 0x00000002 , SPV_REFLECT_TYPE_FLAG_INT = 0x00000004 ,
  SPV_REFLECT_TYPE_FLAG_FLOAT = 0x00000008 , SPV_REFLECT_TYPE_FLAG_VECTOR = 0x00000100 , SPV_REFLECT_TYPE_FLAG_MATRIX = 0x00000200 , SPV_REFLECT_TYPE_FLAG_EXTERNAL_IMAGE = 0x00010000 ,
  SPV_REFLECT_TYPE_FLAG_EXTERNAL_SAMPLER = 0x00020000 , SPV_REFLECT_TYPE_FLAG_EXTERNAL_SAMPLED_IMAGE = 0x00040000 , SPV_REFLECT_TYPE_FLAG_EXTERNAL_BLOCK = 0x00080000 , SPV_REFLECT_TYPE_FLAG_EXTERNAL_ACCELERATION_STRUCTURE = 0x00100000 ,
  SPV_REFLECT_TYPE_FLAG_EXTERNAL_MASK = 0x00FF0000 , SPV_REFLECT_TYPE_FLAG_STRUCT = 0x10000000 , SPV_REFLECT_TYPE_FLAG_ARRAY = 0x20000000 , SPV_REFLECT_TYPE_FLAG_REF = 0x40000000
}
 
enum  SpvReflectDecorationFlagBits {
  SPV_REFLECT_DECORATION_NONE = 0x00000000 , SPV_REFLECT_DECORATION_BLOCK = 0x00000001 , SPV_REFLECT_DECORATION_BUFFER_BLOCK = 0x00000002 , SPV_REFLECT_DECORATION_ROW_MAJOR = 0x00000004 ,
  SPV_REFLECT_DECORATION_COLUMN_MAJOR = 0x00000008 , SPV_REFLECT_DECORATION_BUILT_IN = 0x00000010 , SPV_REFLECT_DECORATION_NOPERSPECTIVE = 0x00000020 , SPV_REFLECT_DECORATION_FLAT = 0x00000040 ,
  SPV_REFLECT_DECORATION_NON_WRITABLE = 0x00000080 , SPV_REFLECT_DECORATION_RELAXED_PRECISION = 0x00000100 , SPV_REFLECT_DECORATION_NON_READABLE = 0x00000200 , SPV_REFLECT_DECORATION_PATCH = 0x00000400 ,
  SPV_REFLECT_DECORATION_PER_VERTEX = 0x00000800 , SPV_REFLECT_DECORATION_PER_TASK = 0x00001000 , SPV_REFLECT_DECORATION_WEIGHT_TEXTURE = 0x00002000 , SPV_REFLECT_DECORATION_BLOCK_MATCH_TEXTURE = 0x00004000
}
 
enum  SpvReflectUserType {
  SPV_REFLECT_USER_TYPE_INVALID = 0 , SPV_REFLECT_USER_TYPE_CBUFFER , SPV_REFLECT_USER_TYPE_TBUFFER , SPV_REFLECT_USER_TYPE_APPEND_STRUCTURED_BUFFER ,
  SPV_REFLECT_USER_TYPE_BUFFER , SPV_REFLECT_USER_TYPE_BYTE_ADDRESS_BUFFER , SPV_REFLECT_USER_TYPE_CONSTANT_BUFFER , SPV_REFLECT_USER_TYPE_CONSUME_STRUCTURED_BUFFER ,
  SPV_REFLECT_USER_TYPE_INPUT_PATCH , SPV_REFLECT_USER_TYPE_OUTPUT_PATCH , SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_BUFFER , SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER ,
  SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER , SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D , SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY , SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D ,
  SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY , SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D , SPV_REFLECT_USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE , SPV_REFLECT_USER_TYPE_RW_BUFFER ,
  SPV_REFLECT_USER_TYPE_RW_BYTE_ADDRESS_BUFFER , SPV_REFLECT_USER_TYPE_RW_STRUCTURED_BUFFER , SPV_REFLECT_USER_TYPE_RW_TEXTURE_1D , SPV_REFLECT_USER_TYPE_RW_TEXTURE_1D_ARRAY ,
  SPV_REFLECT_USER_TYPE_RW_TEXTURE_2D , SPV_REFLECT_USER_TYPE_RW_TEXTURE_2D_ARRAY , SPV_REFLECT_USER_TYPE_RW_TEXTURE_3D , SPV_REFLECT_USER_TYPE_STRUCTURED_BUFFER ,
  SPV_REFLECT_USER_TYPE_SUBPASS_INPUT , SPV_REFLECT_USER_TYPE_SUBPASS_INPUT_MS , SPV_REFLECT_USER_TYPE_TEXTURE_1D , SPV_REFLECT_USER_TYPE_TEXTURE_1D_ARRAY ,
  SPV_REFLECT_USER_TYPE_TEXTURE_2D , SPV_REFLECT_USER_TYPE_TEXTURE_2D_ARRAY , SPV_REFLECT_USER_TYPE_TEXTURE_2DMS , SPV_REFLECT_USER_TYPE_TEXTURE_2DMS_ARRAY ,
  SPV_REFLECT_USER_TYPE_TEXTURE_3D , SPV_REFLECT_USER_TYPE_TEXTURE_BUFFER , SPV_REFLECT_USER_TYPE_TEXTURE_CUBE , SPV_REFLECT_USER_TYPE_TEXTURE_CUBE_ARRAY
}
 
enum  SpvReflectResourceType {
  SPV_REFLECT_RESOURCE_FLAG_UNDEFINED = 0x00000000 , SPV_REFLECT_RESOURCE_FLAG_SAMPLER = 0x00000001 , SPV_REFLECT_RESOURCE_FLAG_CBV = 0x00000002 , SPV_REFLECT_RESOURCE_FLAG_SRV = 0x00000004 ,
  SPV_REFLECT_RESOURCE_FLAG_UAV = 0x00000008
}
 
enum  SpvReflectFormat {
  SPV_REFLECT_FORMAT_UNDEFINED = 0 , SPV_REFLECT_FORMAT_R16_UINT = 74 , SPV_REFLECT_FORMAT_R16_SINT = 75 , SPV_REFLECT_FORMAT_R16_SFLOAT = 76 ,
  SPV_REFLECT_FORMAT_R16G16_UINT = 81 , SPV_REFLECT_FORMAT_R16G16_SINT = 82 , SPV_REFLECT_FORMAT_R16G16_SFLOAT = 83 , SPV_REFLECT_FORMAT_R16G16B16_UINT = 88 ,
  SPV_REFLECT_FORMAT_R16G16B16_SINT = 89 , SPV_REFLECT_FORMAT_R16G16B16_SFLOAT = 90 , SPV_REFLECT_FORMAT_R16G16B16A16_UINT = 95 , SPV_REFLECT_FORMAT_R16G16B16A16_SINT = 96 ,
  SPV_REFLECT_FORMAT_R16G16B16A16_SFLOAT = 97 , SPV_REFLECT_FORMAT_R32_UINT = 98 , SPV_REFLECT_FORMAT_R32_SINT = 99 , SPV_REFLECT_FORMAT_R32_SFLOAT = 100 ,
  SPV_REFLECT_FORMAT_R32G32_UINT = 101 , SPV_REFLECT_FORMAT_R32G32_SINT = 102 , SPV_REFLECT_FORMAT_R32G32_SFLOAT = 103 , SPV_REFLECT_FORMAT_R32G32B32_UINT = 104 ,
  SPV_REFLECT_FORMAT_R32G32B32_SINT = 105 , SPV_REFLECT_FORMAT_R32G32B32_SFLOAT = 106 , SPV_REFLECT_FORMAT_R32G32B32A32_UINT = 107 , SPV_REFLECT_FORMAT_R32G32B32A32_SINT = 108 ,
  SPV_REFLECT_FORMAT_R32G32B32A32_SFLOAT = 109 , SPV_REFLECT_FORMAT_R64_UINT = 110 , SPV_REFLECT_FORMAT_R64_SINT = 111 , SPV_REFLECT_FORMAT_R64_SFLOAT = 112 ,
  SPV_REFLECT_FORMAT_R64G64_UINT = 113 , SPV_REFLECT_FORMAT_R64G64_SINT = 114 , SPV_REFLECT_FORMAT_R64G64_SFLOAT = 115 , SPV_REFLECT_FORMAT_R64G64B64_UINT = 116 ,
  SPV_REFLECT_FORMAT_R64G64B64_SINT = 117 , SPV_REFLECT_FORMAT_R64G64B64_SFLOAT = 118 , SPV_REFLECT_FORMAT_R64G64B64A64_UINT = 119 , SPV_REFLECT_FORMAT_R64G64B64A64_SINT = 120 ,
  SPV_REFLECT_FORMAT_R64G64B64A64_SFLOAT = 121
}
 
enum  SpvReflectVariableFlagBits { SPV_REFLECT_VARIABLE_FLAGS_NONE = 0x00000000 , SPV_REFLECT_VARIABLE_FLAGS_UNUSED = 0x00000001 , SPV_REFLECT_VARIABLE_FLAGS_PHYSICAL_POINTER_COPY = 0x00000002 }
 
enum  SpvReflectDescriptorType {
  SPV_REFLECT_DESCRIPTOR_TYPE_SAMPLER = 0 , SPV_REFLECT_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER = 1 , SPV_REFLECT_DESCRIPTOR_TYPE_SAMPLED_IMAGE = 2 , SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_IMAGE = 3 ,
  SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER = 4 , SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER = 5 , SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_BUFFER = 6 , SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_BUFFER = 7 ,
  SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC = 8 , SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC = 9 , SPV_REFLECT_DESCRIPTOR_TYPE_INPUT_ATTACHMENT = 10 , SPV_REFLECT_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR = 1000150000
}
 
enum  SpvReflectShaderStageFlagBits {
  SPV_REFLECT_SHADER_STAGE_VERTEX_BIT = 0x00000001 , SPV_REFLECT_SHADER_STAGE_TESSELLATION_CONTROL_BIT = 0x00000002 , SPV_REFLECT_SHADER_STAGE_TESSELLATION_EVALUATION_BIT = 0x00000004 , SPV_REFLECT_SHADER_STAGE_GEOMETRY_BIT = 0x00000008 ,
  SPV_REFLECT_SHADER_STAGE_FRAGMENT_BIT = 0x00000010 , SPV_REFLECT_SHADER_STAGE_COMPUTE_BIT = 0x00000020 , SPV_REFLECT_SHADER_STAGE_TASK_BIT_NV = 0x00000040 , SPV_REFLECT_SHADER_STAGE_TASK_BIT_EXT = SPV_REFLECT_SHADER_STAGE_TASK_BIT_NV ,
  SPV_REFLECT_SHADER_STAGE_MESH_BIT_NV = 0x00000080 , SPV_REFLECT_SHADER_STAGE_MESH_BIT_EXT = SPV_REFLECT_SHADER_STAGE_MESH_BIT_NV , SPV_REFLECT_SHADER_STAGE_RAYGEN_BIT_KHR = 0x00000100 , SPV_REFLECT_SHADER_STAGE_ANY_HIT_BIT_KHR = 0x00000200 ,
  SPV_REFLECT_SHADER_STAGE_CLOSEST_HIT_BIT_KHR = 0x00000400 , SPV_REFLECT_SHADER_STAGE_MISS_BIT_KHR = 0x00000800 , SPV_REFLECT_SHADER_STAGE_INTERSECTION_BIT_KHR = 0x00001000 , SPV_REFLECT_SHADER_STAGE_CALLABLE_BIT_KHR = 0x00002000
}
 
enum  SpvReflectGenerator {
  SPV_REFLECT_GENERATOR_KHRONOS_LLVM_SPIRV_TRANSLATOR = 6 , SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_ASSEMBLER = 7 , SPV_REFLECT_GENERATOR_KHRONOS_GLSLANG_REFERENCE_FRONT_END = 8 , SPV_REFLECT_GENERATOR_GOOGLE_SHADERC_OVER_GLSLANG = 13 ,
  SPV_REFLECT_GENERATOR_GOOGLE_SPIREGG = 14 , SPV_REFLECT_GENERATOR_GOOGLE_RSPIRV = 15 , SPV_REFLECT_GENERATOR_X_LEGEND_MESA_MESAIR_SPIRV_TRANSLATOR = 16 , SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_LINKER = 17 ,
  SPV_REFLECT_GENERATOR_WINE_VKD3D_SHADER_COMPILER = 18 , SPV_REFLECT_GENERATOR_CLAY_CLAY_SHADER_COMPILER = 19
}
 
enum  { SPV_REFLECT_MAX_ARRAY_DIMS = 32 , SPV_REFLECT_MAX_DESCRIPTOR_SETS = 64 }
 
enum  { SPV_REFLECT_BINDING_NUMBER_DONT_CHANGE = ~0 , SPV_REFLECT_SET_NUMBER_DONT_CHANGE = ~0 }
 
enum  SpvReflectArrayDimType { SPV_REFLECT_ARRAY_DIM_RUNTIME = 0 }
 
enum  SpvReflectExecutionModeValue { SPV_REFLECT_EXECUTION_MODE_SPEC_CONSTANT = 0xFFFFFFFF }
 

Functions

SpvReflectResult spvReflectCreateShaderModule (size_t size, const void *p_code, SpvReflectShaderModule *p_module)
 
SpvReflectResult spvReflectCreateShaderModule2 (SpvReflectModuleFlags flags, size_t size, const void *p_code, SpvReflectShaderModule *p_module)
 
SpvReflectResult spvReflectGetShaderModule (size_t size, const void *p_code, SpvReflectShaderModule *p_module)
 
void spvReflectDestroyShaderModule (SpvReflectShaderModule *p_module)
 
uint32_t spvReflectGetCodeSize (const SpvReflectShaderModule *p_module)
 
const uint32_t * spvReflectGetCode (const SpvReflectShaderModule *p_module)
 
const SpvReflectEntryPointspvReflectGetEntryPoint (const SpvReflectShaderModule *p_module, const char *entry_point)
 
SpvReflectResult spvReflectEnumerateDescriptorBindings (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectDescriptorBinding **pp_bindings)
 
SpvReflectResult spvReflectEnumerateEntryPointDescriptorBindings (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectDescriptorBinding **pp_bindings)
 
SpvReflectResult spvReflectEnumerateDescriptorSets (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectDescriptorSet **pp_sets)
 
SpvReflectResult spvReflectEnumerateEntryPointDescriptorSets (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectDescriptorSet **pp_sets)
 
SpvReflectResult spvReflectEnumerateInterfaceVariables (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
 
SpvReflectResult spvReflectEnumerateEntryPointInterfaceVariables (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
 
SpvReflectResult spvReflectEnumerateInputVariables (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
 
SpvReflectResult spvReflectEnumerateEntryPointInputVariables (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
 
SpvReflectResult spvReflectEnumerateOutputVariables (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
 
SpvReflectResult spvReflectEnumerateEntryPointOutputVariables (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectInterfaceVariable **pp_variables)
 
SpvReflectResult spvReflectEnumeratePushConstantBlocks (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectBlockVariable **pp_blocks)
 
SpvReflectResult spvReflectEnumeratePushConstants (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectBlockVariable **pp_blocks)
 
SpvReflectResult spvReflectEnumerateEntryPointPushConstantBlocks (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t *p_count, SpvReflectBlockVariable **pp_blocks)
 
SpvReflectResult spvReflectEnumerateSpecializationConstants (const SpvReflectShaderModule *p_module, uint32_t *p_count, SpvReflectSpecializationConstant **pp_constants)
 
const SpvReflectDescriptorBindingspvReflectGetDescriptorBinding (const SpvReflectShaderModule *p_module, uint32_t binding_number, uint32_t set_number, SpvReflectResult *p_result)
 
const SpvReflectDescriptorBindingspvReflectGetEntryPointDescriptorBinding (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t binding_number, uint32_t set_number, SpvReflectResult *p_result)
 
const SpvReflectDescriptorSetspvReflectGetDescriptorSet (const SpvReflectShaderModule *p_module, uint32_t set_number, SpvReflectResult *p_result)
 
const SpvReflectDescriptorSetspvReflectGetEntryPointDescriptorSet (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t set_number, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetInputVariableByLocation (const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetInputVariable (const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetEntryPointInputVariableByLocation (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t location, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetInputVariableBySemantic (const SpvReflectShaderModule *p_module, const char *semantic, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetEntryPointInputVariableBySemantic (const SpvReflectShaderModule *p_module, const char *entry_point, const char *semantic, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetOutputVariableByLocation (const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetOutputVariable (const SpvReflectShaderModule *p_module, uint32_t location, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetEntryPointOutputVariableByLocation (const SpvReflectShaderModule *p_module, const char *entry_point, uint32_t location, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetOutputVariableBySemantic (const SpvReflectShaderModule *p_module, const char *semantic, SpvReflectResult *p_result)
 
const SpvReflectInterfaceVariablespvReflectGetEntryPointOutputVariableBySemantic (const SpvReflectShaderModule *p_module, const char *entry_point, const char *semantic, SpvReflectResult *p_result)
 
const SpvReflectBlockVariablespvReflectGetPushConstantBlock (const SpvReflectShaderModule *p_module, uint32_t index, SpvReflectResult *p_result)
 
const SpvReflectBlockVariablespvReflectGetPushConstant (const SpvReflectShaderModule *p_module, uint32_t index, SpvReflectResult *p_result)
 
const SpvReflectBlockVariablespvReflectGetEntryPointPushConstantBlock (const SpvReflectShaderModule *p_module, const char *entry_point, SpvReflectResult *p_result)
 
SpvReflectResult spvReflectChangeDescriptorBindingNumbers (SpvReflectShaderModule *p_module, const SpvReflectDescriptorBinding *p_binding, uint32_t new_binding_number, uint32_t new_set_number)
 
SpvReflectResult spvReflectChangeDescriptorBindingNumber (SpvReflectShaderModule *p_module, const SpvReflectDescriptorBinding *p_descriptor_binding, uint32_t new_binding_number, uint32_t optional_new_set_number)
 
SpvReflectResult spvReflectChangeDescriptorSetNumber (SpvReflectShaderModule *p_module, const SpvReflectDescriptorSet *p_set, uint32_t new_set_number)
 
SpvReflectResult spvReflectChangeInputVariableLocation (SpvReflectShaderModule *p_module, const SpvReflectInterfaceVariable *p_input_variable, uint32_t new_location)
 
SpvReflectResult spvReflectChangeOutputVariableLocation (SpvReflectShaderModule *p_module, const SpvReflectInterfaceVariable *p_output_variable, uint32_t new_location)
 
const char * spvReflectSourceLanguage (SpvSourceLanguage source_lang)
 
const char * spvReflectBlockVariableTypeName (const SpvReflectBlockVariable *p_var)
 

Macro Definition Documentation

◆ SPV_REFLECT_DEPRECATED

#define SPV_REFLECT_DEPRECATED ( msg_str)

Typedef Documentation

◆ SpvReflectArrayDimType

◆ SpvReflectArrayTraits

typedef struct SpvReflectArrayTraits SpvReflectArrayTraits

◆ SpvReflectBindingArrayTraits

typedef struct SpvReflectBindingArrayTraits SpvReflectBindingArrayTraits

◆ SpvReflectBlockVariable

typedef struct SpvReflectBlockVariable SpvReflectBlockVariable

◆ SpvReflectCapability

typedef struct SpvReflectCapability SpvReflectCapability

◆ SpvReflectDecorationFlagBits

◆ SpvReflectDecorationFlags

typedef uint32_t SpvReflectDecorationFlags

◆ SpvReflectDescriptorBinding

typedef struct SpvReflectDescriptorBinding SpvReflectDescriptorBinding

◆ SpvReflectDescriptorSet

typedef struct SpvReflectDescriptorSet SpvReflectDescriptorSet

◆ SpvReflectDescriptorType

◆ SpvReflectEntryPoint

typedef struct SpvReflectEntryPoint SpvReflectEntryPoint

◆ SpvReflectExecutionModeValue

◆ SpvReflectFormat

◆ SpvReflectGenerator

◆ SpvReflectImageTraits

typedef struct SpvReflectImageTraits SpvReflectImageTraits

◆ SpvReflectInterfaceVariable

typedef struct SpvReflectInterfaceVariable SpvReflectInterfaceVariable

◆ SpvReflectModuleFlagBits

◆ SpvReflectModuleFlags

typedef uint32_t SpvReflectModuleFlags

◆ SpvReflectNumericTraits

typedef struct SpvReflectNumericTraits SpvReflectNumericTraits

◆ SpvReflectResourceType

◆ SpvReflectResult

◆ SpvReflectShaderModule

typedef struct SpvReflectShaderModule SpvReflectShaderModule

◆ SpvReflectShaderStageFlagBits

◆ SpvReflectSpecializationConstant

typedef struct SpvReflectSpecializationConstant SpvReflectSpecializationConstant

◆ SpvReflectTypeDescription

typedef struct SpvReflectTypeDescription SpvReflectTypeDescription

◆ SpvReflectTypeFlagBits

◆ SpvReflectTypeFlags

typedef uint32_t SpvReflectTypeFlags

◆ SpvReflectUserType

◆ SpvReflectVariableFlags

typedef uint32_t SpvReflectVariableFlags

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SPV_REFLECT_MAX_ARRAY_DIMS 
SPV_REFLECT_MAX_DESCRIPTOR_SETS 

◆ anonymous enum

anonymous enum
Enumerator
SPV_REFLECT_BINDING_NUMBER_DONT_CHANGE 
SPV_REFLECT_SET_NUMBER_DONT_CHANGE 

◆ SpvReflectArrayDimType

Enumerator
SPV_REFLECT_ARRAY_DIM_RUNTIME 

◆ SpvReflectDecorationFlagBits

Enumerator
SPV_REFLECT_DECORATION_NONE 
SPV_REFLECT_DECORATION_BLOCK 
SPV_REFLECT_DECORATION_BUFFER_BLOCK 
SPV_REFLECT_DECORATION_ROW_MAJOR 
SPV_REFLECT_DECORATION_COLUMN_MAJOR 
SPV_REFLECT_DECORATION_BUILT_IN 
SPV_REFLECT_DECORATION_NOPERSPECTIVE 
SPV_REFLECT_DECORATION_FLAT 
SPV_REFLECT_DECORATION_NON_WRITABLE 
SPV_REFLECT_DECORATION_RELAXED_PRECISION 
SPV_REFLECT_DECORATION_NON_READABLE 
SPV_REFLECT_DECORATION_PATCH 
SPV_REFLECT_DECORATION_PER_VERTEX 
SPV_REFLECT_DECORATION_PER_TASK 
SPV_REFLECT_DECORATION_WEIGHT_TEXTURE 
SPV_REFLECT_DECORATION_BLOCK_MATCH_TEXTURE 

◆ SpvReflectDescriptorType

Enumerator
SPV_REFLECT_DESCRIPTOR_TYPE_SAMPLER 
SPV_REFLECT_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER 
SPV_REFLECT_DESCRIPTOR_TYPE_SAMPLED_IMAGE 
SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_IMAGE 
SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER 
SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER 
SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_BUFFER 
SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_BUFFER 
SPV_REFLECT_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC 
SPV_REFLECT_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC 
SPV_REFLECT_DESCRIPTOR_TYPE_INPUT_ATTACHMENT 
SPV_REFLECT_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR 

◆ SpvReflectExecutionModeValue

Enumerator
SPV_REFLECT_EXECUTION_MODE_SPEC_CONSTANT 

◆ SpvReflectFormat

Enumerator
SPV_REFLECT_FORMAT_UNDEFINED 
SPV_REFLECT_FORMAT_R16_UINT 
SPV_REFLECT_FORMAT_R16_SINT 
SPV_REFLECT_FORMAT_R16_SFLOAT 
SPV_REFLECT_FORMAT_R16G16_UINT 
SPV_REFLECT_FORMAT_R16G16_SINT 
SPV_REFLECT_FORMAT_R16G16_SFLOAT 
SPV_REFLECT_FORMAT_R16G16B16_UINT 
SPV_REFLECT_FORMAT_R16G16B16_SINT 
SPV_REFLECT_FORMAT_R16G16B16_SFLOAT 
SPV_REFLECT_FORMAT_R16G16B16A16_UINT 
SPV_REFLECT_FORMAT_R16G16B16A16_SINT 
SPV_REFLECT_FORMAT_R16G16B16A16_SFLOAT 
SPV_REFLECT_FORMAT_R32_UINT 
SPV_REFLECT_FORMAT_R32_SINT 
SPV_REFLECT_FORMAT_R32_SFLOAT 
SPV_REFLECT_FORMAT_R32G32_UINT 
SPV_REFLECT_FORMAT_R32G32_SINT 
SPV_REFLECT_FORMAT_R32G32_SFLOAT 
SPV_REFLECT_FORMAT_R32G32B32_UINT 
SPV_REFLECT_FORMAT_R32G32B32_SINT 
SPV_REFLECT_FORMAT_R32G32B32_SFLOAT 
SPV_REFLECT_FORMAT_R32G32B32A32_UINT 
SPV_REFLECT_FORMAT_R32G32B32A32_SINT 
SPV_REFLECT_FORMAT_R32G32B32A32_SFLOAT 
SPV_REFLECT_FORMAT_R64_UINT 
SPV_REFLECT_FORMAT_R64_SINT 
SPV_REFLECT_FORMAT_R64_SFLOAT 
SPV_REFLECT_FORMAT_R64G64_UINT 
SPV_REFLECT_FORMAT_R64G64_SINT 
SPV_REFLECT_FORMAT_R64G64_SFLOAT 
SPV_REFLECT_FORMAT_R64G64B64_UINT 
SPV_REFLECT_FORMAT_R64G64B64_SINT 
SPV_REFLECT_FORMAT_R64G64B64_SFLOAT 
SPV_REFLECT_FORMAT_R64G64B64A64_UINT 
SPV_REFLECT_FORMAT_R64G64B64A64_SINT 
SPV_REFLECT_FORMAT_R64G64B64A64_SFLOAT 

◆ SpvReflectGenerator

Enumerator
SPV_REFLECT_GENERATOR_KHRONOS_LLVM_SPIRV_TRANSLATOR 
SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_ASSEMBLER 
SPV_REFLECT_GENERATOR_KHRONOS_GLSLANG_REFERENCE_FRONT_END 
SPV_REFLECT_GENERATOR_GOOGLE_SHADERC_OVER_GLSLANG 
SPV_REFLECT_GENERATOR_GOOGLE_SPIREGG 
SPV_REFLECT_GENERATOR_GOOGLE_RSPIRV 
SPV_REFLECT_GENERATOR_X_LEGEND_MESA_MESAIR_SPIRV_TRANSLATOR 
SPV_REFLECT_GENERATOR_KHRONOS_SPIRV_TOOLS_LINKER 
SPV_REFLECT_GENERATOR_WINE_VKD3D_SHADER_COMPILER 
SPV_REFLECT_GENERATOR_CLAY_CLAY_SHADER_COMPILER 

◆ SpvReflectModuleFlagBits

SPV_REFLECT_MODULE_FLAG_NO_COPY - Disables copying of SPIR-V code when a SPIRV-Reflect shader module is created. It is the responsibility of the calling program to ensure that the pointer remains valid and the memory it's pointing to is not freed while SPIRV-Reflect operations are taking place. Freeing the backing memory will cause undefined behavior or most likely a crash. This is flag is intended for cases where the memory overhead of storing the copied SPIR-V is undesirable.

Enumerator
SPV_REFLECT_MODULE_FLAG_NONE 
SPV_REFLECT_MODULE_FLAG_NO_COPY 

◆ SpvReflectResourceType

Enumerator
SPV_REFLECT_RESOURCE_FLAG_UNDEFINED 
SPV_REFLECT_RESOURCE_FLAG_SAMPLER 
SPV_REFLECT_RESOURCE_FLAG_CBV 
SPV_REFLECT_RESOURCE_FLAG_SRV 
SPV_REFLECT_RESOURCE_FLAG_UAV 

◆ SpvReflectResult

Enumerator
SPV_REFLECT_RESULT_SUCCESS 
SPV_REFLECT_RESULT_NOT_READY 
SPV_REFLECT_RESULT_ERROR_PARSE_FAILED 
SPV_REFLECT_RESULT_ERROR_ALLOC_FAILED 
SPV_REFLECT_RESULT_ERROR_RANGE_EXCEEDED 
SPV_REFLECT_RESULT_ERROR_NULL_POINTER 
SPV_REFLECT_RESULT_ERROR_INTERNAL_ERROR 
SPV_REFLECT_RESULT_ERROR_COUNT_MISMATCH 
SPV_REFLECT_RESULT_ERROR_ELEMENT_NOT_FOUND 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_CODE_SIZE 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_MAGIC_NUMBER 
SPV_REFLECT_RESULT_ERROR_SPIRV_UNEXPECTED_EOF 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ID_REFERENCE 
SPV_REFLECT_RESULT_ERROR_SPIRV_SET_NUMBER_OVERFLOW 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_STORAGE_CLASS 
SPV_REFLECT_RESULT_ERROR_SPIRV_RECURSION 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_INSTRUCTION 
SPV_REFLECT_RESULT_ERROR_SPIRV_UNEXPECTED_BLOCK_DATA 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_BLOCK_MEMBER_REFERENCE 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_ENTRY_POINT 
SPV_REFLECT_RESULT_ERROR_SPIRV_INVALID_EXECUTION_MODE 
SPV_REFLECT_RESULT_ERROR_SPIRV_MAX_RECURSIVE_EXCEEDED 

◆ SpvReflectShaderStageFlagBits

Enumerator
SPV_REFLECT_SHADER_STAGE_VERTEX_BIT 
SPV_REFLECT_SHADER_STAGE_TESSELLATION_CONTROL_BIT 
SPV_REFLECT_SHADER_STAGE_TESSELLATION_EVALUATION_BIT 
SPV_REFLECT_SHADER_STAGE_GEOMETRY_BIT 
SPV_REFLECT_SHADER_STAGE_FRAGMENT_BIT 
SPV_REFLECT_SHADER_STAGE_COMPUTE_BIT 
SPV_REFLECT_SHADER_STAGE_TASK_BIT_NV 
SPV_REFLECT_SHADER_STAGE_TASK_BIT_EXT 
SPV_REFLECT_SHADER_STAGE_MESH_BIT_NV 
SPV_REFLECT_SHADER_STAGE_MESH_BIT_EXT 
SPV_REFLECT_SHADER_STAGE_RAYGEN_BIT_KHR 
SPV_REFLECT_SHADER_STAGE_ANY_HIT_BIT_KHR 
SPV_REFLECT_SHADER_STAGE_CLOSEST_HIT_BIT_KHR 
SPV_REFLECT_SHADER_STAGE_MISS_BIT_KHR 
SPV_REFLECT_SHADER_STAGE_INTERSECTION_BIT_KHR 
SPV_REFLECT_SHADER_STAGE_CALLABLE_BIT_KHR 

◆ SpvReflectTypeFlagBits

Enumerator
SPV_REFLECT_TYPE_FLAG_UNDEFINED 
SPV_REFLECT_TYPE_FLAG_VOID 
SPV_REFLECT_TYPE_FLAG_BOOL 
SPV_REFLECT_TYPE_FLAG_INT 
SPV_REFLECT_TYPE_FLAG_FLOAT 
SPV_REFLECT_TYPE_FLAG_VECTOR 
SPV_REFLECT_TYPE_FLAG_MATRIX 
SPV_REFLECT_TYPE_FLAG_EXTERNAL_IMAGE 
SPV_REFLECT_TYPE_FLAG_EXTERNAL_SAMPLER 
SPV_REFLECT_TYPE_FLAG_EXTERNAL_SAMPLED_IMAGE 
SPV_REFLECT_TYPE_FLAG_EXTERNAL_BLOCK 
SPV_REFLECT_TYPE_FLAG_EXTERNAL_ACCELERATION_STRUCTURE 
SPV_REFLECT_TYPE_FLAG_EXTERNAL_MASK 
SPV_REFLECT_TYPE_FLAG_STRUCT 
SPV_REFLECT_TYPE_FLAG_ARRAY 
SPV_REFLECT_TYPE_FLAG_REF 

◆ SpvReflectUserType

Enumerator
SPV_REFLECT_USER_TYPE_INVALID 
SPV_REFLECT_USER_TYPE_CBUFFER 
SPV_REFLECT_USER_TYPE_TBUFFER 
SPV_REFLECT_USER_TYPE_APPEND_STRUCTURED_BUFFER 
SPV_REFLECT_USER_TYPE_BUFFER 
SPV_REFLECT_USER_TYPE_BYTE_ADDRESS_BUFFER 
SPV_REFLECT_USER_TYPE_CONSTANT_BUFFER 
SPV_REFLECT_USER_TYPE_CONSUME_STRUCTURED_BUFFER 
SPV_REFLECT_USER_TYPE_INPUT_PATCH 
SPV_REFLECT_USER_TYPE_OUTPUT_PATCH 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_BUFFER 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY 
SPV_REFLECT_USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D 
SPV_REFLECT_USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE 
SPV_REFLECT_USER_TYPE_RW_BUFFER 
SPV_REFLECT_USER_TYPE_RW_BYTE_ADDRESS_BUFFER 
SPV_REFLECT_USER_TYPE_RW_STRUCTURED_BUFFER 
SPV_REFLECT_USER_TYPE_RW_TEXTURE_1D 
SPV_REFLECT_USER_TYPE_RW_TEXTURE_1D_ARRAY 
SPV_REFLECT_USER_TYPE_RW_TEXTURE_2D 
SPV_REFLECT_USER_TYPE_RW_TEXTURE_2D_ARRAY 
SPV_REFLECT_USER_TYPE_RW_TEXTURE_3D 
SPV_REFLECT_USER_TYPE_STRUCTURED_BUFFER 
SPV_REFLECT_USER_TYPE_SUBPASS_INPUT 
SPV_REFLECT_USER_TYPE_SUBPASS_INPUT_MS 
SPV_REFLECT_USER_TYPE_TEXTURE_1D 
SPV_REFLECT_USER_TYPE_TEXTURE_1D_ARRAY 
SPV_REFLECT_USER_TYPE_TEXTURE_2D 
SPV_REFLECT_USER_TYPE_TEXTURE_2D_ARRAY 
SPV_REFLECT_USER_TYPE_TEXTURE_2DMS 
SPV_REFLECT_USER_TYPE_TEXTURE_2DMS_ARRAY 
SPV_REFLECT_USER_TYPE_TEXTURE_3D 
SPV_REFLECT_USER_TYPE_TEXTURE_BUFFER 
SPV_REFLECT_USER_TYPE_TEXTURE_CUBE 
SPV_REFLECT_USER_TYPE_TEXTURE_CUBE_ARRAY 

◆ SpvReflectVariableFlagBits

Enumerator
SPV_REFLECT_VARIABLE_FLAGS_NONE 
SPV_REFLECT_VARIABLE_FLAGS_UNUSED 
SPV_REFLECT_VARIABLE_FLAGS_PHYSICAL_POINTER_COPY 

Function Documentation

◆ spvReflectBlockVariableTypeName()

const char * spvReflectBlockVariableTypeName ( const SpvReflectBlockVariable * p_var)

◆ spvReflectChangeDescriptorBindingNumber()

SpvReflectResult spvReflectChangeDescriptorBindingNumber ( SpvReflectShaderModule * p_module,
const SpvReflectDescriptorBinding * p_descriptor_binding,
uint32_t new_binding_number,
uint32_t optional_new_set_number )
Here is the call graph for this function:

◆ spvReflectChangeDescriptorBindingNumbers()

SpvReflectResult spvReflectChangeDescriptorBindingNumbers ( SpvReflectShaderModule * p_module,
const SpvReflectDescriptorBinding * p_binding,
uint32_t new_binding_number,
uint32_t new_set_number )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ spvReflectChangeDescriptorSetNumber()

SpvReflectResult spvReflectChangeDescriptorSetNumber ( SpvReflectShaderModule * p_module,
const SpvReflectDescriptorSet * p_set,
uint32_t new_set_number )
Here is the call graph for this function:

◆ spvReflectChangeInputVariableLocation()

SpvReflectResult spvReflectChangeInputVariableLocation ( SpvReflectShaderModule * p_module,
const SpvReflectInterfaceVariable * p_input_variable,
uint32_t new_location )
Here is the call graph for this function:

◆ spvReflectChangeOutputVariableLocation()

SpvReflectResult spvReflectChangeOutputVariableLocation ( SpvReflectShaderModule * p_module,
const SpvReflectInterfaceVariable * p_output_variable,
uint32_t new_location )
Here is the call graph for this function:

◆ spvReflectCreateShaderModule()

SpvReflectResult spvReflectCreateShaderModule ( size_t size,
const void * p_code,
SpvReflectShaderModule * p_module )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ spvReflectCreateShaderModule2()

SpvReflectResult spvReflectCreateShaderModule2 ( SpvReflectModuleFlags flags,
size_t size,
const void * p_code,
SpvReflectShaderModule * p_module )
Here is the call graph for this function:

◆ spvReflectDestroyShaderModule()

void spvReflectDestroyShaderModule ( SpvReflectShaderModule * p_module)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ spvReflectEnumerateDescriptorBindings()

SpvReflectResult spvReflectEnumerateDescriptorBindings ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectDescriptorBinding ** pp_bindings )

◆ spvReflectEnumerateDescriptorSets()

SpvReflectResult spvReflectEnumerateDescriptorSets ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectDescriptorSet ** pp_sets )

◆ spvReflectEnumerateEntryPointDescriptorBindings()

SpvReflectResult spvReflectEnumerateEntryPointDescriptorBindings ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t * p_count,
SpvReflectDescriptorBinding ** pp_bindings )
Here is the call graph for this function:

◆ spvReflectEnumerateEntryPointDescriptorSets()

SpvReflectResult spvReflectEnumerateEntryPointDescriptorSets ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t * p_count,
SpvReflectDescriptorSet ** pp_sets )
Here is the call graph for this function:

◆ spvReflectEnumerateEntryPointInputVariables()

SpvReflectResult spvReflectEnumerateEntryPointInputVariables ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t * p_count,
SpvReflectInterfaceVariable ** pp_variables )
Here is the call graph for this function:

◆ spvReflectEnumerateEntryPointInterfaceVariables()

SpvReflectResult spvReflectEnumerateEntryPointInterfaceVariables ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t * p_count,
SpvReflectInterfaceVariable ** pp_variables )
Here is the call graph for this function:

◆ spvReflectEnumerateEntryPointOutputVariables()

SpvReflectResult spvReflectEnumerateEntryPointOutputVariables ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t * p_count,
SpvReflectInterfaceVariable ** pp_variables )
Here is the call graph for this function:

◆ spvReflectEnumerateEntryPointPushConstantBlocks()

SpvReflectResult spvReflectEnumerateEntryPointPushConstantBlocks ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t * p_count,
SpvReflectBlockVariable ** pp_blocks )
Here is the call graph for this function:

◆ spvReflectEnumerateInputVariables()

SpvReflectResult spvReflectEnumerateInputVariables ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectInterfaceVariable ** pp_variables )

◆ spvReflectEnumerateInterfaceVariables()

SpvReflectResult spvReflectEnumerateInterfaceVariables ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectInterfaceVariable ** pp_variables )

◆ spvReflectEnumerateOutputVariables()

SpvReflectResult spvReflectEnumerateOutputVariables ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectInterfaceVariable ** pp_variables )

◆ spvReflectEnumeratePushConstantBlocks()

SpvReflectResult spvReflectEnumeratePushConstantBlocks ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectBlockVariable ** pp_blocks )
Here is the caller graph for this function:

◆ spvReflectEnumeratePushConstants()

SpvReflectResult spvReflectEnumeratePushConstants ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectBlockVariable ** pp_blocks )
Here is the call graph for this function:

◆ spvReflectEnumerateSpecializationConstants()

SpvReflectResult spvReflectEnumerateSpecializationConstants ( const SpvReflectShaderModule * p_module,
uint32_t * p_count,
SpvReflectSpecializationConstant ** pp_constants )

◆ spvReflectGetCode()

const uint32_t * spvReflectGetCode ( const SpvReflectShaderModule * p_module)

◆ spvReflectGetCodeSize()

uint32_t spvReflectGetCodeSize ( const SpvReflectShaderModule * p_module)

◆ spvReflectGetDescriptorBinding()

const SpvReflectDescriptorBinding * spvReflectGetDescriptorBinding ( const SpvReflectShaderModule * p_module,
uint32_t binding_number,
uint32_t set_number,
SpvReflectResult * p_result )

◆ spvReflectGetDescriptorSet()

const SpvReflectDescriptorSet * spvReflectGetDescriptorSet ( const SpvReflectShaderModule * p_module,
uint32_t set_number,
SpvReflectResult * p_result )

◆ spvReflectGetEntryPoint()

const SpvReflectEntryPoint * spvReflectGetEntryPoint ( const SpvReflectShaderModule * p_module,
const char * entry_point )
Here is the caller graph for this function:

◆ spvReflectGetEntryPointDescriptorBinding()

const SpvReflectDescriptorBinding * spvReflectGetEntryPointDescriptorBinding ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t binding_number,
uint32_t set_number,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetEntryPointDescriptorSet()

const SpvReflectDescriptorSet * spvReflectGetEntryPointDescriptorSet ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t set_number,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetEntryPointInputVariableByLocation()

const SpvReflectInterfaceVariable * spvReflectGetEntryPointInputVariableByLocation ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t location,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetEntryPointInputVariableBySemantic()

const SpvReflectInterfaceVariable * spvReflectGetEntryPointInputVariableBySemantic ( const SpvReflectShaderModule * p_module,
const char * entry_point,
const char * semantic,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetEntryPointOutputVariableByLocation()

const SpvReflectInterfaceVariable * spvReflectGetEntryPointOutputVariableByLocation ( const SpvReflectShaderModule * p_module,
const char * entry_point,
uint32_t location,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetEntryPointOutputVariableBySemantic()

const SpvReflectInterfaceVariable * spvReflectGetEntryPointOutputVariableBySemantic ( const SpvReflectShaderModule * p_module,
const char * entry_point,
const char * semantic,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetEntryPointPushConstantBlock()

const SpvReflectBlockVariable * spvReflectGetEntryPointPushConstantBlock ( const SpvReflectShaderModule * p_module,
const char * entry_point,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetInputVariable()

const SpvReflectInterfaceVariable * spvReflectGetInputVariable ( const SpvReflectShaderModule * p_module,
uint32_t location,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetInputVariableByLocation()

const SpvReflectInterfaceVariable * spvReflectGetInputVariableByLocation ( const SpvReflectShaderModule * p_module,
uint32_t location,
SpvReflectResult * p_result )
Here is the caller graph for this function:

◆ spvReflectGetInputVariableBySemantic()

const SpvReflectInterfaceVariable * spvReflectGetInputVariableBySemantic ( const SpvReflectShaderModule * p_module,
const char * semantic,
SpvReflectResult * p_result )

◆ spvReflectGetOutputVariable()

const SpvReflectInterfaceVariable * spvReflectGetOutputVariable ( const SpvReflectShaderModule * p_module,
uint32_t location,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetOutputVariableByLocation()

const SpvReflectInterfaceVariable * spvReflectGetOutputVariableByLocation ( const SpvReflectShaderModule * p_module,
uint32_t location,
SpvReflectResult * p_result )
Here is the caller graph for this function:

◆ spvReflectGetOutputVariableBySemantic()

const SpvReflectInterfaceVariable * spvReflectGetOutputVariableBySemantic ( const SpvReflectShaderModule * p_module,
const char * semantic,
SpvReflectResult * p_result )

◆ spvReflectGetPushConstant()

const SpvReflectBlockVariable * spvReflectGetPushConstant ( const SpvReflectShaderModule * p_module,
uint32_t index,
SpvReflectResult * p_result )
Here is the call graph for this function:

◆ spvReflectGetPushConstantBlock()

const SpvReflectBlockVariable * spvReflectGetPushConstantBlock ( const SpvReflectShaderModule * p_module,
uint32_t index,
SpvReflectResult * p_result )
Here is the caller graph for this function:

◆ spvReflectGetShaderModule()

SpvReflectResult spvReflectGetShaderModule ( size_t size,
const void * p_code,
SpvReflectShaderModule * p_module )
Here is the call graph for this function:

◆ spvReflectSourceLanguage()

const char * spvReflectSourceLanguage ( SpvSourceLanguage source_lang)