Non-functional, infrastructure: Be more explicit about "implicit array sizes", impro...
authorJohn Kessenich <cepheus@frii.com>
Wed, 2 Apr 2014 02:27:26 +0000 (02:27 +0000)
committerJohn Kessenich <cepheus@frii.com>
Wed, 2 Apr 2014 02:27:26 +0000 (02:27 +0000)
There is more upcoming functionality for link-time sizing of implicitly-sized arrays that will use this.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26176 e7fa87d3-cd2b-0410-9028-fcbf551c1848

25 files changed:
Test/baseResults/100.frag.out
Test/baseResults/120.frag.out
Test/baseResults/130.frag.out
Test/baseResults/150.geom.out
Test/baseResults/150.tesc.out
Test/baseResults/150.vert.out
Test/baseResults/300.vert.out
Test/baseResults/400.frag.out
Test/baseResults/410.geom.out
Test/baseResults/420.geom.out
Test/baseResults/420.vert.out
Test/baseResults/420_size_gl_in.geom.out
Test/baseResults/430scope.vert.out
Test/baseResults/array.frag.out
Test/baseResults/array100.frag.out
Test/baseResults/cppSimple.vert.out
Test/baseResults/specExamples.frag.out
Test/baseResults/specExamples.vert.out
Test/baseResults/versionsClean.vert.out
Test/baseResults/versionsErrors.vert.out
glslang/Include/Types.h
glslang/MachineIndependent/ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.h
glslang/MachineIndependent/intermOut.cpp
glslang/MachineIndependent/linkValidate.cpp

index 703c629..6a74e77 100644 (file)
@@ -332,7 +332,7 @@ ERROR: node is still EOpNull!
 0:?     'v' (smooth in 3-element array of mediump 4-component vector of float)\r
 0:?     'f' (mediump float)\r
 0:?     '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})\r
-0:?     'fa' (unsized array of mediump float)\r
+0:?     'fa' (implicitly-sized array of mediump float)\r
 0:?     'f13' (mediump float)\r
 0:?     'fi' (invariant mediump float)\r
 0:?     'av' (smooth in mediump 4-component vector of float)\r
index 4c2dde9..525068e 100644 (file)
@@ -300,7 +300,7 @@ ERROR: node is still EOpNull!
 0:120        move second child to first child (4-component vector of float)\r
 0:120          'v' (4-component vector of float)\r
 0:120          direct index (smooth 4-component vector of float)\r
-0:120            'gl_TexCoord' (smooth in unsized array of 4-component vector of float)\r
+0:120            'gl_TexCoord' (smooth in implicitly-sized array of 4-component vector of float)\r
 0:120            Constant:\r
 0:120              1 (const int)\r
 0:121      add second child into first child (4-component vector of float)\r
index 7cd6b0d..a69b633 100644 (file)
@@ -38,7 +38,7 @@ ERROR: node is still EOpNull!
 0:18        move second child to first child (float)\r
 0:18          'clip' (float)\r
 0:18          direct index (smooth float)\r
-0:18            'gl_ClipDistance' (smooth in unsized array of float)\r
+0:18            'gl_ClipDistance' (smooth in implicitly-sized array of float)\r
 0:18            Constant:\r
 0:18              3 (const int)\r
 0:23  Function Definition: foo( (void)\r
@@ -334,7 +334,7 @@ ERROR: node is still EOpNull!
 0:?     'fflat' (flat in float)\r
 0:?     'fsmooth' (smooth in float)\r
 0:?     'fnop' (noperspective in float)\r
-0:?     'gl_ClipDistance' (smooth in unsized array of float)\r
+0:?     'gl_ClipDistance' (smooth in implicitly-sized array of float)\r
 0:?     'sampC' (uniform samplerCube)\r
 0:?     'gl_Color' (smooth in 4-component vector of float)\r
 0:?     'gl_Color' (flat in 4-component vector of float)\r
index 53ada90..a4272d2 100644 (file)
@@ -63,16 +63,16 @@ ERROR: node is still EOpNull!
 0:32            0 (const int)\r
 0:33      move second child to first child (float)\r
 0:33        direct index (layout(stream=0 ) float)\r
-0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out unsized array of float)\r
-0:33            '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out unsized array of float gl_ClipDistance})\r
+0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float)\r
+0:33            '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 0:33            Constant:\r
 0:33              2 (const uint)\r
 0:33          Constant:\r
 0:33            3 (const int)\r
 0:33        direct index (float)\r
-0:33          gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:33              'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:33          gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:33              'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -81,24 +81,24 @@ ERROR: node is still EOpNull!
 0:33            2 (const int)\r
 0:34      move second child to first child (4-component vector of float)\r
 0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float)\r
-0:34          '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out unsized array of float gl_ClipDistance})\r
+0:34          '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 0:34          Constant:\r
 0:34            0 (const uint)\r
 0:34        gl_Position: direct index for structure (in 4-component vector of float)\r
-0:34          direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:34            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:34          direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:34            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:34            Constant:\r
 0:34              0 (const int)\r
 0:34          Constant:\r
 0:34            0 (const int)\r
 0:35      move second child to first child (float)\r
 0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)\r
-0:35          '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out unsized array of float gl_ClipDistance})\r
+0:35          '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 0:35          Constant:\r
 0:35            1 (const uint)\r
 0:35        gl_PointSize: direct index for structure (in float)\r
-0:35          direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:35            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:35          direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:35            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:35            Constant:\r
 0:35              3 (const int)\r
 0:35          Constant:\r
@@ -128,7 +128,7 @@ ERROR: node is still EOpNull!
 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})\r
 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
 0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
-0:?     'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:?     'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:?     'ov0' (layout(stream=0 ) out 4-component vector of float)\r
 0:?     'ov4' (layout(stream=4 ) out 4-component vector of float)\r
 0:?     'o1v0' (layout(stream=0 ) out 4-component vector of float)\r
index 378bd58..e32b653 100644 (file)
@@ -18,8 +18,8 @@ vertices = 4
 0:20        move second child to first child (4-component vector of float)\r
 0:20          'p' (4-component vector of float)\r
 0:20          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:20            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:20              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:20            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:20              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:20              Constant:\r
 0:20                1 (const int)\r
 0:20            Constant:\r
@@ -28,8 +28,8 @@ vertices = 4
 0:21        move second child to first child (float)\r
 0:21          'ps' (float)\r
 0:21          gl_PointSize: direct index for structure (in float)\r
-0:21            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:21              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:21            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:21              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:21              Constant:\r
 0:21                1 (const int)\r
 0:21            Constant:\r
@@ -38,9 +38,9 @@ vertices = 4
 0:22        move second child to first child (float)\r
 0:22          'cd' (float)\r
 0:22          direct index (float)\r
-0:22            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:22              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:22                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:22            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:22              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:22                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:22                Constant:\r
 0:22                  1 (const int)\r
 0:22              Constant:\r
@@ -61,8 +61,8 @@ vertices = 4
 0:26          'gl_InvocationID' (in int)\r
 0:28      move second child to first child (4-component vector of float)\r
 0:28        gl_Position: direct index for structure (out 4-component vector of float)\r
-0:28          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:28          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:28            Constant:\r
 0:28              1 (const int)\r
 0:28          Constant:\r
@@ -70,8 +70,8 @@ vertices = 4
 0:28        'p' (4-component vector of float)\r
 0:29      move second child to first child (float)\r
 0:29        gl_PointSize: direct index for structure (out float)\r
-0:29          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:29          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:29            Constant:\r
 0:29              1 (const int)\r
 0:29          Constant:\r
