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:
@@ -4,7 +4,7 @@ ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name
|
||||
ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration
|
||||
ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use
|
||||
ERROR: 0:32: 'gl_Position' : no such field in structure
|
||||
ERROR: 0:32: '=' : cannot convert from 'block{float gl_PointSize}' to '4-component vector of float'
|
||||
ERROR: 0:32: '=' : cannot convert from 'block{in float gl_PointSize}' to '4-component vector of float'
|
||||
ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared
|
||||
ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void'
|
||||
ERROR: 7 compilation errors. No code generated.
|
||||
@@ -28,9 +28,9 @@ ERROR: node is still EOpNull!
|
||||
0:30 Sequence
|
||||
0:30 move second child to first child (float)
|
||||
0:30 'p' (float)
|
||||
0:30 gl_PointSize: direct index for structure (float)
|
||||
0:30 direct index (block{float gl_PointSize})
|
||||
0:30 'gl_in' (in unsized array of block{float gl_PointSize})
|
||||
0:30 gl_PointSize: direct index for structure (in float)
|
||||
0:30 direct index (block{in float gl_PointSize})
|
||||
0:30 'gl_in' (in unsized array of block{in float gl_PointSize})
|
||||
0:30 Constant:
|
||||
0:30 1 (const int)
|
||||
0:30 Constant:
|
||||
@@ -46,7 +46,7 @@ ERROR: node is still EOpNull!
|
||||
0:33 Constant:
|
||||
0:33 0 (const uint)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' (in unsized array of block{float gl_PointSize})
|
||||
0:? 'gl_in' (in unsized array of block{in float gl_PointSize})
|
||||
0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user