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,3 +1,4 @@
120.frag
ERROR: 0:9: 'in for stage inputs' : not supported for this version or the enabled extensions
ERROR: 0:10: 'out for stage outputs' : not supported for this version or the enabled extensions
ERROR: 0:54: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type '2-component vector of float' and a right operand of type '3-component vector of float' (or there is no acceptable conversion)
@ -31,6 +32,7 @@ ERROR: 0:115: 'return' : void function cannot return a value
ERROR: 0:125: 'gl_TexCoord' : redeclaration of array with size
ERROR: 31 compilation errors. No code generated.
ERROR: node is still EOpNull!
0:21 Function Definition: main( (void)
0:21 Function Parameters:
@ -317,3 +319,10 @@ ERROR: node is still EOpNull!
0:? 'a' (int)
0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)
Linked fragment stage:
ERROR: Linking fragment stage: Recursion detected:
foo(f1; calling foo(f1;