@@ -79,9 +79,9 @@ vertices = 4
 0:29        'ps' (float)\r
 0:30      move second child to first child (float)\r
 0:30        direct index (float)\r
-0:30          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:30            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:30          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:30            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:30              Constant:\r
 0:30                1 (const int)\r
 0:30            Constant:\r
@@ -106,7 +106,7 @@ vertices = 4
 0:?   Linker Objects\r
 0:?     'outa' (4-element array of int)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 \r
 150.tese\r
 Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
@@ -135,8 +135,8 @@ ERROR: node is still EOpNull!
 0:22        move second child to first child (4-component vector of float)\r
 0:22          'p' (4-component vector of float)\r
 0:22          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:22            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:22              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:22            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:22              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:22              Constant:\r
 0:22                1 (const int)\r
 0:22            Constant:\r
@@ -145,8 +145,8 @@ ERROR: node is still EOpNull!
 0:23        move second child to first child (float)\r
 0:23          'ps' (float)\r
 0:23          gl_PointSize: direct index for structure (in float)\r
-0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:23              Constant:\r
 0:23                1 (const int)\r
 0:23            Constant:\r
@@ -155,9 +155,9 @@ ERROR: node is still EOpNull!
 0:24        move second child to first child (float)\r
 0:24          'cd' (float)\r
 0:24          direct index (float)\r
-0:24            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:24              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:24                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:24            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:24              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:24                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:24                Constant:\r
 0:24                  1 (const int)\r
 0:24              Constant:\r
@@ -192,20 +192,20 @@ ERROR: node is still EOpNull!
 0:30              1 (const int)\r
 0:32      move second child to first child (4-component vector of float)\r
 0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:32          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:32          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:32          Constant:\r
 0:32            0 (const uint)\r
 0:32        'p' (4-component vector of float)\r
 0:33      move second child to first child (float)\r
 0:33        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:33          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:33          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:33          Constant:\r
 0:33            1 (const uint)\r
 0:33        'ps' (float)\r
 0:34      move second child to first child (float)\r
 0:34        direct index (float)\r
-0:34          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:34            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:34          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:34            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:34            Constant:\r
 0:34              2 (const uint)\r
 0:34          Constant:\r
@@ -224,7 +224,7 @@ ERROR: 0:39: 'vertices' : can only apply to 'out'
 ERROR: 0:40: 'vertices' : cannot change previously set layout value \r
 ERROR: 0:44: '[' :  array index out of range '4'\r
 ERROR: 0:47: 'in' : type must be an array: ina\r
-ERROR: 0:49: '[]' : tessellation input array size must be gl_MaxPatchVertices or unsized \r
+ERROR: 0:49: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized \r
 ERROR: 0:56: 'location' : overlapping use of location 4\r
 ERROR: 0:60: 'location' : overlapping use of location 4\r
 ERROR: 11 compilation errors.  No code generated.\r
@@ -247,8 +247,8 @@ ERROR: node is still EOpNull!
 0:23        move second child to first child (4-component vector of float)\r
 0:23          'p' (4-component vector of float)\r
 0:23          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:23              Constant:\r
 0:23                1 (const int)\r
 0:23            Constant:\r
@@ -257,8 +257,8 @@ ERROR: node is still EOpNull!
 0:24        move second child to first child (float)\r
 0:24          'ps' (float)\r
 0:24          gl_PointSize: direct index for structure (in float)\r
-0:24            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:24              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:24            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:24              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:24              Constant:\r
 0:24                1 (const int)\r
 0:24            Constant:\r
@@ -267,9 +267,9 @@ ERROR: node is still EOpNull!
 0:25        move second child to first child (float)\r
 0:25          'cd' (float)\r
 0:25          direct index (float)\r
-0:25            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:25              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:25                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:25            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:25              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:25                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:25                Constant:\r
 0:25                  1 (const int)\r
 0:25              Constant:\r
@@ -290,8 +290,8 @@ ERROR: node is still EOpNull!
 0:29          'gl_InvocationID' (in int)\r
 0:31      move second child to first child (4-component vector of float)\r
 0:31        gl_Position: direct index for structure (out 4-component vector of float)\r
-0:31          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:31          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:31            Constant:\r
 0:31              1 (const int)\r
 0:31          Constant:\r
@@ -299,8 +299,8 @@ ERROR: node is still EOpNull!
 0:31        'p' (4-component vector of float)\r
 0:32      move second child to first child (float)\r
 0:32        gl_PointSize: direct index for structure (out float)\r
-0:32          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:32          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:32            Constant:\r
 0:32              1 (const int)\r
 0:32          Constant:\r
@@ -308,9 +308,9 @@ ERROR: node is still EOpNull!
 0:32        'ps' (float)\r
 0:33      move second child to first child (float)\r
 0:33        direct index (float)\r
-0:33          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:33            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:33            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -336,8 +336,8 @@ ERROR: node is still EOpNull!
 0:42    Function Parameters: \r
 0:44    Sequence\r
 0:44      gl_PointSize: direct index for structure (out float)\r
-0:44        direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:44          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:44        direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:44          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:44          Constant:\r
 0:44            4 (const int)\r
 0:44        Constant:\r
@@ -346,7 +346,7 @@ ERROR: node is still EOpNull!
 0:?     'outa' (4-element array of int)\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
 0:?     'inc' (in 32-element array of 2-component vector of float)\r
@@ -372,7 +372,7 @@ ERROR: 0:47: 'patch' : cannot use interpolation qualifiers with patch
 ERROR: 0:48: 'patch' : cannot use interpolation qualifiers with patch \r
 ERROR: 0:49: 'patch' : cannot use interpolation qualifiers with patch \r
 ERROR: 0:50: '' : can only have one auxiliary qualifier (centroid, patch, and sample) \r
-ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as unsized \r
+ERROR: 0:54: 'gl_PerVertex' : block already declared with size, can't redeclare as implicitly-sized \r
 ERROR: 0:59: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use \r
 ERROR: 0:64: 'quads' : cannot apply to 'out' \r
 ERROR: 0:64: 'cw' : can only apply to 'in' \r
@@ -384,9 +384,9 @@ ERROR: 0:69: 'equal_spacing' : can only apply to 'in'
 ERROR: 0:70: 'fractional_even_spacing' : can only apply to 'in' \r
 ERROR: 0:71: 'point_mode' : can only apply to 'in' \r
 ERROR: 0:73: 'in' : type must be an array: ina\r
-ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or unsized \r
+ERROR: 0:75: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized \r
 ERROR: 0:78: 'in' : type must be an array: bla\r
-ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or unsized \r
+ERROR: 0:86: '[]' : tessellation input array size must be gl_MaxPatchVertices or implicitly sized \r
 ERROR: 0:96: 'location' : overlapping use of location 24\r
 ERROR: 0:99: 'location' : overlapping use of location 24\r
 ERROR: 29 compilation errors.  No code generated.\r
@@ -413,8 +413,8 @@ ERROR: node is still EOpNull!
 0:32        move second child to first child (4-component vector of float)\r
 0:32          'p' (4-component vector of float)\r
 0:32          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:32            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:32              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:32            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:32              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:32              Constant:\r
 0:32                1 (const int)\r
 0:32            Constant:\r
@@ -423,8 +423,8 @@ ERROR: node is still EOpNull!
 0:33        move second child to first child (float)\r
 0:33          'ps' (float)\r
 0:33          gl_PointSize: direct index for structure (in float)\r
-0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:33              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:33              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -433,9 +433,9 @@ ERROR: node is still EOpNull!
 0:34        move second child to first child (float)\r
 0:34          'cd' (float)\r
 0:34          direct index (float)\r
-0:34            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:34              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:34                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:34            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:34              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:34                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:34                Constant:\r
 0:34                  1 (const int)\r
 0:34              Constant:\r
@@ -470,20 +470,20 @@ ERROR: node is still EOpNull!
 0:40              1 (const int)\r
 0:42      move second child to first child (4-component vector of float)\r
 0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:42          Constant:\r
 0:42            0 (const uint)\r
 0:42        'p' (4-component vector of float)\r
 0:43      move second child to first child (float)\r
 0:43        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:43          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:43          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:43          Constant:\r
 0:43            1 (const uint)\r
 0:43        'ps' (float)\r
 0:44      move second child to first child (float)\r
 0:44        direct index (float)\r
-0:44          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:44            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:44            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:44            Constant:\r
 0:44              2 (const uint)\r
 0:44          Constant:\r
@@ -496,7 +496,7 @@ ERROR: node is still EOpNull!
 0:?     'badp2' (flat patch in 4-component vector of float)\r
 0:?     'badp3' (noperspective patch in 4-component vector of float)\r
 0:?     'badp4' (patch sample in 3-component vector of float)\r
-0:?     'gl_in' (in 32-element array of block{in unsized array of float gl_ClipDistance})\r
+0:?     'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_ClipDistance})\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
 0:?     'inc' (in 32-element array of 2-component vector of float)\r
@@ -548,8 +548,8 @@ ERROR: node is still EOpNull!
 0:17        move second child to first child (4-component vector of float)\r
 0:17          'p' (4-component vector of float)\r
 0:17          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:17            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:17              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:17            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:17              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:17              Constant:\r
 0:17                1 (const int)\r
 0:17            Constant:\r
@@ -558,8 +558,8 @@ ERROR: node is still EOpNull!
 0:18        move second child to first child (float)\r
 0:18          'ps' (float)\r
 0:18          gl_PointSize: direct index for structure (in float)\r
-0:18            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:18              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:18            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:18              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:18              Constant:\r
 0:18                1 (const int)\r
 0:18            Constant:\r
@@ -568,9 +568,9 @@ ERROR: node is still EOpNull!
 0:19        move second child to first child (float)\r
 0:19          'cd' (float)\r
 0:19          direct index (float)\r
-0:19            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:19              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:19                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:19            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:19              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:19                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:19                Constant:\r
 0:19                  1 (const int)\r
 0:19              Constant:\r
@@ -729,7 +729,7 @@ ERROR: node is still EOpNull!
 0:?     'b3' (2-element array of 4-component vector of float)\r
 0:?     'b4' (2-element array of 4-component vector of float)\r
 0:?     'c3' (4X2 matrix of float)\r
-0:?     'd2' (unsized array of structure{float s, float t})\r
+0:?     'd2' (implicitly-sized array of structure{float s, float t})\r
 0:?     'b5' (5-element array of float)\r
 0:?     'constructed' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s})\r
 0:?       1 (const uint)\r
@@ -791,7 +791,7 @@ ERROR: Linking tessellation control stage: Multiple function bodies in multiple
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:\r
     main(\r
 ERROR: Linking tessellation control stage: Types must match:\r
-    gl_out: "out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float gl_Position}"\r
+    gl_out: "out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}" versus "out 3-element array of block{out 4-component vector of float gl_Position}"\r
 \r
 Linked tessellation evaluation stage:\r
 \r
@@ -823,8 +823,8 @@ vertices = 4
 0:20        move second child to first child (4-component vector of float)\r
 0:20          'p' (4-component vector of float)\r
 0:20          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:20            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:20              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:20            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:20              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:20              Constant:\r
 0:20                1 (const int)\r
 0:20            Constant:\r
@@ -833,8 +833,8 @@ vertices = 4
 0:21        move second child to first child (float)\r
 0:21          'ps' (float)\r
 0:21          gl_PointSize: direct index for structure (in float)\r
-0:21            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:21              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:21            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:21              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:21              Constant:\r
 0:21                1 (const int)\r
 0:21            Constant:\r
@@ -843,9 +843,9 @@ vertices = 4
 0:22        move second child to first child (float)\r
 0:22          'cd' (float)\r
 0:22          direct index (float)\r
-0:22            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:22              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:22                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:22            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:22              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:22                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:22                Constant:\r
 0:22                  1 (const int)\r
 0:22              Constant:\r
@@ -866,8 +866,8 @@ vertices = 4
 0:26          'gl_InvocationID' (in int)\r
 0:28      move second child to first child (4-component vector of float)\r
 0:28        gl_Position: direct index for structure (out 4-component vector of float)\r
-0:28          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:28          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:28            Constant:\r
 0:28              1 (const int)\r
 0:28          Constant:\r
@@ -875,8 +875,8 @@ vertices = 4
 0:28        'p' (4-component vector of float)\r
 0:29      move second child to first child (float)\r
 0:29        gl_PointSize: direct index for structure (out float)\r
-0:29          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:29          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:29            Constant:\r
 0:29              1 (const int)\r
 0:29          Constant:\r
@@ -884,9 +884,9 @@ vertices = 4
 0:29        'ps' (float)\r
 0:30      move second child to first child (float)\r
 0:30        direct index (float)\r
-0:30          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:30            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:30          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:30            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:30              Constant:\r
 0:30                1 (const int)\r
 0:30            Constant:\r
@@ -921,8 +921,8 @@ vertices = 4
 0:23        move second child to first child (4-component vector of float)\r
 0:23          'p' (4-component vector of float)\r
 0:23          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:23              Constant:\r
 0:23                1 (const int)\r
 0:23            Constant:\r
@@ -931,8 +931,8 @@ vertices = 4
 0:24        move second child to first child (float)\r
 0:24          'ps' (float)\r
 0:24          gl_PointSize: direct index for structure (in float)\r
-0:24            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:24              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:24            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:24              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:24              Constant:\r
 0:24                1 (const int)\r
 0:24            Constant:\r
@@ -941,9 +941,9 @@ vertices = 4
 0:25        move second child to first child (float)\r
 0:25          'cd' (float)\r
 0:25          direct index (float)\r
-0:25            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:25              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:25                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:25            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:25              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:25                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:25                Constant:\r
 0:25                  1 (const int)\r
 0:25              Constant:\r
@@ -964,8 +964,8 @@ vertices = 4
 0:29          'gl_InvocationID' (in int)\r
 0:31      move second child to first child (4-component vector of float)\r
 0:31        gl_Position: direct index for structure (out 4-component vector of float)\r
-0:31          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:31          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:31            Constant:\r
 0:31              1 (const int)\r
 0:31          Constant:\r
@@ -973,8 +973,8 @@ vertices = 4
 0:31        'p' (4-component vector of float)\r
 0:32      move second child to first child (float)\r
 0:32        gl_PointSize: direct index for structure (out float)\r
-0:32          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:32          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:32            Constant:\r
 0:32              1 (const int)\r
 0:32          Constant:\r
@@ -982,9 +982,9 @@ vertices = 4
 0:32        'ps' (float)\r
 0:33      move second child to first child (float)\r
 0:33        direct index (float)\r
-0:33          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:33            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:33            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -1010,8 +1010,8 @@ vertices = 4
 0:42    Function Parameters: \r
 0:44    Sequence\r
 0:44      gl_PointSize: direct index for structure (out float)\r
-0:44        direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
-0:44          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:44        direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:44          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:44          Constant:\r
 0:44            4 (const int)\r
 0:44        Constant:\r
@@ -1025,8 +1025,8 @@ vertices = 4
 0:17        move second child to first child (4-component vector of float)\r
 0:17          'p' (4-component vector of float)\r
 0:17          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:17            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:17              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:17            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:17              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:17              Constant:\r
 0:17                1 (const int)\r
 0:17            Constant:\r
@@ -1035,8 +1035,8 @@ vertices = 4
 0:18        move second child to first child (float)\r
 0:18          'ps' (float)\r
 0:18          gl_PointSize: direct index for structure (in float)\r
-0:18            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:18              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:18            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:18              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:18              Constant:\r
 0:18                1 (const int)\r
 0:18            Constant:\r
@@ -1045,9 +1045,9 @@ vertices = 4
 0:19        move second child to first child (float)\r
 0:19          'cd' (float)\r
 0:19          direct index (float)\r
-0:19            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:19              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:19                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:19            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:19              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:19                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:19                Constant:\r
 0:19                  1 (const int)\r
 0:19              Constant:\r
@@ -1082,7 +1082,7 @@ vertices = 4
 0:?   Linker Objects\r
 0:?     'outa' (4-element array of int)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
@@ -1120,8 +1120,8 @@ ERROR: node is still EOpNull!
 0:22        move second child to first child (4-component vector of float)\r
 0:22          'p' (4-component vector of float)\r
 0:22          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:22            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:22              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:22            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:22              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:22              Constant:\r
 0:22                1 (const int)\r
 0:22            Constant:\r
@@ -1130,8 +1130,8 @@ ERROR: node is still EOpNull!
 0:23        move second child to first child (float)\r
 0:23          'ps' (float)\r
 0:23          gl_PointSize: direct index for structure (in float)\r
-0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:23              Constant:\r
 0:23                1 (const int)\r
 0:23            Constant:\r
@@ -1140,9 +1140,9 @@ ERROR: node is still EOpNull!
 0:24        move second child to first child (float)\r
 0:24          'cd' (float)\r
 0:24          direct index (float)\r
-0:24            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:24              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:24                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:24            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:24              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:24                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:24                Constant:\r
 0:24                  1 (const int)\r
 0:24              Constant:\r
@@ -1177,20 +1177,20 @@ ERROR: node is still EOpNull!
 0:30              1 (const int)\r
 0:32      move second child to first child (4-component vector of float)\r
 0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:32          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:32          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:32          Constant:\r
 0:32            0 (const uint)\r
 0:32        'p' (4-component vector of float)\r
 0:33      move second child to first child (float)\r
 0:33        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:33          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:33          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:33          Constant:\r
 0:33            1 (const uint)\r
 0:33        'ps' (float)\r
 0:34      move second child to first child (float)\r
 0:34        direct index (float)\r
-0:34          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:34            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:34          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:34            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:34            Constant:\r
 0:34              2 (const uint)\r
 0:34          Constant:\r
@@ -1210,8 +1210,8 @@ ERROR: node is still EOpNull!
 0:32        move second child to first child (4-component vector of float)\r
 0:32          'p' (4-component vector of float)\r
 0:32          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:32            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:32              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:32            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:32              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:32              Constant:\r
 0:32                1 (const int)\r
 0:32            Constant:\r
@@ -1220,8 +1220,8 @@ ERROR: node is still EOpNull!
 0:33        move second child to first child (float)\r
 0:33          'ps' (float)\r
 0:33          gl_PointSize: direct index for structure (in float)\r
-0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:33              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:33              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -1230,9 +1230,9 @@ ERROR: node is still EOpNull!
 0:34        move second child to first child (float)\r
 0:34          'cd' (float)\r
 0:34          direct index (float)\r
-0:34            gl_ClipDistance: direct index for structure (in unsized array of float)\r
-0:34              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:34                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:34            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
+0:34              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:34                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:34                Constant:\r
 0:34                  1 (const int)\r
 0:34              Constant:\r
@@ -1267,20 +1267,20 @@ ERROR: node is still EOpNull!
 0:40              1 (const int)\r
 0:42      move second child to first child (4-component vector of float)\r
 0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:42          Constant:\r
 0:42            0 (const uint)\r
 0:42        'p' (4-component vector of float)\r
 0:43      move second child to first child (float)\r
 0:43        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:43          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:43          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:43          Constant:\r
 0:43            1 (const uint)\r
 0:43        'ps' (float)\r
 0:44      move second child to first child (float)\r
 0:44        direct index (float)\r
-0:44          gl_ClipDistance: direct index for structure (out unsized array of float)\r
-0:44            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance})\r
+0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
+0:44            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:44            Constant:\r
 0:44              2 (const uint)\r
 0:44          Constant:\r
