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

@@ -10,14 +10,16 @@ WARNING: 0:22: varying deprecated in version 130; may be removed in future relea
0:27 Construct vec4 (4-component vector of float)
0:27 direct index (uniform 4-component vector of float)
0:27 'un34' (uniform 4X4 matrix of float)
0:27 1 (const int)
0:27 Constant:
0:27 1 (const int)
0:28 add second child into first child (4-component vector of float)
0:28 'gl_FragColor' (fragColor 4-component vector of float)
0:28 Construct vec4 (4-component vector of float)
0:28 vector-times-matrix (3-component vector of float)
0:28 'Color' (smooth in 3-component vector of float)
0:28 'colorTransform' (uniform 3X3 matrix of float)
0:28 1.000000
0:28 Constant:
0:28 1.000000
0:30 Test condition and select (void)
0:30 Condition
0:30 Compare Not Equal (bool)
@@ -48,139 +50,176 @@ WARNING: 0:22: varying deprecated in version 130; may be removed in future relea
0:42 component-wise multiply (float)
0:42 direct index (float)
0:42 'v' (smooth in 4-component vector of float)
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 direct index (float)
0:42 'u' (smooth in 4-component vector of float)
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 component-wise multiply (float)
0:42 direct index (float)
0:42 'v' (smooth in 4-component vector of float)
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 direct index (float)
0:42 'u' (smooth in 4-component vector of float)
0:42 1 (const int)
0:42 Constant:
0:42 1 (const int)
0:42 component-wise multiply (float)
0:42 direct index (float)
0:42 'v' (smooth in 4-component vector of float)
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 direct index (float)
0:42 'u' (smooth in 4-component vector of float)
0:42 2 (const int)
0:42 Constant:
0:42 2 (const int)
0:42 component-wise multiply (float)
0:42 direct index (float)
0:42 'v' (smooth in 4-component vector of float)
0:42 0 (const int)
0:42 Constant:
0:42 0 (const int)
0:42 direct index (float)
0:42 'u' (smooth in 4-component vector of float)
0:42 3 (const int)
0:42 Constant:
0:42 3 (const int)
0:43 component-wise multiply (float)
0:43 direct index (float)
0:43 'v' (smooth in 4-component vector of float)
0:43 1 (const int)
0:43 Constant:
0:43 1 (const int)
0:43 direct index (float)
0:43 'u' (smooth in 4-component vector of float)
0:43 0 (const int)
0:43 Constant:
0:43 0 (const int)
0:43 component-wise multiply (float)
0:43 direct index (float)
0:43 'v' (smooth in 4-component vector of float)
0:43 1 (const int)
0:43 Constant:
0:43 1 (const int)
0:43 direct index (float)
0:43 'u' (smooth in 4-component vector of float)
0:43 1 (const int)
0:43 Constant:
0:43 1 (const int)
0:43 component-wise multiply (float)
0:43 direct index (float)
0:43 'v' (smooth in 4-component vector of float)
0:43 1 (const int)
0:43 Constant:
0:43 1 (const int)
0:43 direct index (float)
0:43 'u' (smooth in 4-component vector of float)
0:43 2 (const int)
0:43 Constant:
0:43 2 (const int)
0:43 component-wise multiply (float)
0:43 direct index (float)
0:43 'v' (smooth in 4-component vector of float)
0:43 1 (const int)
0:43 Constant:
0:43 1 (const int)
0:43 direct index (float)
0:43 'u' (smooth in 4-component vector of float)
0:43 3 (const int)
0:43 Constant:
0:43 3 (const int)
0:44 component-wise multiply (float)
0:44 direct index (float)
0:44 'v' (smooth in 4-component vector of float)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 direct index (float)
0:44 'u' (smooth in 4-component vector of float)
0:44 0 (const int)
0:44 Constant:
0:44 0 (const int)
0:44 component-wise multiply (float)
0:44 direct index (float)
0:44 'v' (smooth in 4-component vector of float)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 direct index (float)
0:44 'u' (smooth in 4-component vector of float)
0:44 1 (const int)
0:44 Constant:
0:44 1 (const int)
0:44 component-wise multiply (float)
0:44 direct index (float)
0:44 'v' (smooth in 4-component vector of float)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 direct index (float)
0:44 'u' (smooth in 4-component vector of float)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 component-wise multiply (float)
0:44 direct index (float)
0:44 'v' (smooth in 4-component vector of float)
0:44 2 (const int)
0:44 Constant:
0:44 2 (const int)
0:44 direct index (float)
0:44 'u' (smooth in 4-component vector of float)
0:44 3 (const int)
0:44 Constant:
0:44 3 (const int)
0:45 component-wise multiply (float)
0:45 direct index (float)
0:45 'v' (smooth in 4-component vector of float)
0:45 3 (const int)
0:45 Constant:
0:45 3 (const int)
0:45 direct index (float)
0:45 'u' (smooth in 4-component vector of float)
0:45 0 (const int)
0:45 Constant:
0:45 0 (const int)
0:45 component-wise multiply (float)
0:45 direct index (float)
0:45 'v' (smooth in 4-component vector of float)
0:45 3 (const int)
0:45 Constant:
0:45 3 (const int)
0:45 direct index (float)
0:45 'u' (smooth in 4-component vector of float)
0:45 1 (const int)
0:45 Constant:
0:45 1 (const int)
0:45 component-wise multiply (float)
0:45 direct index (float)
0:45 'v' (smooth in 4-component vector of float)
0:45 3 (const int)
0:45 Constant:
0:45 3 (const int)
0:45 direct index (float)
0:45 'u' (smooth in 4-component vector of float)
0:45 2 (const int)
0:45 Constant:
0:45 2 (const int)
0:45 component-wise multiply (float)
0:45 direct index (float)
0:45 'v' (smooth in 4-component vector of float)
0:45 3 (const int)
0:45 Constant:
0:45 3 (const int)
0:45 direct index (float)
0:45 'u' (smooth in 4-component vector of float)
0:45 3 (const int)
0:45 Constant:
0:45 3 (const int)
0:46 add second child into first child (4X4 matrix of float)
0:46 'm34' (4X4 matrix of float)
0:46 Construct mat4 (4X4 matrix of float)
0:46 direct index (float)
0:46 'v' (smooth in 4-component vector of float)
0:46 0 (const int)
0:46 Constant:
0:46 0 (const int)
0:47 add second child into first child (4X4 matrix of float)
0:47 'm34' (4X4 matrix of float)
0:47 Construct mat4 (4X4 matrix of float)
0:47 'u' (smooth in 4-component vector of float)
0:47 direct index (float)
0:47 'u' (smooth in 4-component vector of float)
0:47 0 (const int)
0:47 Constant:
0:47 0 (const int)
0:47 'u' (smooth in 4-component vector of float)
0:47 direct index (float)
0:47 'u' (smooth in 4-component vector of float)
0:47 0 (const int)
0:47 Constant:
0:47 0 (const int)
0:47 'u' (smooth in 4-component vector of float)
0:47 direct index (float)
0:47 'u' (smooth in 4-component vector of float)
0:47 0 (const int)
0:47 Constant:
0:47 0 (const int)
0:47 direct index (float)
0:47 'u' (smooth in 4-component vector of float)
0:47 0 (const int)
0:47 Constant:
0:47 0 (const int)
0:51 Test condition and select (void)
0:51 Condition
0:51 Compare Equal (bool)