Fix slight inconsistencies in which qualifiers are inherited into block members:

- don't inherit 'binding'
 - always set the member storage qualifier, not just when the shader explicitly set it
 - don't include in/out members as objects that are resized by geometry/primitive layout specifiers
As a side effect, this makes built-in redeclarations (like gl_ClipDistance) require in/out.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24674 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2014-01-07 17:44:41 +00:00
parent 7cbfdf4394
commit 5053a39578
30 changed files with 343 additions and 339 deletions

View File

@@ -19,16 +19,16 @@ ERROR: node is still EOpNull!
0:9 Sequence
0:9 Constant:
0:9 1 (const int)
0:10 gl_Position: direct index for structure (4-component vector of float)
0:10 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:10 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:10 gl_Position: direct index for structure (in 4-component vector of float)
0:10 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:10 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:10 Constant:
0:10 1 (const int)
0:10 Constant:
0:10 0 (const int)
0:11 gl_Position: direct index for structure (4-component vector of float)
0:11 indirect index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:11 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:11 gl_Position: direct index for structure (in 4-component vector of float)
0:11 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:11 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:11 'i' (int)
0:11 Constant:
0:11 0 (const int)
@@ -37,9 +37,9 @@ ERROR: node is still EOpNull!
0:20 Sequence
0:20 Constant:
0:20 3 (const int)
0:21 gl_Position: direct index for structure (4-component vector of float)
0:21 indirect index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:21 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:21 gl_Position: direct index for structure (in 4-component vector of float)
0:21 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:21 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:21 'i' (int)
0:21 Constant:
0:21 0 (const int)
@@ -115,12 +115,12 @@ ERROR: node is still EOpNull!
0:44 1 (const int)
0:? Linker Objects
0:? 'i' (int)
0:? 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance})
0:? 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})
0:? 'color3' (in 3-element array of 4-component vector of float)
0:? 's2D' (uniform sampler2D)
0:? 'coord' (in 3-element array of 2-component vector of float)
0:? 'v4' (uniform 4-component vector of float)
0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) unsized array of float gl_ClipDistance})
0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out unsized array of float gl_ClipDistance})
Linked geometry stage: