Additional semantic checking for tessellation shaders and related clean up:

- non-arrayed geometry inputs and tessellation-control outputs
 - include user blocks in i/o array resizing based on primitive type
 - things belonging only to 'in' or 'out' are verified only on 'in' or 'out'
 - invocation number changing
 - move shader-scoped qualifier checking into its class
 - remove an incidental union of two levels of the node hierarchy in the yacc stack
 - remove layout(location=) default tracking when setting on a variable


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24551 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2013-12-18 03:06:24 +00:00
parent 76ea74afe0
commit 7c908d2543
20 changed files with 280 additions and 206 deletions

View file

@ -1,11 +1,12 @@
420.tesc
Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.
ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size gl_out
ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size a
ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size outb
ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out
ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a
ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb
ERROR: 0:26: 'gl_PointSize' : no such field in structure
ERROR: 0:26: 'assign' : cannot convert from 'float' to 'block{gl_Position}'
ERROR: 5 compilation errors. No code generated.
ERROR: 0:29: 'out' : type must be an array: outf
ERROR: 6 compilation errors. No code generated.
vertices = 4
@ -76,6 +77,7 @@ ERROR: node is still EOpNull!
0:? 'a' (out 3-element array of int)
0:? 'outb' (out 5-element array of int)
0:? 'outc' (out 4-element array of int)
0:? 'outf' (out float)
Linked tessellation control stage: