Commit cb0e471a by Rex Xu

Parser: Update array size of gl_ClipDistance/gl_CullDistance in gl_in[].

parent c3869fee
...@@ -215,9 +215,9 @@ ERROR: node is still EOpNull! ...@@ -215,9 +215,9 @@ ERROR: node is still EOpNull!
0:33 Constant: 0:33 Constant:
0:33 3 (const int) 0:33 3 (const int)
0:33 direct index (temp float ClipDistance) 0:33 direct index (temp float ClipDistance)
0:33 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance) 0:33 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:33 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:33 Constant: 0:33 Constant:
0:33 1 (const int) 0:33 1 (const int)
0:33 Constant: 0:33 Constant:
...@@ -230,8 +230,8 @@ ERROR: node is still EOpNull! ...@@ -230,8 +230,8 @@ ERROR: node is still EOpNull!
0:34 Constant: 0:34 Constant:
0:34 0 (const uint) 0:34 0 (const uint)
0:34 gl_Position: direct index for structure (in 4-component vector of float Position) 0:34 gl_Position: direct index for structure (in 4-component vector of float Position)
0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:34 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:34 Constant: 0:34 Constant:
0:34 0 (const int) 0:34 0 (const int)
0:34 Constant: 0:34 Constant:
...@@ -242,8 +242,8 @@ ERROR: node is still EOpNull! ...@@ -242,8 +242,8 @@ ERROR: node is still EOpNull!
0:35 Constant: 0:35 Constant:
0:35 1 (const uint) 0:35 1 (const uint)
0:35 gl_PointSize: direct index for structure (in float PointSize) 0:35 gl_PointSize: direct index for structure (in float PointSize)
0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:35 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:35 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:35 Constant: 0:35 Constant:
0:35 3 (const int) 0:35 3 (const int)
0:35 Constant: 0:35 Constant:
...@@ -293,7 +293,7 @@ ERROR: node is still EOpNull! ...@@ -293,7 +293,7 @@ ERROR: node is still EOpNull!
0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) 0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) 0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})
0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance}) 0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float Position gl_Position, layout(stream=0 ) gl_PointSize float PointSize gl_PointSize, layout(stream=0 ) out 4-element array of float ClipDistance gl_ClipDistance})
0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:? 'gl_in' (in 4-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:? 'ov0' (layout(stream=0 ) out 4-component vector of float) 0:? 'ov0' (layout(stream=0 ) out 4-component vector of float)
0:? 'ov4' (layout(stream=4 ) out 4-component vector of float) 0:? 'ov4' (layout(stream=4 ) out 4-component vector of float)
0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float) 0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float)
......
...@@ -233,8 +233,8 @@ ERROR: node is still EOpNull! ...@@ -233,8 +233,8 @@ ERROR: node is still EOpNull!
0:23 move second child to first child (temp 4-component vector of float) 0:23 move second child to first child (temp 4-component vector of float)
0:23 'p' (temp 4-component vector of float) 0:23 'p' (temp 4-component vector of float)
0:23 gl_Position: direct index for structure (in 4-component vector of float Position) 0:23 gl_Position: direct index for structure (in 4-component vector of float Position)
0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:23 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:23 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:23 Constant: 0:23 Constant:
0:23 1 (const int) 0:23 1 (const int)
0:23 Constant: 0:23 Constant:
...@@ -243,8 +243,8 @@ ERROR: node is still EOpNull! ...@@ -243,8 +243,8 @@ ERROR: node is still EOpNull!
0:24 move second child to first child (temp float) 0:24 move second child to first child (temp float)
0:24 'ps' (temp float) 0:24 'ps' (temp float)
0:24 gl_PointSize: direct index for structure (in float PointSize) 0:24 gl_PointSize: direct index for structure (in float PointSize)
0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:24 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:24 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:24 Constant: 0:24 Constant:
0:24 1 (const int) 0:24 1 (const int)
0:24 Constant: 0:24 Constant:
...@@ -253,9 +253,9 @@ ERROR: node is still EOpNull! ...@@ -253,9 +253,9 @@ ERROR: node is still EOpNull!
0:25 move second child to first child (temp float) 0:25 move second child to first child (temp float)
0:25 'cd' (temp float) 0:25 'cd' (temp float)
0:25 direct index (temp float ClipDistance) 0:25 direct index (temp float ClipDistance)
0:25 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance) 0:25 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:25 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:25 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:25 Constant: 0:25 Constant:
0:25 1 (const int) 0:25 1 (const int)
0:25 Constant: 0:25 Constant:
...@@ -276,25 +276,25 @@ ERROR: node is still EOpNull! ...@@ -276,25 +276,25 @@ ERROR: node is still EOpNull!
0:29 'gl_InvocationID' (in int InvocationID) 0:29 'gl_InvocationID' (in int InvocationID)
0:31 move second child to first child (temp 4-component vector of float) 0:31 move second child to first child (temp 4-component vector of float)
0:31 gl_Position: direct index for structure (out 4-component vector of float Position) 0:31 gl_Position: direct index for structure (out 4-component vector of float Position)
0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:31 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:31 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:31 'gl_InvocationID' (in int InvocationID) 0:31 'gl_InvocationID' (in int InvocationID)
0:31 Constant: 0:31 Constant:
0:31 0 (const int) 0:31 0 (const int)
0:31 'p' (temp 4-component vector of float) 0:31 'p' (temp 4-component vector of float)
0:32 move second child to first child (temp float) 0:32 move second child to first child (temp float)
0:32 gl_PointSize: direct index for structure (out float PointSize) 0:32 gl_PointSize: direct index for structure (out float PointSize)
0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:32 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:32 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:32 'gl_InvocationID' (in int InvocationID) 0:32 'gl_InvocationID' (in int InvocationID)
0:32 Constant: 0:32 Constant:
0:32 1 (const int) 0:32 1 (const int)
0:32 'ps' (temp float) 0:32 'ps' (temp float)
0:33 move second child to first child (temp float) 0:33 move second child to first child (temp float)
0:33 direct index (temp float ClipDistance) 0:33 direct index (temp float ClipDistance)
0:33 gl_ClipDistance: direct index for structure (out 1-element array of float ClipDistance) 0:33 gl_ClipDistance: direct index for structure (out 2-element array of float ClipDistance)
0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:33 indirect index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:33 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:33 'gl_InvocationID' (in int InvocationID) 0:33 'gl_InvocationID' (in int InvocationID)
0:33 Constant: 0:33 Constant:
0:33 2 (const int) 0:33 2 (const int)
...@@ -364,8 +364,8 @@ ERROR: node is still EOpNull! ...@@ -364,8 +364,8 @@ ERROR: node is still EOpNull!
0:67 Function Parameters: 0:67 Function Parameters:
0:69 Sequence 0:69 Sequence
0:69 gl_PointSize: direct index for structure (out float PointSize) 0:69 gl_PointSize: direct index for structure (out float PointSize)
0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:69 direct index (temp block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:69 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:69 Constant: 0:69 Constant:
0:69 4 (const int) 0:69 4 (const int)
0:69 Constant: 0:69 Constant:
...@@ -390,7 +390,7 @@ ERROR: node is still EOpNull! ...@@ -390,7 +390,7 @@ ERROR: node is still EOpNull!
0:97 'd' (temp double) 0:97 'd' (temp double)
0:97 'd' (temp double) 0:97 'd' (temp double)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance}) 0:? 'gl_out' (out 4-element array of block{out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 2-element array of float ClipDistance gl_ClipDistance})
0:? 'outa' (global 4-element array of int) 0:? 'outa' (global 4-element array of int)
0:? 'patchIn' (patch in 4-component vector of float) 0:? 'patchIn' (patch in 4-component vector of float)
0:? 'patchOut' (patch out 4-component vector of float) 0:? 'patchOut' (patch out 4-component vector of float)
......
...@@ -179,8 +179,8 @@ ERROR: node is still EOpNull! ...@@ -179,8 +179,8 @@ ERROR: node is still EOpNull!
0:32 move second child to first child (temp 4-component vector of float) 0:32 move second child to first child (temp 4-component vector of float)
0:32 'p' (temp 4-component vector of float) 0:32 'p' (temp 4-component vector of float)
0:32 gl_Position: direct index for structure (in 4-component vector of float Position) 0:32 gl_Position: direct index for structure (in 4-component vector of float Position)
0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:32 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:32 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:32 Constant: 0:32 Constant:
0:32 1 (const int) 0:32 1 (const int)
0:32 Constant: 0:32 Constant:
...@@ -189,8 +189,8 @@ ERROR: node is still EOpNull! ...@@ -189,8 +189,8 @@ ERROR: node is still EOpNull!
0:33 move second child to first child (temp float) 0:33 move second child to first child (temp float)
0:33 'ps' (temp float) 0:33 'ps' (temp float)
0:33 gl_PointSize: direct index for structure (in float PointSize) 0:33 gl_PointSize: direct index for structure (in float PointSize)
0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:33 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:33 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:33 Constant: 0:33 Constant:
0:33 1 (const int) 0:33 1 (const int)
0:33 Constant: 0:33 Constant:
...@@ -199,9 +199,9 @@ ERROR: node is still EOpNull! ...@@ -199,9 +199,9 @@ ERROR: node is still EOpNull!
0:34 move second child to first child (temp float) 0:34 move second child to first child (temp float)
0:34 'cd' (temp float) 0:34 'cd' (temp float)
0:34 direct index (temp float ClipDistance) 0:34 direct index (temp float ClipDistance)
0:34 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance) 0:34 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:34 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:34 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:34 Constant: 0:34 Constant:
0:34 1 (const int) 0:34 1 (const int)
0:34 Constant: 0:34 Constant:
...@@ -263,7 +263,7 @@ ERROR: node is still EOpNull! ...@@ -263,7 +263,7 @@ ERROR: node is still EOpNull!
0:? 'badp2' (flat patch in 4-component vector of float) 0:? 'badp2' (flat patch in 4-component vector of float)
0:? 'badp3' (noperspective 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:? 'badp4' (patch sample in 3-component vector of float)
0:? 'gl_in' (in 32-element array of block{in 1-element array of float ClipDistance gl_ClipDistance}) 0:? 'gl_in' (in 32-element array of block{in 3-element array of float ClipDistance gl_ClipDistance})
0:? 'ina' (in 2-component vector of float) 0:? 'ina' (in 2-component vector of float)
0:? 'inb' (in 32-element array of 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) 0:? 'inc' (in 32-element array of 2-component vector of float)
......
...@@ -132,8 +132,8 @@ ERROR: node is still EOpNull! ...@@ -132,8 +132,8 @@ ERROR: node is still EOpNull!
0:17 move second child to first child (temp 4-component vector of float) 0:17 move second child to first child (temp 4-component vector of float)
0:17 'p' (temp 4-component vector of float) 0:17 'p' (temp 4-component vector of float)
0:17 gl_Position: direct index for structure (in 4-component vector of float Position) 0:17 gl_Position: direct index for structure (in 4-component vector of float Position)
0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:17 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:17 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:17 Constant: 0:17 Constant:
0:17 1 (const int) 0:17 1 (const int)
0:17 Constant: 0:17 Constant:
...@@ -142,8 +142,8 @@ ERROR: node is still EOpNull! ...@@ -142,8 +142,8 @@ ERROR: node is still EOpNull!
0:18 move second child to first child (temp float) 0:18 move second child to first child (temp float)
0:18 'ps' (temp float) 0:18 'ps' (temp float)
0:18 gl_PointSize: direct index for structure (in float PointSize) 0:18 gl_PointSize: direct index for structure (in float PointSize)
0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:18 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:18 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:18 Constant: 0:18 Constant:
0:18 1 (const int) 0:18 1 (const int)
0:18 Constant: 0:18 Constant:
...@@ -152,9 +152,9 @@ ERROR: node is still EOpNull! ...@@ -152,9 +152,9 @@ ERROR: node is still EOpNull!
0:19 move second child to first child (temp float) 0:19 move second child to first child (temp float)
0:19 'cd' (temp float) 0:19 'cd' (temp float)
0:19 direct index (temp float ClipDistance) 0:19 direct index (temp float ClipDistance)
0:19 gl_ClipDistance: direct index for structure (in 1-element array of float ClipDistance) 0:19 gl_ClipDistance: direct index for structure (in 3-element array of float ClipDistance)
0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:19 direct index (temp block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 1-element array of float ClipDistance gl_ClipDistance}) 0:19 'gl_in' (in 32-element array of block{in 4-component vector of float Position gl_Position, in float PointSize gl_PointSize, in 3-element array of float ClipDistance gl_ClipDistance})
0:19 Constant: 0:19 Constant:
0:19 1 (const int) 0:19 1 (const int)
0:19 Constant: 0:19 Constant:
......
...@@ -57,9 +57,9 @@ output primitive = none ...@@ -57,9 +57,9 @@ output primitive = none
0:13 Constant: 0:13 Constant:
0:13 2 (const int) 0:13 2 (const int)
0:13 direct index (temp float CullDistance) 0:13 direct index (temp float CullDistance)
0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance) 0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
0:13 direct index (temp block{in 1-element array of float CullDistance gl_CullDistance}) 0:13 direct index (temp block{in 3-element array of float CullDistance gl_CullDistance})
0:13 'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance}) 0:13 'gl_in' (in 2-element array of block{in 3-element array of float CullDistance gl_CullDistance})
0:13 Constant: 0:13 Constant:
0:13 1 (const int) 0:13 1 (const int)
0:13 Constant: 0:13 Constant:
...@@ -67,6 +67,6 @@ output primitive = none ...@@ -67,6 +67,6 @@ output primitive = none
0:13 Constant: 0:13 Constant:
0:13 2 (const int) 0:13 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_in' (in 2-element array of block{in 1-element array of float CullDistance gl_CullDistance}) 0:? 'gl_in' (in 2-element 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}) 0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-element array of float CullDistance gl_CullDistance})
...@@ -44,18 +44,18 @@ vertices = -1 ...@@ -44,18 +44,18 @@ vertices = -1
0:13 Sequence 0:13 Sequence
0:13 move second child to first child (temp float) 0:13 move second child to first child (temp float)
0:13 direct index (temp float CullDistance) 0:13 direct index (temp float CullDistance)
0:13 gl_CullDistance: direct index for structure (out 1-element array of float CullDistance) 0:13 gl_CullDistance: direct index for structure (out 3-element array of float CullDistance)
0:13 indirect index (temp block{out 1-element array of float CullDistance gl_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 1-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 'gl_InvocationID' (in int InvocationID)
0:13 Constant: 0:13 Constant:
0:13 0 (const int) 0:13 0 (const int)
0:13 Constant: 0:13 Constant:
0:13 2 (const int) 0:13 2 (const int)
0:13 direct index (temp float CullDistance) 0:13 direct index (temp float CullDistance)
0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance) 0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
0:13 direct index (temp block{in 1-element array of float CullDistance gl_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 1-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 Constant:
0:13 1 (const int) 0:13 1 (const int)
0:13 Constant: 0:13 Constant:
...@@ -63,6 +63,6 @@ vertices = -1 ...@@ -63,6 +63,6 @@ vertices = -1
0:13 Constant: 0:13 Constant:
0:13 2 (const int) 0:13 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_in' (in 32-element array of block{in 1-element 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 1-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})
...@@ -53,9 +53,9 @@ triangle order = ccw ...@@ -53,9 +53,9 @@ triangle order = ccw
0:13 Constant: 0:13 Constant:
0:13 2 (const int) 0:13 2 (const int)
0:13 direct index (temp float CullDistance) 0:13 direct index (temp float CullDistance)
0:13 gl_CullDistance: direct index for structure (in 1-element array of float CullDistance) 0:13 gl_CullDistance: direct index for structure (in 3-element array of float CullDistance)
0:13 direct index (temp block{in 1-element array of float CullDistance gl_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 1-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 Constant:
0:13 1 (const int) 0:13 1 (const int)
0:13 Constant: 0:13 Constant:
...@@ -63,6 +63,6 @@ triangle order = ccw ...@@ -63,6 +63,6 @@ triangle order = ccw
0:13 Constant: 0:13 Constant:
0:13 2 (const int) 0:13 2 (const int)
0:? Linker Objects 0:? Linker Objects
0:? 'gl_in' (in 32-element array of block{in 1-element 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}) 0:? 'anon@0' (out block{out 3-element array of float CullDistance gl_CullDistance})
...@@ -7,14 +7,14 @@ Linked tessellation evaluation stage: ...@@ -7,14 +7,14 @@ Linked tessellation evaluation stage:
// Module Version 10000 // Module Version 10000
// Generated by (magic number): 80001 // Generated by (magic number): 80001
// Id's are bound by 98 // Id's are bound by 96
Capability Tessellation Capability Tessellation
Capability TessellationPointSize Capability TessellationPointSize
Capability ClipDistance Capability ClipDistance
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
EntryPoint TessellationEvaluation 4 "main" 21 38 41 47 53 61 68 77 81 82 86 90 93 94 97 EntryPoint TessellationEvaluation 4 "main" 21 38 41 47 53 61 66 75 79 80 84 88 91 92 95
ExecutionMode 4 Triangles ExecutionMode 4 Triangles
ExecutionMode 4 SpacingFractionalOdd ExecutionMode 4 SpacingFractionalOdd
ExecutionMode 4 VertexOrderCcw ExecutionMode 4 VertexOrderCcw
...@@ -41,23 +41,23 @@ Linked tessellation evaluation stage: ...@@ -41,23 +41,23 @@ Linked tessellation evaluation stage:
Name 53 "gl_TessLevelOuter" Name 53 "gl_TessLevelOuter"
Name 57 "tli" Name 57 "tli"
Name 61 "gl_TessLevelInner" Name 61 "gl_TessLevelInner"
Name 66 "gl_PerVertex" Name 64 "gl_PerVertex"
MemberName 66(gl_PerVertex) 0 "gl_Position" MemberName 64(gl_PerVertex) 0 "gl_Position"
MemberName 66(gl_PerVertex) 1 "gl_PointSize" MemberName 64(gl_PerVertex) 1 "gl_PointSize"
MemberName 66(gl_PerVertex) 2 "gl_ClipDistance" MemberName 64(gl_PerVertex) 2 "gl_ClipDistance"
Name 68 "" Name 66 ""
Name 77 "patchIn" Name 75 "patchIn"
Name 81 "inb" Name 79 "inb"
Name 82 "ind" Name 80 "ind"
Name 83 "testblb" Name 81 "testblb"
MemberName 83(testblb) 0 "f" MemberName 81(testblb) 0 "f"
Name 86 "blb" Name 84 "blb"
Name 87 "testbld" Name 85 "testbld"
MemberName 87(testbld) 0 "f" MemberName 85(testbld) 0 "f"
Name 90 "bld" Name 88 "bld"
Name 93 "ivla" Name 91 "ivla"
Name 94 "ivlb" Name 92 "ivlb"
Name 97 "ovla" Name 95 "ovla"
MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position MemberDecorate 17(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 17(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 17(gl_PerVertex) 2 BuiltIn ClipDistance
...@@ -69,16 +69,16 @@ Linked tessellation evaluation stage: ...@@ -69,16 +69,16 @@ Linked tessellation evaluation stage:
Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter Decorate 53(gl_TessLevelOuter) BuiltIn TessLevelOuter
Decorate 61(gl_TessLevelInner) Patch Decorate 61(gl_TessLevelInner) Patch
Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner Decorate 61(gl_TessLevelInner) BuiltIn TessLevelInner
MemberDecorate 66(gl_PerVertex) 0 BuiltIn Position MemberDecorate 64(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 66(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 64(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 66(gl_PerVertex) 2 BuiltIn ClipDistance MemberDecorate 64(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 66(gl_PerVertex) Block Decorate 64(gl_PerVertex) Block
Decorate 77(patchIn) Patch Decorate 75(patchIn) Patch
Decorate 83(testblb) Block Decorate 81(testblb) Block
Decorate 87(testbld) Block Decorate 85(testbld) Block
Decorate 93(ivla) Location 23 Decorate 91(ivla) Location 23
Decorate 94(ivlb) Location 24 Decorate 92(ivlb) Location 24
Decorate 97(ovla) Location 23 Decorate 95(ovla) Location 23
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeInt 32 1 6: TypeInt 32 1
...@@ -88,7 +88,7 @@ Linked tessellation evaluation stage: ...@@ -88,7 +88,7 @@ Linked tessellation evaluation stage:
11: TypeVector 10(float) 4 11: TypeVector 10(float) 4
12: TypePointer Function 11(fvec4) 12: TypePointer Function 11(fvec4)
14: TypeInt 32 0 14: TypeInt 32 0
15: 14(int) Constant 1 15: 14(int) Constant 3
16: TypeArray 10(float) 15 16: TypeArray 10(float) 15
17(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16 17(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
18: 14(int) Constant 32 18: 14(int) Constant 32
...@@ -117,34 +117,32 @@ Linked tessellation evaluation stage: ...@@ -117,34 +117,32 @@ Linked tessellation evaluation stage:
59: TypeArray 10(float) 58 59: TypeArray 10(float) 58
60: TypePointer Input 59 60: TypePointer Input 59
61(gl_TessLevelInner): 60(ptr) Variable Input 61(gl_TessLevelInner): 60(ptr) Variable Input
64: 14(int) Constant 3 64(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 16
65: TypeArray 10(float) 64 65: TypePointer Output 64(gl_PerVertex)
66(gl_PerVertex): TypeStruct 11(fvec4) 10(float) 65 66: 65(ptr) Variable Output
67: TypePointer Output 66(gl_PerVertex) 68: TypePointer Output 11(fvec4)
68: 67(ptr) Variable Output 71: TypePointer Output 10(float)
70: TypePointer Output 11(fvec4) 75(patchIn): 24(ptr) Variable Input
73: TypePointer Output 10(float) 76: TypeVector 10(float) 2
77(patchIn): 24(ptr) Variable Input 77: TypeArray 76(fvec2) 18
78: TypeVector 10(float) 2 78: TypePointer Input 77
79: TypeArray 78(fvec2) 18 79(inb): 78(ptr) Variable Input
80: TypePointer Input 79 80(ind): 78(ptr) Variable Input
81(inb): 80(ptr) Variable Input 81(testblb): TypeStruct 6(int)
82(ind): 80(ptr) Variable Input 82: TypeArray 81(testblb) 18
83(testblb): TypeStruct 6(int) 83: TypePointer Input 82
84: TypeArray 83(testblb) 18 84(blb): 83(ptr) Variable Input
85: TypePointer Input 84 85(testbld): TypeStruct 6(int)
86(blb): 85(ptr) Variable Input 86: TypeArray 85(testbld) 18
87(testbld): TypeStruct 6(int) 87: TypePointer Input 86
88: TypeArray 87(testbld) 18 88(bld): 87(ptr) Variable Input
89: TypePointer Input 88 89: TypeArray 11(fvec4) 18
90(bld): 89(ptr) Variable Input 90: TypePointer Input 89
91: TypeArray 11(fvec4) 18 91(ivla): 90(ptr) Variable Input
92: TypePointer Input 91 92(ivlb): 90(ptr) Variable Input
93(ivla): 92(ptr) Variable Input 93: TypeArray 11(fvec4) 58
94(ivlb): 92(ptr) Variable Input 94: TypePointer Output 93
95: TypeArray 11(fvec4) 58 95(ovla): 94(ptr) Variable Output
96: TypePointer Output 95
97(ovla): 96(ptr) Variable Output
4(main): 2 Function None 3 4(main): 2 Function None 3
5: Label 5: Label
8(a): 7(ptr) Variable Function 8(a): 7(ptr) Variable Function
...@@ -178,14 +176,14 @@ Linked tessellation evaluation stage: ...@@ -178,14 +176,14 @@ Linked tessellation evaluation stage:
62: 29(ptr) AccessChain 61(gl_TessLevelInner) 22 62: 29(ptr) AccessChain 61(gl_TessLevelInner) 22
63: 10(float) Load 62 63: 10(float) Load 62
Store 57(tli) 63 Store 57(tli) 63
69: 11(fvec4) Load 13(p) 67: 11(fvec4) Load 13(p)
71: 70(ptr) AccessChain 68 23 69: 68(ptr) AccessChain 66 23
Store 71 69 Store 69 67
72: 10(float) Load 28(ps) 70: 10(float) Load 28(ps)
74: 73(ptr) AccessChain 68 22 72: 71(ptr) AccessChain 66 22
Store 74 72 Store 72 70
75: 10(float) Load 32(cd) 73: 10(float) Load 32(cd)
76: 73(ptr) AccessChain 68 33 33 74: 71(ptr) AccessChain 66 33 33
Store 76 75 Store 74 73
Return Return
FunctionEnd FunctionEnd
...@@ -3122,16 +3122,27 @@ void TParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNode * ...@@ -3122,16 +3122,27 @@ void TParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNode *
// This has to be the result of a block dereference, unless it's bad shader code // This has to be the result of a block dereference, unless it's bad shader code
// If it's a uniform block, then an error will be issued elsewhere, but // If it's a uniform block, then an error will be issued elsewhere, but
// return early now to avoid crashing later in this function. // return early now to avoid crashing later in this function.
if (! deref->getLeft()->getAsSymbolNode() || deref->getLeft()->getBasicType() != EbtBlock || if (deref->getLeft()->getBasicType() != EbtBlock ||
deref->getLeft()->getType().getQualifier().storage == EvqUniform || deref->getLeft()->getType().getQualifier().storage == EvqUniform ||
deref->getRight()->getAsConstantUnion() == nullptr) deref->getRight()->getAsConstantUnion() == nullptr)
return; return;
blockIndex = deref->getRight()->getAsConstantUnion()->getConstArray()[0].getIConst(); const TIntermTyped* left = deref->getLeft();
const TIntermTyped* right = deref->getRight();
lookupName = &deref->getLeft()->getAsSymbolNode()->getName(); if (left->getAsBinaryNode()) {
left = left->getAsBinaryNode()->getLeft(); // Block array access
assert(left->isArray());
}
if (! left->getAsSymbolNode())
return;
blockIndex = right->getAsConstantUnion()->getConstArray()[0].getIConst();
lookupName = &left->getAsSymbolNode()->getName();
if (IsAnonymous(*lookupName)) if (IsAnonymous(*lookupName))
lookupName = &(*deref->getLeft()->getType().getStruct())[blockIndex].type->getFieldName(); lookupName = &(*left->getType().getStruct())[blockIndex].type->getFieldName();
} }
// Lookup the symbol, should only fail if shader code is incorrect // Lookup the symbol, should only fail if shader code is incorrect
...@@ -3144,7 +3155,10 @@ void TParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNode * ...@@ -3144,7 +3155,10 @@ void TParseContext::updateImplicitArraySize(const TSourceLoc& loc, TIntermNode *
return; return;
} }
symbol->getWritableType().setImplicitArraySize(index + 1); if (symbol->getType().isStruct() && blockIndex != -1)
(*symbol->getWritableType().getStruct())[blockIndex].type->setImplicitArraySize(index + 1);
else
symbol->getWritableType().setImplicitArraySize(index + 1);
} }
// Returns true if the first argument to the #line directive is the line number for the next line. // Returns true if the first argument to the #line directive is the line number for the next line.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment