mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-24 19:59:40 +00:00
Parser: Redeclare gl_ClipDistance/gl_CullDistance should update their array sizes.
This commit is contained in:
parent
3357d870e4
commit
827b23b8a1
@ -567,7 +567,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badp2' (flat patch in 4-component vector of float)
|
||||
0:? 'badp3' (noperspective patch in 4-component vector of float)
|
||||
0:? 'badp4' (patch sample in 3-component vector of float)
|
||||
0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'ina' (in 2-component vector of float)
|
||||
0:? 'inb' (in 32-element array of 2-component vector of float)
|
||||
0:? 'inc' (in 32-element array of 2-component vector of float)
|
||||
@ -1577,7 +1577,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badp2' (flat patch in 4-component vector of float)
|
||||
0:? 'badp3' (noperspective patch in 4-component vector of float)
|
||||
0:? 'badp4' (patch sample in 3-component vector of float)
|
||||
0:? 'gl_in' (in 32-element array of block{in 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'ina' (in 2-component vector of float)
|
||||
0:? 'inb' (in 32-element array of 2-component vector of float)
|
||||
0:? 'inc' (in 32-element array of 2-component vector of float)
|
||||
|
@ -138,7 +138,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badp2' (flat patch in 4-component vector of float)
|
||||
0:? 'badp3' (noperspective patch in 4-component vector of float)
|
||||
0:? 'badp4' (patch sample in 3-component vector of float)
|
||||
0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'ina' (in 2-component vector of float)
|
||||
0:? 'inb' (in 32-element array of 2-component vector of float)
|
||||
0:? 'inc' (in 32-element array of 2-component vector of float)
|
||||
@ -263,7 +263,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'badp2' (flat patch in 4-component vector of float)
|
||||
0:? 'badp3' (noperspective patch in 4-component vector of float)
|
||||
0:? 'badp4' (patch sample in 3-component vector of float)
|
||||
0:? 'gl_in' (in 32-element array of block{in 3-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance})
|
||||
0:? 'ina' (in 2-component vector of float)
|
||||
0:? 'inb' (in 32-element array of 2-component vector of float)
|
||||
0:? 'inc' (in 32-element array of 2-component vector of float)
|
||||
|
@ -275,7 +275,7 @@ ERROR: node is still EOpNull!
|
||||
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{out implicitly-sized array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'anon@3' (out block{out 4-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'patchIn' (patch in 4-component vector of float)
|
||||
0:? 'patchOut' (smooth patch out 4-component vector of float)
|
||||
0:? 'comma0' (temp int)
|
||||
@ -527,7 +527,7 @@ ERROR: node is still EOpNull!
|
||||
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{out 1-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'anon@3' (out block{out 4-element array of float ClipDistance gl_ClipDistance, })
|
||||
0:? 'patchIn' (patch in 4-component vector of float)
|
||||
0:? 'patchOut' (smooth patch out 4-component vector of float)
|
||||
0:? 'comma0' (temp int)
|
||||
|
@ -12,16 +12,16 @@ output primitive = none
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp float)
|
||||
0:13 direct index (layout(stream=0 ) temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float CullDistance)
|
||||
0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 gl_CullDistance: direct index for structure (layout(stream=0 ) out 3-element array of float CullDistance)
|
||||
0:13 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 3 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 2 (const int)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
|
||||
0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
|
||||
0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_in' (in implicitly-sized array of block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Constant:
|
||||
@ -29,8 +29,8 @@ output primitive = none
|
||||
0:13 Constant:
|
||||
0:13 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' (in implicitly-sized array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_in' (in implicitly-sized array of block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
|
||||
|
||||
|
||||
Linked geometry stage:
|
||||
|
@ -9,18 +9,18 @@ vertices = -1
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp float)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
|
||||
0:13 indirect index (temp block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
|
||||
0:13 indirect index (temp block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_InvocationID' (in int InvocationID)
|
||||
0:13 Constant:
|
||||
0:13 0 (const int)
|
||||
0:13 Constant:
|
||||
0:13 2 (const int)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
|
||||
0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
|
||||
0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Constant:
|
||||
@ -28,8 +28,8 @@ vertices = -1
|
||||
0:13 Constant:
|
||||
0:13 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' (out 4-element array of block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_out' (out 4-element array of block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
|
||||
|
||||
Linked tessellation control stage:
|
||||
|
@ -11,16 +11,16 @@ triangle order = none
|
||||
0:13 Sequence
|
||||
0:13 move second child to first child (temp float)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
|
||||
0:13 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
|
||||
0:13 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 3 (const uint)
|
||||
0:13 Constant:
|
||||
0:13 2 (const int)
|
||||
0:13 direct index (temp float CullDistance)
|
||||
0:13 gl_CullDistance: direct index for structure (in implicitly-sized array of float CullDistance)
|
||||
0:13 direct index (temp block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
|
||||
0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:13 Constant:
|
||||
0:13 1 (const int)
|
||||
0:13 Constant:
|
||||
@ -28,8 +28,8 @@ triangle order = none
|
||||
0:13 Constant:
|
||||
0:13 2 (const int)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'gl_in' (in 32-element array of block{in 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
|
||||
|
||||
Linked tessellation evaluation stage:
|
||||
|
@ -12,8 +12,8 @@ ERROR: node is still EOpNull!
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child (temp float)
|
||||
0:9 direct index (temp float CullDistance)
|
||||
0:9 gl_CullDistance: direct index for structure (out implicitly-sized array of float CullDistance)
|
||||
0:9 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:9 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
|
||||
0:9 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:9 Constant:
|
||||
0:9 10 (const uint)
|
||||
0:9 Constant:
|
||||
@ -21,7 +21,7 @@ ERROR: node is still EOpNull!
|
||||
0:9 Constant:
|
||||
0:9 4.500000
|
||||
0:? Linker Objects
|
||||
0:? 'anon@0' (out block{out implicitly-sized array of float CullDistance gl_CullDistance})
|
||||
0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
|
||||
0:? 'outb' (smooth out bool)
|
||||
0:? 'outo' (smooth out sampler2D)
|
||||
0:? 'outa' (smooth out 4-element array of float)
|
||||
|
@ -3465,6 +3465,9 @@ void TParseContext::redeclareBuiltinBlock(const TSourceLoc& loc, TTypeList& newT
|
||||
oldType.getQualifier().flat = newType.getQualifier().flat;
|
||||
oldType.getQualifier().nopersp = newType.getQualifier().nopersp;
|
||||
|
||||
if (oldType.isImplicitlySizedArray() && newType.isExplicitlySizedArray())
|
||||
oldType.changeOuterArraySize(newType.getOuterArraySize());
|
||||
|
||||
// go to next member
|
||||
++member;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user