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

@@ -22,16 +22,20 @@
0:5 'f' (inout mediump int)
0:8 multiply second child into first child (mediump int)
0:8 'a' (in mediump int)
0:8 64 (const int)
0:8 Constant:
0:8 64 (const int)
0:10 multiply second child into first child (mediump int)
0:10 'c' (in mediump int)
0:10 64 (const int)
0:10 Constant:
0:10 64 (const int)
0:12 move second child to first child (mediump int)
0:12 'e' (out mediump int)
0:12 1024 (const int)
0:12 Constant:
0:12 1024 (const int)
0:13 multiply second child into first child (mediump int)
0:13 'f' (inout mediump int)
0:13 64 (const int)
0:13 Constant:
0:13 64 (const int)
0:15 add second child into first child (mediump int)
0:15 'sum' (mediump int)
0:15 add (mediump int)
@@ -41,11 +45,13 @@
0:15 add (mediump int)
0:15 'a' (in mediump int)
0:15 component-wise multiply (mediump int)
0:15 64 (const int)
0:15 Constant:
0:15 64 (const int)
0:15 'b' (const (read only) mediump int)
0:15 'c' (in mediump int)
0:15 component-wise multiply (mediump int)
0:15 64 (const int)
0:15 Constant:
0:15 64 (const int)
0:15 'd' (const (read only) mediump int)
0:15 'e' (out mediump int)
0:15 'f' (inout mediump int)
@@ -57,41 +63,53 @@
0:24 Sequence
0:24 move second child to first child (mediump int)
0:24 't' (mediump int)
0:24 2 (const int)
0:24 Constant:
0:24 2 (const int)
0:28 move second child to first child (mediump int)
0:28 direct index (mediump int)
0:28 t: direct index for structure (mediump 4-component vector of int)
0:28 'f' (structure)
0:28 0 (const int)
0:28 1 (const int)
0:28 32 (const int)
0:28 Constant:
0:28 0 (const int)
0:28 Constant:
0:28 1 (const int)
0:28 Constant:
0:28 32 (const int)
0:30 Sequence
0:30 move second child to first child (mediump int)
0:30 'color' (mediump int)
0:30 Function Call: foo(i1;i1;i1;i1;i1;i1; (mediump int)
0:30 1 (const int)
0:30 2 (const int)
0:30 Constant:
0:30 1 (const int)
0:30 Constant:
0:30 2 (const int)
0:30 add (mediump int)
0:30 't' (mediump int)
0:30 't' (mediump int)
0:30 8 (const int)
0:30 Constant:
0:30 8 (const int)
0:30 'e' (mediump int)
0:30 direct index (mediump int)
0:30 t: direct index for structure (mediump 4-component vector of int)
0:30 'f' (structure)
0:30 0 (const int)
0:30 1 (const int)
0:30 Constant:
0:30 0 (const int)
0:30 Constant:
0:30 1 (const int)
0:32 add second child into first child (mediump int)
0:32 'color' (mediump int)
0:32 component-wise multiply (mediump int)
0:32 128 (const int)
0:32 Constant:
0:32 128 (const int)
0:32 add (mediump int)
0:32 'e' (mediump int)
0:32 direct index (mediump int)
0:32 t: direct index for structure (mediump 4-component vector of int)
0:32 'f' (structure)
0:32 0 (const int)
0:32 1 (const int)
0:32 Constant:
0:32 0 (const int)
0:32 Constant:
0:32 1 (const int)
0:35 move second child to first child (mediump 4-component vector of float)
0:35 'gl_FragColor' (fragColor mediump 4-component vector of float)
0:35 Construct vec4 (mediump 4-component vector of float)