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:
@@ -19,7 +19,8 @@ ERROR: node is still EOpNull!
|
||||
0:8 add (float)
|
||||
0:8 Convert int to float (float)
|
||||
0:8 'a' (in int)
|
||||
0:8 1.000000
|
||||
0:8 Constant:
|
||||
0:8 1.000000
|
||||
0:11 Branch: Return with expression
|
||||
0:11 'a' (in int)
|
||||
0:22 Function Definition: cos(f1; (float)
|
||||
@@ -27,19 +28,24 @@ ERROR: node is still EOpNull!
|
||||
0:22 'x' (in float)
|
||||
0:24 Sequence
|
||||
0:24 Branch: Return with expression
|
||||
0:24 1.000000
|
||||
0:24 Constant:
|
||||
0:24 1.000000
|
||||
0:29 Function Definition: main( (void)
|
||||
0:29 Function Parameters:
|
||||
0:? Sequence
|
||||
0:32 Function Call: g( (int)
|
||||
0:35 'sin' (float)
|
||||
0:37 Function Call: f(i1;i1;i1; (int)
|
||||
0:37 1 (const int)
|
||||
0:37 2 (const int)
|
||||
0:37 3 (const int)
|
||||
0:37 Constant:
|
||||
0:37 1 (const int)
|
||||
0:37 Constant:
|
||||
0:37 2 (const int)
|
||||
0:37 Constant:
|
||||
0:37 3 (const int)
|
||||
0:40 move second child to first child (float)
|
||||
0:40 'f' (float)
|
||||
0:40 3.000000
|
||||
0:40 Constant:
|
||||
0:40 3.000000
|
||||
0:42 move second child to first child (4-component vector of float)
|
||||
0:42 'gl_Position' (invariant gl_Position 4-component vector of float)
|
||||
0:42 Construct vec4 (4-component vector of float)
|
||||
@@ -48,12 +54,14 @@ ERROR: node is still EOpNull!
|
||||
0:44 Sequence
|
||||
0:44 move second child to first child (int)
|
||||
0:44 'f' (int)
|
||||
0:44 0 (const int)
|
||||
0:44 Constant:
|
||||
0:44 0 (const int)
|
||||
0:44 Loop with condition tested first
|
||||
0:44 Loop Condition
|
||||
0:44 Compare Less Than (bool)
|
||||
0:44 'f' (int)
|
||||
0:44 10 (const int)
|
||||
0:44 Constant:
|
||||
0:44 10 (const int)
|
||||
0:44 Loop Body
|
||||
0:45 Pre-Increment (int)
|
||||
0:45 'f' (int)
|
||||
@@ -63,12 +71,14 @@ ERROR: node is still EOpNull!
|
||||
0:47 Sequence
|
||||
0:47 move second child to first child (int)
|
||||
0:47 'x' (int)
|
||||
0:47 1 (const int)
|
||||
0:47 Constant:
|
||||
0:47 1 (const int)
|
||||
0:49 Sequence
|
||||
0:49 Sequence
|
||||
0:49 move second child to first child (float)
|
||||
0:49 'x' (float)
|
||||
0:49 2.000000
|
||||
0:49 Constant:
|
||||
0:49 2.000000
|
||||
0:49 move second child to first child (float)
|
||||
0:49 'y' (float)
|
||||
0:49 'x' (float)
|
||||
@@ -81,10 +91,12 @@ ERROR: node is still EOpNull!
|
||||
0:61 Sequence
|
||||
0:61 move second child to first child (structure)
|
||||
0:61 'S' (structure)
|
||||
0:61 0 (const int)
|
||||
0:61 Constant:
|
||||
0:61 0 (const int)
|
||||
0:62 x: direct index for structure (int)
|
||||
0:62 'S' (structure)
|
||||
0:62 0 (const int)
|
||||
0:62 Constant:
|
||||
0:62 0 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'b' (bool)
|
||||
0:? 'tan' (float)
|
||||
|
||||
Reference in New Issue
Block a user