Flesh out 4.x block redeclaration semantics:

- hide non-redeclared anonymous members
 - array size limit checking
 - illegal member qualifiers
 - additional members


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24406 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-12-09 00:37:46 +00:00
parent e1b2e39a56
commit c719481d43
16 changed files with 229 additions and 127 deletions

View File

@@ -4,7 +4,9 @@ ERROR: 0:9: 'length' : array must be declared with a size before using this met
ERROR: 0:11: '[' : array must be redeclared with a size before being indexed with a variable
ERROR: 0:42: 'assign' : l-value required (can't modify a const)
ERROR: 0:43: 'assign' : l-value required "v4" (can't modify a uniform)
ERROR: 4 compilation errors. No code generated.
ERROR: 0:48: 'gl_PointSize' : cannot change arrayness of redeclared block member
ERROR: 0:49: 'gl_ClipDistance' : cannot change arrayness of redeclared block member
ERROR: 6 compilation errors. No code generated.
invocations = 0
@@ -115,6 +117,7 @@ ERROR: node is still EOpNull!
0:? 's2D' (uniform sampler2D)
0:? 'coord' (in 2-component vector of float)
0:? 'v4' (uniform 4-component vector of float)
0:? '__anon__0' (layout(stream=0 ) out block{gl_PointSize,gl_ClipDistance})
Linked geometry stage: