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

@@ -1,6 +1,6 @@
300operations.frag
ERROR: 0:11: 'float' : type requires declaration of default precision qualifier
ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}' (or there is no acceptable conversion)
ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' (or there is no acceptable conversion)
ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'structure{mediump int i}' and a right operand of type 'structure{mediump int i}' (or there is no acceptable conversion)
ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump float' (or there is no acceptable conversion)
ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'mediump uint' and a right operand of type 'mediump float' (or there is no acceptable conversion)
@@ -15,7 +15,7 @@ ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a le
ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump float' (or there is no acceptable conversion)
ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'mediump float' and a right operand of type 'mediump uint' (or there is no acceptable conversion)
ERROR: 0:45: '++' : l-value required "instanceName" (can't modify a uniform)
ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f} (or there is no acceptable conversion)
ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type structure{mediump int i} (or there is no acceptable conversion)
ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type 5-element array of mediump float (or there is no acceptable conversion)
ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type 3-component vector of bool (or there is no acceptable conversion)
@@ -40,7 +40,7 @@ ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an ope
ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type mediump 4X4 matrix of float (or there is no acceptable conversion)
ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type mediump 3-component vector of float (or there is no acceptable conversion)
ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type 5-element array of mediump float (or there is no acceptable conversion)
ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f} (or there is no acceptable conversion)
ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion)
ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump 3-component vector of int' (or there is no acceptable conversion)
ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'mediump uint' and a right operand of type 'mediump 3-component vector of uint' (or there is no acceptable conversion)
ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump float' (or there is no acceptable conversion)
@@ -62,7 +62,7 @@ ERROR: node is still EOpNull!
0:13 Function Definition: main( (void)
0:13 Function Parameters:
0:? Sequence
0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f})
0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
0:31 's' (structure{mediump int i})
0:32 'i' (mediump int)
0:33 'u' (mediump uint)
@@ -76,7 +76,7 @@ ERROR: node is still EOpNull!
0:42 'f' (mediump float)
0:43 'i' (mediump int)
0:44 'f' (mediump float)
0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f})
0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
0:46 's' (structure{mediump int i})
0:47 'a' (5-element array of mediump float)
0:48 'b3' (3-component vector of bool)
@@ -113,7 +113,7 @@ ERROR: node is still EOpNull!
0:71 'm4' (mediump 4X4 matrix of float)
0:72 'v3' (mediump 3-component vector of float)
0:73 'a' (5-element array of mediump float)
0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f})
0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
0:76 'i' (mediump int)
0:77 'u' (mediump uint)
0:78 'i' (mediump int)
@@ -231,7 +231,7 @@ ERROR: node is still EOpNull!
0:134 Constant:
0:134 2 (const int)
0:? Linker Objects
0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f})
0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})
0:? 's' (structure{mediump int i})
0:? 'a' (5-element array of mediump float)