1 #ifndef MSP_GL_REFLECTDATA_H_
2 #define MSP_GL_REFLECTDATA_H_
13 Reflection data for shader programs.
23 typedef unsigned LayoutHash;
24 struct UniformBlockInfo;
29 const UniformBlockInfo *block = 0;
35 unsigned array_size = 0;
36 unsigned array_stride = 0;
37 unsigned matrix_stride = 0;
43 struct UniformBlockInfo
46 unsigned data_size = 0;
47 int bind_point = DEFAULT_BLOCK;
48 std::vector<const UniformInfo *> uniforms;
49 LayoutHash layout_hash = 0;
52 void update_layout_hash();
59 unsigned array_size = 0;
63 std::vector<UniformBlockInfo> uniform_blocks;
64 std::vector<UniformInfo> uniforms;
65 LayoutHash layout_hash = 0;
66 std::vector<AttributeInfo> attributes;
67 unsigned n_clip_distances = 0;
68 unsigned n_descriptor_sets = 0;
69 std::vector<int> used_bindings;
71 void update_layout_hash();