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 @@
precision.frag
ERROR: 0:3: 'float' : type requires declaration of default precision qualifier
ERROR: 0:18: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
ERROR: 0:19: 'int' : cannot apply precision statement to this type; use 'float', 'int' or a sampler type
@ -7,6 +8,7 @@ ERROR: 0:75: 'structure' : cannot apply precision statement to this type; use 'f
ERROR: 0:76: 'bool' : type cannot have precision qualifier
ERROR: 7 compilation errors. No code generated.
ERROR: node is still EOpNull!
0:5 Function Definition: foo(vf3; (lowp 2-component vector of float)
0:5 Function Parameters:
@ -121,3 +123,8 @@ ERROR: node is still EOpNull!
0:? 'global_high' (highp int)
0:? 'b2' (mediump 2-component vector of bool)
Linked fragment stage: