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

@ -25,31 +25,39 @@ ERROR: node is still EOpNull!
0:5 Sequence
0:5 move second child to first child (float)
0:5 'sum' (float)
0:5 0.000000
0:5 Constant:
0:5 0.000000
0:7 Function Definition: main( (void)
0:7 Function Parameters:
0:12 Sequence
0:12 add second child into first child (float)
0:12 'sum' (float)
0:12 1.000000
0:12 Constant:
0:12 1.000000
0:22 add second child into first child (float)
0:22 'sum' (float)
0:22 300.000000
0:22 Constant:
0:22 300.000000
0:37 add second child into first child (float)
0:37 'sum' (float)
0:37 600000.000000
0:37 Constant:
0:37 600000.000000
0:48 add second child into first child (float)
0:48 'sum' (float)
0:48 7000000.000000
0:48 Constant:
0:48 7000000.000000
0:53 add second child into first child (float)
0:53 'sum' (float)
0:53 80000000.000000
0:53 Constant:
0:53 80000000.000000
0:58 add second child into first child (float)
0:58 'sum' (float)
0:58 900000000.000000
0:58 Constant:
0:58 900000000.000000
0:65 add second child into first child (float)
0:65 'sum' (float)
0:65 0.050000
0:65 Constant:
0:65 0.050000
0:69 move second child to first child (4-component vector of float)
0:69 'gl_Position' (gl_Position 4-component vector of float)
0:69 Construct vec4 (4-component vector of float)
@ -57,19 +65,23 @@ ERROR: node is still EOpNull!
0:124 Sequence
0:124 move second child to first child (int)
0:124 'linenumber' (int)
0:124 124 (const int)
0:124 Constant:
0:124 124 (const int)
0:125 Sequence
0:125 move second child to first child (int)
0:125 'filenumber' (int)
0:125 0 (const int)
0:125 Constant:
0:125 0 (const int)
0:126 Sequence
0:126 move second child to first child (int)
0:126 'version' (int)
0:126 110 (const int)
0:126 Constant:
0:126 110 (const int)
0:130 Sequence
0:130 move second child to first child (float)
0:130 'twoPi' (float)
0:130 6.280000
0:130 Constant:
0:130 6.280000
0:? Linker Objects
0:? 'sum' (float)
0:? 'linenumber' (int)