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

@@ -28,7 +28,8 @@ ERROR: node is still EOpNull!
0:28 sine (highp float)
0:28 'x' (smooth in highp float)
0:29 case: with expression
0:29 2 (const int)
0:29 Constant:
0:29 2 (const int)
0:? Sequence
0:30 move second child to first child (highp float)
0:30 'f' (highp float)
@@ -44,7 +45,8 @@ ERROR: node is still EOpNull!
0:? Sequence
0:36 Branch: Break
0:37 case: with expression
0:37 1 (const int)
0:37 Constant:
0:37 1 (const int)
0:? Sequence
0:38 move second child to first child (highp float)
0:38 'f' (highp float)
@@ -52,7 +54,8 @@ ERROR: node is still EOpNull!
0:38 'x' (smooth in highp float)
0:39 Branch: Break
0:40 case: with expression
0:40 2 (const int)
0:40 Constant:
0:40 2 (const int)
0:? Sequence
0:41 move second child to first child (highp float)
0:41 'f' (highp float)
@@ -71,7 +74,8 @@ ERROR: node is still EOpNull!
0:47 body
0:47 Sequence
0:48 case: with expression
0:48 1 (const int)
0:48 Constant:
0:48 1 (const int)
0:? Sequence
0:49 move second child to first child (highp float)
0:49 'f' (highp float)
@@ -79,7 +83,8 @@ ERROR: node is still EOpNull!
0:49 'x' (smooth in highp float)
0:50 Branch: Break
0:51 case: with expression
0:51 2 (const int)
0:51 Constant:
0:51 2 (const int)
0:? Sequence
0:52 switch
0:52 condition
@@ -87,7 +92,8 @@ ERROR: node is still EOpNull!
0:52 body
0:52 Sequence
0:53 case: with expression
0:53 1 (const int)
0:53 Constant:
0:53 1 (const int)
0:? Sequence
0:54 move second child to first child (highp float)
0:54 'f' (highp float)
@@ -98,7 +104,8 @@ ERROR: node is still EOpNull!
0:54 'x' (smooth in highp float)
0:55 Branch: Break
0:56 case: with expression
0:56 2 (const int)
0:56 Constant:
0:56 2 (const int)
0:? Sequence
0:57 move second child to first child (highp float)
0:57 'f' (highp float)
@@ -114,11 +121,13 @@ ERROR: node is still EOpNull!
0:62 tangent (highp float)
0:62 'x' (smooth in highp float)
0:63 case: with expression
0:63 1 (const int)
0:63 Constant:
0:63 1 (const int)
0:? Sequence
0:64 Branch: Break
0:65 case: with expression
0:65 3.800000
0:65 Constant:
0:65 3.800000
0:? Sequence
0:66 Branch: Break
0:67 case: with expression
@@ -131,7 +140,8 @@ ERROR: node is still EOpNull!
0:71 body
0:71 Sequence
0:72 case: with expression
0:72 1 (const int)
0:72 Constant:
0:72 1 (const int)
0:? Sequence
0:73 move second child to first child (highp float)
0:73 'f' (highp float)
@@ -139,7 +149,8 @@ ERROR: node is still EOpNull!
0:73 'x' (smooth in highp float)
0:74 Branch: Break
0:75 case: with expression
0:75 2 (const int)
0:75 Constant:
0:75 2 (const int)
0:? Sequence
0:76 switch
0:76 condition
@@ -147,7 +158,8 @@ ERROR: node is still EOpNull!
0:76 body
0:76 Sequence
0:77 case: with expression
0:77 1 (const int)
0:77 Constant:
0:77 1 (const int)
0:? Sequence
0:78 move second child to first child (highp float)
0:78 'f' (highp float)
@@ -158,7 +170,8 @@ ERROR: node is still EOpNull!
0:78 'x' (smooth in highp float)
0:79 Branch: Break
0:80 case: with expression
0:80 2 (const int)
0:80 Constant:
0:80 2 (const int)
0:? Sequence
0:81 move second child to first child (highp float)
0:81 'f' (highp float)