@@ -1367,7 +1367,7 @@ ERROR: node is still EOpNull!
 0:?     'badp2' (flat patch in 4-component vector of float)\r
 0:?     'badp3' (noperspective patch in 4-component vector of float)\r
 0:?     'badp4' (patch sample in 3-component vector of float)\r
-0:?     'gl_in' (in 32-element array of block{in unsized array of float gl_ClipDistance})\r
+0:?     'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_ClipDistance})\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
 0:?     'inc' (in 32-element array of 2-component vector of float)\r
@@ -1403,7 +1403,7 @@ ERROR: node is still EOpNull!
 0:?     'b3' (2-element array of 4-component vector of float)\r
 0:?     'b4' (2-element array of 4-component vector of float)\r
 0:?     'c3' (4X2 matrix of float)\r
-0:?     'd2' (unsized array of structure{float s, float t})\r
+0:?     'd2' (implicitly-sized array of structure{float s, float t})\r
 0:?     'b5' (5-element array of float)\r
 0:?     'constructed' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s})\r
 0:?       1 (const uint)\r
index 2cbc9c6..9bd9d70 100644 (file)
@@ -11,20 +11,20 @@ ERROR: node is still EOpNull!
 0:11    Sequence\r
 0:11      move second child to first child (4-component vector of float)\r
 0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)\r
-0:11          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:11          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:11          Constant:\r
 0:11            0 (const uint)\r
 0:11        'iv4' (in 4-component vector of float)\r
 0:12      move second child to first child (float)\r
 0:12        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:12          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:12          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:12          Constant:\r
 0:12            1 (const uint)\r
 0:12        'ps' (uniform float)\r
 0:13      move second child to first child (float)\r
 0:13        direct index (float)\r
 0:13          gl_ClipDistance: direct index for structure (out 4-element array of float)\r
-0:13            '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:13            '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:13            Constant:\r
 0:13              2 (const uint)\r
 0:13          Constant:\r
@@ -35,14 +35,14 @@ ERROR: node is still EOpNull!
 0:13            0 (const int)\r
 0:14      move second child to first child (4-component vector of float)\r
 0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)\r
-0:14          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:14          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:14          Constant:\r
 0:14            3 (const uint)\r
 0:14        'iv4' (in 4-component vector of float)\r
 0:?   Linker Objects\r
 0:?     'iv4' (in 4-component vector of float)\r
 0:?     'ps' (uniform float)\r
-0:?     '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform unsized array of int a})\r
+0:?     '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})\r
 0:?     'gl_VertexID' (gl_VertexId int)\r
 0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index bd3f26f..45f2d4a 100644 (file)
@@ -274,9 +274,9 @@ ERROR: node is still EOpNull!
 0:?     'rep2' (centroid smooth sample out highp 4-component vector of float)\r
 0:?     'rep3' (in highp 4-component vector of float)\r
 0:?     's' (smooth out structure{highp 3-component vector of float c, highp float f})\r
-0:?     'badsize' (unsized array of highp float)\r
-0:?     'badsize2' (unsized array of highp float)\r
-0:?     'ubInst' (layout(column_major shared ) uniform unsized array of block{layout(column_major shared ) uniform unsized array of highp int a})\r
+0:?     'badsize' (implicitly-sized array of highp float)\r
+0:?     'badsize2' (implicitly-sized array of highp float)\r
+0:?     'ubInst' (layout(column_major shared ) uniform implicitly-sized array of block{layout(column_major shared ) uniform implicitly-sized array of highp int a})\r
 0:?     'okayA' (2-element array of highp float)\r
 0:?     'newV' (smooth out highp 3-component vector of float)\r
 0:?     'invIn' (in highp 4-component vector of float)\r
