16 #ifndef SLANG_REFLECTION_H_ 17 #define SLANG_REFLECTION_H_ 89 #define SLANG_NUM_BINDINGS 16 94 #include <unordered_map> 98 struct slang_texture_semantic_meta
100 size_t ubo_offset = 0;
101 size_t push_constant_offset = 0;
102 unsigned binding = 0;
106 bool uniform =
false;
107 bool push_constant =
false;
110 struct slang_semantic_meta
112 size_t ubo_offset = 0;
113 size_t push_constant_offset = 0;
114 unsigned num_components = 0;
115 bool uniform =
false;
116 bool push_constant =
false;
119 struct slang_texture_semantic_map
125 struct slang_semantic_map
131 struct slang_reflection
136 size_t push_constant_size = 0;
138 unsigned ubo_binding = 0;
140 uint32_t push_constant_stage_mask = 0;
144 std::vector<slang_semantic_meta> semantic_float_parameters;
146 const std::unordered_map<std::string, slang_texture_semantic_map> *texture_semantic_map =
nullptr;
147 const std::unordered_map<std::string, slang_texture_semantic_map> *texture_semantic_uniform_map =
nullptr;
148 const std::unordered_map<std::string, slang_semantic_map> *semantic_map =
nullptr;
149 unsigned pass_number = 0;
153 const std::vector<uint32_t> &fragment,
154 slang_reflection *reflection);
158 slang_reflection *reflection);
Definition: slang_reflection.h:29
Definition: spirv_cross.hpp:55
slang_stage
Definition: slang_reflection.h:75
bool slang_reflect_spirv(const std::vector< uint32_t > &vertex, const std::vector< uint32_t > &fragment, slang_reflection *reflection)
Definition: slang_reflection.cpp:654
Definition: spirv_cross.hpp:117
Definition: slang_reflection.h:59
Definition: slang_reflection.h:71
Definition: slang_reflection.h:61
slang_semantic
Definition: slang_reflection.h:56
Definition: slang_reflection.h:66
Definition: slang_reflection.h:77
Definition: slang_reflection.h:72
Definition: slang_reflection.h:69
Definition: slang_reflection.h:78
slang_texture_semantic
Definition: slang_reflection.h:20
Definition: slang_reflection.h:52
Definition: slang_reflection.h:83
bool slang_reflect(const Compiler &vertex_compiler, const Compiler &fragment_compiler, const ShaderResources &vertex, const ShaderResources &fragment, slang_reflection *reflection)
Definition: slang_reflection.cpp:364
Definition: slang_reflection.h:85
GLuint index
Definition: glext.h:6671
Definition: slang_reflection.h:65
Definition: slang_reflection.h:35
Definition: slang_reflection.h:40
slang_constant_buffer
Definition: slang_reflection.h:81
Definition: slang_reflection.h:84
Definition: metal_common.m:516
Definition: slang_reflection.h:24
Definition: slang_reflection.h:53
Definition: slang_reflection.h:63
Definition: slang_reflection.h:45
unsigned int uint32_t
Definition: stdint.h:126
Definition: slang_reflection.h:50