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

@@ -17,31 +17,31 @@ ERROR: node is still EOpNull!
0:44 2 (const int)
0:44 Construct vec3 (3-component vector of float)
0:44 Convert int to float (float)
0:44 ni: direct index for structure (layout(column_major shared ) mediump int)
0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int)
0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (float)
0:44 direct index (mediump uint)
0:44 bv: direct index for structure (layout(column_major shared ) mediump 4-component vector of uint)
0:44 '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint bv, layout(column_major shared ) mediump 2X2 matrix of float bm2, layout(column_major shared ) lowp isampler2D sampler, layout(column_major shared ) structure{mediump int a} t, layout(column_major shared ) structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs})
0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44 '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{mediump int a} t, layout(column_major shared ) uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs})
0:44 Constant:
0:44 0 (const uint)
0:44 Constant:
0:44 1 (const int)
0:44 Convert uint to float (float)
0:44 direct index (mediump uint)
0:44 nbv: direct index for structure (layout(column_major shared ) mediump 4-component vector of uint)
0:44 direct index (layout(column_major shared ) block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)
0:44 direct index (layout(column_major shared ) block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:44 Constant:
0:44 2 (const int)
0:44 Constant:
0:44 0 (const int)
0:44 Constant:
0:44 2 (const int)
0:45 indirect index (layout(column_major shared ) block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:45 indirect index (layout(column_major shared ) block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:45 direct index (mediump uint)
0:45 v: direct index for structure (mediump 4-component vector of uint)
0:45 's' (uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t})
@@ -51,10 +51,10 @@ ERROR: node is still EOpNull!
0:45 0 (const int)
0:? Linker Objects
0:? 's' (uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t})
0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint bv, layout(column_major shared ) mediump 2X2 matrix of float bm2, layout(column_major shared ) lowp isampler2D sampler, layout(column_major shared ) structure{mediump int a} t, layout(column_major shared ) structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs})
0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni})
0:? '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f, layout(column_major shared ) mediump uint u})
0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{mediump int a} t, layout(column_major shared ) uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs})
0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni})
0:? '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u})
Linked fragment stage: