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;
40 int descriptor_set = 0;
44 struct UniformBlockInfo
47 unsigned data_size = 0;
48 int descriptor_set = 0;
49 int bind_point = DEFAULT_BLOCK;
50 std::vector<const UniformInfo *> uniforms;
51 LayoutHash layout_hash = 0;
54 void update_layout_hash();
61 unsigned array_size = 0;
65 std::vector<UniformBlockInfo> uniform_blocks;
66 std::vector<UniformInfo> uniforms;
67 LayoutHash layout_hash = 0;
68 std::vector<AttributeInfo> attributes;
69 unsigned n_clip_distances = 0;
71 void update_layout_hash();