Track what ins/outs/uniforms are used, so that errors like "declare after use" or "can't use both XXX and YYY" can be issued. So far, used this for invariant, gl_FragColor et. al., and gl_FragCoord use before redeclaration.

Also made all tests in testlist include linker tests.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24156 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-11-20 21:12:43 +00:00
parent 23bcc02a20
commit 5134b9cf57
114 changed files with 835 additions and 24 deletions

View File

@@ -1,7 +1,9 @@
150.vert
Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.
ERROR: 0:21: 'a' : cannot redeclare a user-block member array
ERROR: 0:22: 'a' : cannot redeclare a user-block member array
ERROR: 1 compilation errors. No code generated.
ERROR: node is still EOpNull!
0:9 Function Definition: main( (void)
0:9 Function Parameters:
@@ -30,6 +32,12 @@ ERROR: node is still EOpNull!
0:13 'iv4' (in 4-component vector of float)
0:13 Constant:
0:13 0 (const int)
0:14 move second child to first child (4-component vector of float)
0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)
0:14 '__anon__0' (out block{gl_Position,gl_PointSize,gl_ClipDistance,gl_ClipVertex,gl_FrontColor,gl_BackColor,gl_FrontSecondaryColor,gl_BackSecondaryColor,gl_TexCoord,gl_FogFragCoord})
0:14 Constant:
0:14 3 (const uint)
0:14 'iv4' (in 4-component vector of float)
0:? Linker Objects
0:? 'iv4' (in 4-component vector of float)
0:? 'ps' (uniform float)
@@ -37,3 +45,9 @@ ERROR: node is still EOpNull!
0:? 'gl_VertexID' (gl_VertexId int)
0:? 'gl_InstanceID' (gl_InstanceId int)
Linked vertex stage:
ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred)