Add full support for uniforms with initializers, including intra-stage link validation of aggregate constant initializers.

This included 
 - encapsulating aggregate constants
 - removal of constant-aggregate comparison algorithms, instead using a flattened and direct std::vector comparison
 - adding structure type comparison for independently declared structures that still might match types



git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23274 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-09-28 04:02:08 +00:00
parent b3345c422d
commit f2ee3dd46a
98 changed files with 3007 additions and 1715 deletions

View file

@ -11,33 +11,42 @@ ERROR: node is still EOpNull!
0:44 Function Call: texture(is31;vf3; (mediump 4-component vector of int)
0:44 sampler: direct index for structure (lowp isampler3D)
0:44 's' (uniform structure)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 Construct vec3 (3-component vector of float)
0:44 Convert int to float (float)
0:44 ni: direct index for structure (layout(column_major shared ) mediump int)
0:44 'inst' (layout(shared ) uniform block)
0:44 1 (const int)
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (float)
0:44 direct index (mediump uint)
0:44 bv: direct index for structure (layout(column_major shared ) mediump 4-component vector of uint)
0:44 '__anon__0' (layout(shared ) uniform block)
0:44 0 (const uint)
0:44 1 (const int)
0:44 Constant:
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (float)
0:44 direct index (mediump uint)
0:44 nbv: direct index for structure (layout(column_major shared ) mediump 4-component vector of uint)
0:44 direct index (layout(shared ) uniform block)
0:44 'insts' (layout(shared ) uniform 4-element array of block)
0:44 2 (const int)
0:44 0 (const int)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 Constant:
0:44 0 (const int)
0:44 Constant:
0:44 2 (const int)
0:45 indirect index (layout(shared ) uniform block)
0:45 'insts' (layout(shared ) uniform 4-element array of block)
0:45 direct index (mediump uint)
0:45 v: direct index for structure (mediump 4-component vector of uint)
0:45 's' (uniform structure)
0:45 1 (const int)
0:45 0 (const int)
0:45 Constant:
0:45 1 (const int)
0:45 Constant:
0:45 0 (const int)
0:? Linker Objects
0:? 's' (uniform structure)
0:? '__anon__0' (layout(shared ) uniform block)