index 0f7f26f..3ca589b 100644 (file)
@@ -39,7 +39,7 @@ ERROR: node is still EOpNull!
 0:14          Constant:\r
 0:14            0 (const int)\r
 0:14        direct index (smooth float)\r
-0:14          'gl_ClipDistance' (smooth in unsized array of float)\r
+0:14          'gl_ClipDistance' (smooth in implicitly-sized array of float)\r
 0:14          Constant:\r
 0:14            1 (const int)\r
 0:18      Sequence\r
@@ -228,8 +228,8 @@ ERROR: node is still EOpNull!
 0:?     'vl' (layout(location=4 ) smooth in 4-component vector of float)\r
 0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)\r
 0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)\r
-0:?     '__anon__0' (in block{in float gl_FogFragCoord, in unsized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
-0:?     '__anon__0' (in block{in float gl_FogFragCoord, in unsized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     '__anon__0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     '__anon__0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
 0:?     'u2drs' (uniform sampler2DRectShadow)\r
index 2e5c069..0b82a93 100644 (file)
@@ -31,7 +31,7 @@ ERROR: node is still EOpNull!
 0:30          'p' (float)\r
 0:30          gl_PointSize: direct index for structure (in float)\r
 0:30            direct index (block{in float gl_PointSize})\r
-0:30              'gl_in' (in unsized array of block{in float gl_PointSize})\r
+0:30              'gl_in' (in implicitly-sized array of block{in float gl_PointSize})\r
 0:30              Constant:\r
 0:30                1 (const int)\r
 0:30            Constant:\r
@@ -47,7 +47,7 @@ ERROR: node is still EOpNull!
 0:33        Constant:\r
 0:33          0 (const uint)\r
 0:?   Linker Objects\r
-0:?     'gl_in' (in unsized array of block{in float gl_PointSize})\r
+0:?     'gl_in' (in implicitly-sized array of block{in float gl_PointSize})\r
 0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
 \r
 \r
index 844791d..14f7ebb 100644 (file)
@@ -21,15 +21,15 @@ ERROR: node is still EOpNull!
 0:9      Constant:\r
 0:9        1 (const int)\r
 0:10      gl_Position: direct index for structure (in 4-component vector of float)\r
-0:10        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:10          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:10        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:10          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:10          Constant:\r
 0:10            1 (const int)\r
 0:10        Constant:\r
 0:10          0 (const int)\r
 0:11      gl_Position: direct index for structure (in 4-component vector of float)\r
-0:11        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:11          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:11        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:11          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:11          'i' (int)\r
 0:11        Constant:\r
 0:11          0 (const int)\r
@@ -39,8 +39,8 @@ ERROR: node is still EOpNull!
 0:20      Constant:\r
 0:20        3 (const int)\r
 0:21      gl_Position: direct index for structure (in 4-component vector of float)\r
-0:21        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:21          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:21        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:21          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:21          'i' (int)\r
 0:21        Constant:\r
 0:21          0 (const int)\r
@@ -116,12 +116,12 @@ ERROR: node is still EOpNull!
 0:44            1 (const int)\r
 0:?   Linker Objects\r
 0:?     'i' (int)\r
-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:?     'color3' (in 3-element array of 4-component vector of float)\r
 0:?     's2D' (uniform sampler2D)\r
 0:?     'coord' (in 3-element array of 2-component vector of float)\r
 0:?     'v4' (uniform 4-component vector of float)\r
-0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out unsized array of float gl_ClipDistance})\r
+0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 \r
 \r
 Linked geometry stage:\r
index c7d6ddb..dd5b898 100644 (file)
@@ -134,7 +134,7 @@ ERROR: node is still EOpNull!
 0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)\r
 0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)\r
 0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)\r
-0:?     '__anon__3' (out block{out unsized array of float gl_ClipDistance, })\r
+0:?     '__anon__3' (out block{out implicitly-sized array of float gl_ClipDistance, })\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'patchOut' (smooth patch out 4-component vector of float)\r
 0:?     'gl_VertexID' (gl_VertexId int)\r
index 4482d92..5bac60d 100644 (file)
@@ -16,8 +16,8 @@ ERROR: node is still EOpNull!
 0:13      Constant:\r
 0:13        3 (const int)\r
 0:14      gl_Position: direct index for structure (in 4-component vector of float)\r
-0:14        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:14          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:14        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:14          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:14          Constant:\r
 0:14            1 (const int)\r
 0:14        Constant:\r
@@ -25,8 +25,8 @@ ERROR: node is still EOpNull!
 0:15      Constant:\r
 0:15        3 (const int)\r
 0:16      gl_Position: direct index for structure (in 4-component vector of float)\r
-0:16        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
-0:16          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:16        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:16          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:16          'i' (int)\r
 0:16        Constant:\r
 0:16          0 (const int)\r
@@ -34,7 +34,7 @@ ERROR: node is still EOpNull!
 0:?     'i' (int)\r
 0:?     'colorun' (in 3-element array of 4-component vector of float)\r
 0:?     'color3' (in 3-element array of 4-component vector of float)\r
-0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance})\r
+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 \r
 \r
 Linked geometry stage:\r
index a2d1230..768ba1a 100644 (file)
@@ -64,7 +64,7 @@ ERROR: node is still EOpNull!
 0:47          3.000000\r
 0:49      move second child to first child (4-component vector of float)\r
 0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)\r
-0:49          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:49          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:49          Constant:\r
 0:49            0 (const uint)\r
 0:49        Construct vec4 (4-component vector of float)\r
index e117e57..ac66a63 100644 (file)
@@ -3,7 +3,7 @@ Warning, version 130 is not yet complete; most features are present, but a few a
 ERROR: 0:21: '[' :  array index out of range '2'\r
 ERROR: 0:27: '[' :  array must be redeclared with a size before being indexed with a variable\r
 ERROR: 0:30: 'assign' :  cannot convert from '4-element array of float' to '5-element array of float'\r
-ERROR: 0:31: 'assign' :  cannot convert from '4-element array of float' to 'unsized array of float'\r
+ERROR: 0:31: 'assign' :  cannot convert from '4-element array of float' to 'implicitly-sized array of float'\r
 ERROR: 0:33: 'foo' : no matching overloaded function found \r
 ERROR: 0:42: '[' :  array index out of range '5'\r
 ERROR: 0:45: '[' :  array index out of range '1000'\r
@@ -60,21 +60,21 @@ ERROR: node is still EOpNull!
 0:21            4.000000\r
 0:24      move second child to first child (float)\r
 0:24        direct index (float)\r
-0:24          'gu' (unsized array of float)\r
+0:24          'gu' (implicitly-sized array of float)\r
 0:24          Constant:\r
 0:24            2 (const int)\r
 0:24        Constant:\r
 0:24          4.000000\r
 0:26      move second child to first child (float)\r
 0:26        direct index (float)\r
-0:26          'gu' (unsized array of float)\r
+0:26          'gu' (implicitly-sized array of float)\r
 0:26          Constant:\r
 0:26            3 (const int)\r
 0:26        Constant:\r
 0:26          3.000000\r
 0:27      move second child to first child (float)\r
 0:27        indirect index (float)\r
-0:27          'gu' (unsized array of float)\r
+0:27          'gu' (implicitly-sized array of float)\r
 0:27          'a' (uniform int)\r
 0:27        Constant:\r
 0:27          5.000000\r
