1 #ifndef MSP_GL_REFLECTDATA_H_
2 #define MSP_GL_REFLECTDATA_H_
13 Reflection data for shader programs.
17 typedef unsigned LayoutHash;
18 struct UniformBlockInfo;
23 const UniformBlockInfo *block = 0;
29 unsigned array_size = 0;
30 unsigned array_stride = 0;
31 unsigned matrix_stride = 0;
37 struct UniformBlockInfo
40 unsigned data_size = 0;
42 std::vector<const UniformInfo *> uniforms;
43 LayoutHash layout_hash = 0;
46 void update_layout_hash();
52 unsigned location = -1;
53 unsigned array_size = 0;
57 std::vector<UniformBlockInfo> uniform_blocks;
58 std::vector<UniformInfo> uniforms;
59 LayoutHash layout_hash = 0;
60 std::vector<AttributeInfo> attributes;
61 unsigned n_clip_distances = 0;
63 void update_layout_hash();