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

@ -124,16 +124,16 @@ ERROR: node is still EOpNull!
0:? 4.200000
0:? 'dx' (const float)
0:? 4.200000
0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(binding=3 column_major shared ) int aoeu})
0:? '__anon__0' (layout(binding=7 column_major shared ) uniform block{layout(binding=7 column_major shared ) int aoeu})
0:? '__anon__1' (layout(binding=1 ) in block{layout(binding=1 ) int aoeua})
0:? '__anon__2' (layout(column_major shared ) uniform block{layout(column_major shared ) int aooeu})
0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:? '__anon__0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})
0:? '__anon__1' (layout(binding=1 ) in block{in int aoeua})
0:? '__anon__2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})
0:? 'sampb1' (layout(binding=4 ) uniform sampler2D)
0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)
0:? 'sampb3' (layout(binding=80 ) uniform sampler2D)
0:? 'sampb4' (layout(binding=31 ) uniform sampler2D)
0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)
0:? '__anon__3' (out block{unsized array of float gl_ClipDistance, })
0:? '__anon__3' (out block{out unsized array of float gl_ClipDistance, })
0:? 'patchIn' (patch in 4-component vector of float)
0:? 'patchOut' (smooth patch out 4-component vector of float)
0:? 'gl_VertexID' (gl_VertexId int)