@@ -83,7 +83,7 @@ ERROR: node is still EOpNull!
 0:29        Function Call: foo(f1[5]; (4-element array of float)\r
 0:29          'g5' (5-element array of float)\r
 0:30      'g5' (5-element array of float)\r
-0:31      'gu' (unsized array of float)\r
+0:31      'gu' (implicitly-sized array of float)\r
 0:33      Constant:\r
 0:33        0.000000\r
 0:34      Function Call: bar(f1[5]; (void)\r
@@ -100,7 +100,7 @@ ERROR: node is still EOpNull!
 0:36        true case\r
 0:37        move second child to first child (float)\r
 0:37          direct index (float)\r
-0:37            'gu' (unsized array of float)\r
+0:37            'gu' (implicitly-sized array of float)\r
 0:37            Constant:\r
 0:37              0 (const int)\r
 0:37          Constant:\r
@@ -187,7 +187,7 @@ ERROR: node is still EOpNull!
 0:58        Constant:\r
 0:58          4 (const int)\r
 0:?   Linker Objects\r
-0:?     'gu' (unsized array of float)\r
+0:?     'gu' (implicitly-sized array of float)\r
 0:?     'g4' (4-element array of float)\r
 0:?     'g5' (5-element array of float)\r
 0:?     'a' (uniform int)\r
index ba18ffc..7a5996d 100644 (file)
@@ -10,7 +10,7 @@ ERROR: 0:24: 'array assignment' : not supported for this version or the enabled
 ERROR: 0:25: 'array assignment' : not supported for this version or the enabled extensions \r
 ERROR: 0:25: 'assign' :  cannot convert from '4-element array of mediump float' to '5-element array of mediump float'\r
 ERROR: 0:26: 'array assignment' : not supported for this version or the enabled extensions \r
-ERROR: 0:26: 'assign' :  cannot convert from '4-element array of mediump float' to 'unsized array of mediump float'\r
+ERROR: 0:26: 'assign' :  cannot convert from '4-element array of mediump float' to 'implicitly-sized array of mediump float'\r
 ERROR: 0:28: 'foo' : no matching overloaded function found \r
 ERROR: 0:31: 'arrayed constructor' : not supported for this version or the enabled extensions \r
 ERROR: 0:31: 'array comparison' : not supported for this version or the enabled extensions \r
@@ -67,7 +67,7 @@ ERROR: node is still EOpNull!
 0:24        Function Call: foo(f1[5]; (4-element array of mediump float)\r
 0:24          'g5' (5-element array of mediump float)\r
 0:25      'g5' (5-element array of mediump float)\r
-0:26      'gu' (unsized array of mediump float)\r
+0:26      'gu' (implicitly-sized array of mediump float)\r
 0:28      Constant:\r
 0:28        0.000000\r
 0:29      Function Call: bar(f1[5]; (void)\r
@@ -84,7 +84,7 @@ ERROR: node is still EOpNull!
 0:31        true case\r
 0:32        move second child to first child (mediump float)\r
 0:32          direct index (mediump float)\r
-0:32            'gu' (unsized array of mediump float)\r
+0:32            'gu' (implicitly-sized array of mediump float)\r
 0:32            Constant:\r
 0:32              0 (const int)\r
 0:32          Constant:\r
@@ -152,7 +152,7 @@ ERROR: node is still EOpNull!
 0:69          'initSb' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa})\r
 0:69          's1' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa})\r
 0:?   Linker Objects\r
-0:?     'gu' (unsized array of mediump float)\r
+0:?     'gu' (implicitly-sized array of mediump float)\r
 0:?     'g4' (4-element array of mediump float)\r
 0:?     'g5' (5-element array of mediump float)\r
 0:?     'a' (uniform mediump int)\r
index 1e08ea0..77e03f9 100644 (file)
@@ -126,7 +126,7 @@ ERROR: node is still EOpNull!
 0:65          0.050000\r
 0:69      move second child to first child (4-component vector of float)\r
 0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:69          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:69          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:69          Constant:\r
 0:69            0 (const uint)\r
 0:69        Construct vec4 (4-component vector of float)\r
@@ -166,7 +166,7 @@ ERROR: node is still EOpNull!
 12:20034    Sequence\r
 12:20034      move second child to first child (4-component vector of float)\r
 12:20034        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-12:20034          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+12:20034          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 12:20034          Constant:\r
 12:20034            0 (const uint)\r
 12:20034        Constant:\r
index 4c3fbd0..50fa102 100644 (file)
@@ -297,8 +297,8 @@ ERROR: node is still EOpNull!
 0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)\r
 0:?     'gl_FragDepth' (gl_FragDepth float)\r
 0:?     'gl_FragDepth' (gl_FragDepth float)\r
