FastEngine 0.9.4
A multiplayer oriented 2D engine made with Vulkan.
Loading...
Searching...
No Matches
spirv_reflect.h File Reference
#include "./spirv/unified1/spirv.h"
#include <stdint.h>
#include <string.h>

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)

Enumeration Type Documentation

◆ 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.