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

@ -26,26 +26,32 @@ ERROR: node is still EOpNull!
0:43 add (highp 4X4 matrix of float)
0:43 M1: direct index for structure (layout(row_major std140 ) highp 4X4 matrix of float)
0:43 'tblock' (layout(std140 ) uniform block)
0:43 0 (const int)
0:43 Constant:
0:43 0 (const int)
0:43 M2: direct index for structure (layout(column_major std140 ) highp 4X4 matrix of float)
0:43 'tblock' (layout(std140 ) uniform block)
0:43 1 (const int)
0:43 Constant:
0:43 1 (const int)
0:43 M4: direct index for structure (layout(row_major shared ) highp 4X4 matrix of float)
0:43 '__anon__1' (layout(shared ) uniform block)
0:43 1 (const uint)
0:43 Constant:
0:43 1 (const uint)
0:43 M3: direct index for structure (layout(column_major shared ) highp 4X4 matrix of float)
0:43 '__anon__1' (layout(shared ) uniform block)
0:43 0 (const uint)
0:43 Constant:
0:43 0 (const uint)
0:43 t2m: direct index for structure (layout(row_major shared ) highp 4X4 matrix of float)
0:43 '__anon__0' (layout(shared ) uniform block)
0:43 1 (const uint)
0:43 Constant:
0:43 1 (const uint)
0:44 move second child to first child (highp 3-component vector of float)
0:44 'color' (smooth out highp 3-component vector of float)
0:44 vector-times-matrix (highp 3-component vector of float)
0:44 'c' (layout(location=7 ) in highp 3-component vector of float)
0:44 N1: direct index for structure (layout(row_major std140 ) highp 3X3 matrix of float)
0:44 'tblock' (layout(std140 ) uniform block)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:? Linker Objects
0:? 'c' (layout(location=7 ) in highp 3-component vector of float)
0:? 'p' (layout(location=3 ) in highp 4-component vector of float)