-0:?     '__anon__2' (in block{in float gl_FogFragCoord, in unsized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
-0:?     '__anon__2' (in block{in float gl_FogFragCoord, in unsized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     '__anon__2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     '__anon__2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
 \r
 \r
 Linked fragment stage:\r
index d8ab03e..56ca851 100644 (file)
@@ -283,7 +283,7 @@ ERROR: node is still EOpNull!
 0:?   Linker Objects\r
 0:?     'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})\r
 0:?     '__anon__0' (out block{out 4-component vector of float Color})\r
-0:?     'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform unsized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})\r
+0:?     'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform implicitly-sized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})\r
 0:?     'normal' (layout(location=3 ) in 4-component vector of float)\r
 0:?     'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)\r
 0:?     's' (layout(location=3 ) structure{3-component vector of float a1, 2X2 matrix of float b, 2-element array of 4-component vector of float c})\r
@@ -300,8 +300,8 @@ ERROR: node is still EOpNull!
 0:?     'b2' (layout(binding=2 ) uniform int)\r
 0:?     'c2' (layout(binding=3 ) uniform int)\r
 0:?     'd2' (layout(binding=2 ) uniform int)\r
-0:?     '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
-0:?     '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:?     '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:?     '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:?     'ColorInv' (smooth out 3-component vector of float)\r
 0:?     'Color4' (invariant centroid smooth out 3-component vector of float)\r
 0:?     'position' (smooth out 4-component vector of float)\r
index 16cf56d..f190dfa 100644 (file)
@@ -8,7 +8,7 @@ Shader version: 420
 0:42    Sequence\r
 0:42      move second child to first child (4-component vector of float)\r
 0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:42          Constant:\r
 0:42            0 (const uint)\r
 0:42        Construct vec4 (4-component vector of float)\r
index 3964085..bc30725 100644 (file)
@@ -14,7 +14,7 @@ ERROR: node is still EOpNull!
 0:44    Sequence\r
 0:44      move second child to first child (4-component vector of float)\r
 0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:44          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out unsized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:44          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:44          Constant:\r
 0:44            0 (const uint)\r
 0:44        Construct vec4 (4-component vector of float)\r
index b6caf50..0b3917c 100644 (file)
@@ -174,14 +174,14 @@ typedef TVector<TString*> TIdentifierList;
 struct TArraySizes {
     POOL_ALLOCATOR_NEW_DELETE(GetThreadPoolAllocator())
 
-    TArraySizes() : maxArraySize(0) { }
+    TArraySizes() : implicitArraySize(0) { }
     int getSize() { return sizes.front(); }  // TArraySizes only exists if there is at least one dimension
     void setSize(int s) { sizes.push_back(s); }
     bool isArrayOfArrays() { return sizes.size() > 1; }
 protected:
     TVector<int> sizes;
     friend class TType;
-    int maxArraySize; // for tracking maximum referenced index, before an explicit size is given
+    int implicitArraySize; // for tracking maximum referenced index, before an explicit size is given
 };
 
 //
@@ -889,7 +889,7 @@ public:
     void shareArraySizes(const TType& type)
     {
         // For when we are sharing existing array descriptors.
-        // This allows all references to the same unsized array
+        // This allows all references to the same array
         // to be updated at once, by having all of them share the
         // array description.
         *arraySizes = *type.arraySizes;
@@ -903,8 +903,11 @@ public:
     void setArraySizes(const TType& type) { setArraySizes(type.arraySizes); }
     
     void changeArraySize(int s) { arraySizes->sizes.front() = s; }
-    void setMaxArraySize (int s) { arraySizes->maxArraySize = s; }
-    int getMaxArraySize () const { return arraySizes->maxArraySize; }
+    bool isImplicitlySizedArray() const { return isArray() && ! getArraySize(); }
+    bool isExplicitlySizedArray() const { return ! isImplicitlySizedArray(); }
+    void setImplicitArraySize (int s) { arraySizes->implicitArraySize = s; }
+    int getImplicitArraySize () const { return arraySizes->implicitArraySize; }
+
     const char* getBasicString() const 
     {
         return TType::getBasicString(basicType);
@@ -998,7 +1001,7 @@ public:
             p += snprintf(p, end - p, "%s ", getStorageQualifierString());
         if (arraySizes) {
             if (arraySizes->sizes.front() == 0)
-                p += snprintf(p, end - p, "unsized array of ");
+                p += snprintf(p, end - p, "implicitly-sized array of ");
             else
                 p += snprintf(p, end - p, "%d-element array of ", arraySizes->sizes.front());
         }
@@ -1057,8 +1060,8 @@ public:
             components = vectorSize;
 
         if (isArray()) {
-            // this function can only be used in paths that don't allow unsized arrays
-            assert(getArraySize() > 0);
+            // this function can only be used in paths that have a known array size
+            assert(isExplicitlySizedArray());
             components *= getArraySize();
         }
 
index 97c8c12..8b2be3c 100644 (file)
@@ -379,7 +379,9 @@ TIntermTyped* TParseContext::handleVariable(TSourceLoc loc, TSymbol* symbol, TSt
 
     const TAnonMember* anon = symbol ? symbol->getAsAnonMember() : 0;
     if (anon) {
-        // it was a member of an anonymous container, have to insert its dereference
+        // it was a member of an anonymous container
+        
+        // create a subtree for its dereference
         const TVariable* variable = anon->getAnonContainer().getAsVariable();
         TIntermTyped* container = intermediate.addSymbol(*variable, loc);
         TConstUnionArray unionArray(1);
@@ -414,6 +416,7 @@ TIntermTyped* TParseContext::handleVariable(TSourceLoc loc, TSymbol* symbol, TSt
                 type->deepCopy(variable->getType());
             } else
                 type = &variable->getWritableType();
+            // addSymbol will do a shallow copy of the type to the node, thus sharing array and struct information
             node = intermediate.addSymbol(variable->getUniqueId(), variable->getName(), *type, loc);
             if (type->getQualifier().isIo())
                 noteAccess = true;
@@ -454,11 +457,11 @@ TIntermTyped* TParseContext::handleBracketDereference(TSourceLoc loc, TIntermTyp
             handleIoResizeArrayAccess(loc, base);
 
         if (index->getQualifier().storage == EvqConst) {
-            if (base->isArray() && base->getType().getArraySize() == 0)
-                updateMaxArraySize(loc, base, indexValue);
+            if (base->getType().isImplicitlySizedArray())
+                updateImplicitArraySize(loc, base, indexValue);
             result = intermediate.addIndex(EOpIndexDirect, base, index, loc);
         } else {
-            if (base->isArray() && base->getType().getArraySize() == 0) {
+            if (base->getType().isImplicitlySizedArray()) {
                 if (base->getAsSymbolNode() && isIoResizeArray(base->getType()))
                     error(loc, "", "[", "array must be sized by a redeclaration or layout qualifier before being indexed with a variable");
                 else
@@ -505,7 +508,7 @@ void TParseContext::checkIndex(TSourceLoc loc, const TType& type, int& index)
         error(loc, "", "[", "index out of range '%d'", index);
         index = 0;
     } else if (type.isArray()) {
-        if (type.getArraySize() != 0 && index >= type.getArraySize()) {
+        if (type.isExplicitlySizedArray() && index >= type.getArraySize()) {
             error(loc, "", "[", "array index out of range '%d'", index);
             index = type.getArraySize() - 1;
         }
@@ -561,8 +564,8 @@ void TParseContext::fixIoArraySize(TSourceLoc loc, TType& type)
 
     if (language == EShLangTessControl || language == EShLangTessEvaluation) {
         if (type.getArraySize() != resources.maxPatchVertices) {
-            if (type.getArraySize() != 0)
-                error(loc, "tessellation input array size must be gl_MaxPatchVertices or unsized", "[]", "");
+            if (type.isExplicitlySizedArray())
+                error(loc, "tessellation input array size must be gl_MaxPatchVertices or implicitly sized", "[]", "");
             type.changeArraySize(resources.maxPatchVertices);
         }
     }
@@ -596,7 +599,7 @@ void TParseContext::handleIoResizeArrayAccess(TSourceLoc loc, TIntermTyped* base
             arry = symbolTable.copyUp(arry);
 
             // fix array size, if already implicitly size
-            if (arry->getType().getArraySize() == 0) {
+            if (arry->getType().isImplicitlySizedArray()) {
                 int newSize = getIoArrayImplicitSize();
                 if (newSize) {
                     arry->getWritableType().changeArraySize(newSize);
@@ -656,7 +659,7 @@ int TParseContext::getIoArrayImplicitSize() const
 
 void TParseContext::checkIoArrayConsistency(TSourceLoc loc, int requiredSize, const char* feature, TType& type, const TString& name)
 {
-    if (type.getArraySize() == 0)
+    if (type.isImplicitlySizedArray())
         type.changeArraySize(requiredSize);
     else if (type.getArraySize() != requiredSize) {
         if (language == EShLangGeometry)
@@ -1034,8 +1037,7 @@ TIntermTyped* TParseContext::handleLengthMethod(TSourceLoc loc, TFunction* funct
         error(loc, "method does not accept any arguments", function->getName().c_str(), "");
     if (intermNode->getAsTyped() == 0 || ! intermNode->getAsTyped()->getType().isArray())
         error(loc, "", function->getName().c_str(), "can only be applied to an array");
-    else if (intermNode->getAsTyped()->getType().getArraySize() == 0) {
-        bool implicitlySized = false;
+    else if (intermNode->getAsTyped()->getType().isImplicitlySizedArray()) {
         if (intermNode->getAsSymbolNode() && isIoResizeArray(intermNode->getAsTyped()->getType())) {
             // We could be between a layout declaration that gives a built-in io array implicit size and 
             // a user redeclaration of that array, meaning we have to substitute its implicit size here 
@@ -1741,7 +1743,7 @@ bool TParseContext::constructorError(TSourceLoc loc, TIntermNode* node, TFunctio
         type.getQualifier().storage = EvqConst;
 
     if (type.isArray()) {
-        if (type.getArraySize() == 0) {
+        if (type.isImplicitlySizedArray()) {
             // auto adapt the constructor type to the number of arguments
             type.changeArraySize(function.getParamCount());
         } else if (type.getArraySize() != function.getParamCount()) {
@@ -2253,7 +2255,7 @@ void TParseContext::declareArray(TSourceLoc loc, TString& identifier, const TTyp
         error(loc, "redeclaring non-array as array", identifier.c_str(), "");
         return;
     }
-    if (newType.getArraySize() > 0) {
+    if (newType.isExplicitlySizedArray()) {
         // be more leniant for input arrays to geometry shaders and tessellation control outputs, where the redeclaration is the same size
         if (! (isIoResizeArray(type) && newType.getArraySize() == type.getArraySize()))
             error(loc, "redeclaration of array with size", identifier.c_str(), "");
@@ -2273,11 +2275,11 @@ void TParseContext::declareArray(TSourceLoc loc, TString& identifier, const TTyp
         checkIoArraysConsistency(loc);
 }
 
-void TParseContext::updateMaxArraySize(TSourceLoc loc, TIntermNode *node, int index)
+void TParseContext::updateImplicitArraySize(TSourceLoc loc, TIntermNode *node, int index)
 {
     // maybe there is nothing to do...
     TIntermTyped* typedNode = node->getAsTyped();
-    if (typedNode->getType().getMaxArraySize() > index)
+    if (typedNode->getType().getImplicitArraySize() > index)
         return;
 
     // something to do...
@@ -2293,7 +2295,7 @@ void TParseContext::updateMaxArraySize(TSourceLoc loc, TIntermNode *node, int in
         return;
 
     if (symbol->getAsFunction()) {
-        error(loc, "array variable name expected", symbolNode->getName().c_str(), "");
+        error(loc, "array variable name expected", symbol->getName().c_str(), "");
         return;
     }
 
@@ -2309,7 +2311,7 @@ void TParseContext::updateMaxArraySize(TSourceLoc loc, TIntermNode *node, int in
         intermediate.addSymbolLinkageNode(linkage, *symbol);
     }
 
-    symbol->getWritableType().setMaxArraySize(index + 1);
+    symbol->getWritableType().setImplicitArraySize(index + 1);
 }
 
 //
@@ -2514,7 +2516,7 @@ void TParseContext::redeclareBuiltinBlock(TSourceLoc loc, TTypeList& newTypeList
                 error(memberLoc, "cannot redeclare block member with a different type", member->type->getFieldName().c_str(), "");
             if (oldType.isArray() != newType.isArray())
                 error(memberLoc, "cannot change arrayness of redeclared block member", member->type->getFieldName().c_str(), "");
-            else if (! oldType.sameArrayness(newType) && oldType.getArraySize() > 0)
+            else if (! oldType.sameArrayness(newType) && oldType.isExplicitlySizedArray())
                 error(memberLoc, "cannot change array size of redeclared block member", member->type->getFieldName().c_str(), "");
             else if (newType.isArray())
                 arrayLimitCheck(loc, member->type->getFieldName(), newType.getArraySize());
@@ -2551,11 +2553,11 @@ void TParseContext::redeclareBuiltinBlock(TSourceLoc loc, TTypeList& newTypeList
     if (type.isArray() != (arraySizes != 0))
         error(loc, "cannot change arrayness of redeclared block", blockName.c_str(), "");
     else if (type.isArray()) {
-        if (type.getArraySize() > 0 && arraySizes->getSize() == 0)
-            error(loc, "block already declared with size, can't redeclare as unsized", blockName.c_str(), "");
-        else if (type.getArraySize() > 0 && type.getArraySize() != arraySizes->getSize())
+        if (type.isExplicitlySizedArray() && arraySizes->getSize() == 0)
+            error(loc, "block already declared with size, can't redeclare as implicitly-sized", blockName.c_str(), "");
+        else if (type.isExplicitlySizedArray() && type.getArraySize() != arraySizes->getSize())
             error(loc, "cannot change array size of redeclared block", blockName.c_str(), "");
-        else if (type.getArraySize() == 0 && arraySizes->getSize() > 0)
+        else if (type.isImplicitlySizedArray() && arraySizes->getSize() > 0)
             type.changeArraySize(arraySizes->getSize());
     }
 
@@ -3658,8 +3660,8 @@ TIntermNode* TParseContext::executeInitializer(TSourceLoc loc, TString& identifi
     }
 
     // Fix arrayness if variable is unsized, getting size from the initializer
-    if (initializer->getType().isArray() && initializer->getType().getArraySize() > 0 &&
-        variable->getType().isArray() && variable->getType().getArraySize() == 0)
+    if (initializer->getType().isArray() && initializer->getType().isExplicitlySizedArray() &&
+        variable->getType().isImplicitlySizedArray())
         variable->getWritableType().changeArraySize(initializer->getType().getArraySize());
 
     // Uniform and global consts require a constant initializer
index ef24c4b..34f14a6 100644 (file)
@@ -176,7 +176,7 @@ public:
     void wrapupSwitchSubsequence(TIntermAggregate* statements, TIntermNode* branchNode);
     TIntermNode* addSwitch(TSourceLoc, TIntermTyped* expression, TIntermAggregate* body);
 
-    void updateMaxArraySize(TSourceLoc, TIntermNode*, int index);
+    void updateImplicitArraySize(TSourceLoc, TIntermNode*, int index);
 
     void setScanContext(TScanContext* c) { scanContext = c; }
     TScanContext* getScanContext() const { return scanContext; }
index 36de123..cad4acd 100644 (file)
@@ -473,12 +473,7 @@ void TOutputTraverser::visitSymbol(TIntermSymbol* node)
 {
     OutputTreeText(infoSink, node, depth);
 
-    const int maxSize = GlslangMaxTypeLength + GlslangMaxTokenLength;
-    char buf[maxSize];
-    snprintf(buf, maxSize, "'%s' (%s)\n",
-             node->getName().c_str(),
-             node->getCompleteString().c_str());
-    infoSink.debug << buf;
+    infoSink.debug << "'" << node->getName() << "' (" << node->getCompleteString() << ")\n";
 
     if (! node->getConstArray().empty())
         OutputConstantUnion(infoSink, node, node->getConstArray(), depth + 1);
index 7674aa9..4a7d0bc 100644 (file)
@@ -186,7 +186,7 @@ void TIntermediate::mergeBodies(TInfoSink& infoSink, TIntermSequence& globals, c
 //\r
 void TIntermediate::mergeLinkerObjects(TInfoSink& infoSink, TIntermSequence& linkerObjects, const TIntermSequence& unitLinkerObjects)\r
 {\r
-    // Error check and merge the linker objects (duplicates should not be merged)\r
+    // Error check and merge the linker objects (duplicates should not be created)\r
     std::size_t initialNumLinkerObjects = linkerObjects.size();\r
     for (unsigned int unitLinkObj = 0; unitLinkObj < unitLinkerObjects.size(); ++unitLinkObj) {\r
         bool merge = true;\r
@@ -615,8 +615,8 @@ int TIntermediate::computeTypeLocationSize(const TType& type)
     // consecutive locations..."\r
     if (type.isArray()) {\r
         TType elementType(type, 0);\r
-        if (type.getArraySize() == 0) {\r
-            // TODO: are there valid cases of having an unsized array with a location?  If so, running this code too early.\r
+        if (type.isImplicitlySizedArray()) {\r
+            // TODO: are there valid cases of having an implicitly-sized array with a location?  If so, running this code too early.\r
             return computeTypeLocationSize(elementType);\r
         } else\r
             return type.getArraySize() * computeTypeLocationSize(elementType);\r
@@ -703,7 +703,7 @@ unsigned int TIntermediate::computeTypeXfbSize(const TType& type, bool& contains
     // level to get this sequence of components."\r
 \r
     if (type.isArray()) {\r
-        assert(type.getArraySize() > 0);\r
+        assert(type.isExplicitlySizedArray());\r
         TType elementType(type, 0);\r
         return type.getArraySize() * computeTypeXfbSize(elementType, containsDouble);\r
     }\r