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

@@ -18,35 +18,43 @@ ERROR: node is still EOpNull!
0:9 Sequence
0:9 move second child to first child (highp int)
0:9 'E1' (highp int)
0:9 -1 (const int)
0:9 Constant:
0:9 -1 (const int)
0:10 Sequence
0:10 move second child to first child (highp int)
0:10 'E2' (highp int)
0:10 -1 (const int)
0:10 Constant:
0:10 -1 (const int)
0:11 Sequence
0:11 move second child to first child (highp int)
0:11 'B' (highp int)
0:11 -1 (const int)
0:11 Constant:
0:11 -1 (const int)
0:13 Sequence
0:13 move second child to first child (highp int)
0:13 'OE' (highp int)
0:13 1073741823 (const int)
0:13 Constant:
0:13 1073741823 (const int)
0:14 Sequence
0:14 move second child to first child (highp int)
0:14 'HE' (highp int)
0:14 -1 (const int)
0:14 Constant:
0:14 -1 (const int)
0:17 Sequence
0:17 move second child to first child (highp float)
0:17 'F' (highp float)
0:17 1.012346
0:17 Constant:
0:17 1.012346
0:20 Sequence
0:20 move second child to first child (highp float)
0:20 'G' (highp float)
0:20 1.012346
0:20 Constant:
0:20 1.012346
0:23 Sequence
0:23 move second child to first child (highp float)
0:23 'E3' (highp float)
0:23 12.000000
0:23 Constant:
0:23 12.000000
0:25 Function Definition: main( (void)
0:25 Function Parameters:
0:27 Sequence
@@ -61,19 +69,23 @@ ERROR: node is still EOpNull!
0:33 Sequence
0:33 move second child to first child (highp int)
0:33 'superH' (highp int)
0:33 -1 (const int)
0:33 Constant:
0:33 -1 (const int)
0:34 Sequence
0:34 move second child to first child (highp int)
0:34 'superO' (highp int)
0:34 1073741823 (const int)
0:34 Constant:
0:34 1073741823 (const int)
0:35 Sequence
0:35 move second child to first child (highp int)
0:35 'superI' (highp int)
0:35 -1 (const int)
0:35 Constant:
0:35 -1 (const int)
0:36 Sequence
0:36 move second child to first child (highp float)
0:36 'superF' (highp float)
0:36 1.#INF00
0:36 Constant:
0:36 1.#INF00
0:? Linker Objects
0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)
0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)