FastEngine 0.9.3
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.