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

@@ -24,42 +24,65 @@
0:23 'm23' (2X3 matrix of float)
0:23 'm32' (uniform 3X2 matrix of float)
0:23 'v3' (in 3-component vector of float)
0:23 0.000000
0:23 Constant:
0:23 0.000000
0:24 matrix-times-vector (4-component vector of float)
0:24 3.000000
0:24 6.000000
0:24 0.000000
0:24 0.000000
0:24 9.000000
0:24 12.000000
0:24 0.000000
0:24 0.000000
0:24 15.000000
0:24 18.000000
0:24 0.000000
0:24 0.000000
0:24 21.000000
0:24 24.000000
0:24 0.000000
0:24 0.000000
0:24 Constant:
0:24 3.000000
0:24 6.000000
0:24 0.000000
0:24 0.000000
0:24 9.000000
0:24 12.000000
0:24 0.000000
0:24 0.000000
0:24 15.000000
0:24 18.000000
0:24 0.000000
0:24 0.000000
0:24 21.000000
0:24 24.000000
0:24 0.000000
0:24 0.000000
0:24 'v4' (in 4-component vector of float)
0:24 50.000000
0:24 110.000000
0:24 170.000000
0:24 230.000000
0:24 30.000000
0:24 60.000000
0:24 0.000000
0:24 0.000000
0:24 20.000000
0:24 10.000000
0:24 6.000000
0:24 5.000000
0:24 Constant:
0:24 50.000000
0:24 110.000000
0:24 170.000000
0:24 230.000000
0:24 Constant:
0:24 30.000000
0:24 60.000000
0:24 0.000000
0:24 0.000000
0:24 Constant:
0:24 20.000000
0:24 10.000000
0:24 6.000000
0:24 5.000000
0:? Linker Objects
0:? 'v3' (in 3-component vector of float)
0:? 'v4' (in 4-component vector of float)
0:? 'm32' (uniform 3X2 matrix of float)
0:? 'cv2' (const 2-component vector of float)
0:? 10.000000
0:? 20.000000
0:? 'm24' (const 2X4 matrix of float)
0:? 3.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 0.000000
0:? 3.000000
0:? 0.000000
0:? 0.000000
0:? 'm42' (const 4X2 matrix of float)
0:? 1.000000
0:? 2.000000
0:? 3.000000
0:? 4.000000
0:? 5.000000
0:? 6.000000
0:? 7.000000
0:? 8.000000