From 5053a39578a4827d069c5cde7b2862cfb71a7e4c Mon Sep 17 00:00:00 2001 From: John Kessenich Date: Tue, 7 Jan 2014 17:44:41 +0000 Subject: [PATCH] Fix slight inconsistencies in which qualifiers are inherited into block members: - don't inherit 'binding' - always set the member storage qualifier, not just when the shader explicitly set it - don't include in/out members as objects that are resized by geometry/primitive layout specifiers As a side effect, this makes built-in redeclarations (like gl_ClipDistance) require in/out. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24674 e7fa87d3-cd2b-0410-9028-fcbf551c1848 --- Test/150.geom | 4 +- Test/150.vert | 2 +- Test/300block.frag | 2 +- Test/430.vert | 2 +- Test/baseResults/100.frag.out | 2 +- Test/baseResults/150.geom.out | 68 +++--- Test/baseResults/150.tesc.out | 348 ++++++++++++++--------------- Test/baseResults/150.vert.out | 12 +- Test/baseResults/300.frag.out | 2 +- Test/baseResults/300.vert.out | 6 +- Test/baseResults/300block.frag.out | 26 +-- Test/baseResults/300layout.vert.out | 30 +-- Test/baseResults/300operations.frag.out | 14 +- Test/baseResults/330.frag.out | 2 +- Test/baseResults/400.geom.out | 14 +- Test/baseResults/410.geom.out | 10 +- Test/baseResults/420.geom.out | 22 +- Test/baseResults/420.vert.out | 10 +- Test/baseResults/420_size_gl_in.geom.out | 14 +- Test/baseResults/430.vert.out | 10 +- Test/baseResults/430scope.vert.out | 2 +- Test/baseResults/cppSimple.vert.out | 4 +- Test/baseResults/specExamples.frag.out | 6 +- Test/baseResults/specExamples.vert.out | 25 +-- Test/baseResults/versionsClean.vert.out | 2 +- Test/baseResults/versionsErrors.vert.out | 2 +- glslang/Include/revision.h | 4 +- glslang/MachineIndependent/ParseHelper.cpp | 31 +-- glslang/MachineIndependent/ParseHelper.h | 2 +- glslang/MachineIndependent/glslang.y | 4 +- 30 files changed, 343 insertions(+), 339 deletions(-) diff --git a/Test/150.geom b/Test/150.geom index ffb7286..9cb7466 100644 --- a/Test/150.geom +++ b/Test/150.geom @@ -1,11 +1,11 @@ #version 150 core in fromVertex { - vec3 color; + in vec3 color; } fromV[]; out toFragment { - vec3 color; + out vec3 color; } toF; out fromVertex { // okay to reuse a block name for another block name diff --git a/Test/150.vert b/Test/150.vert index 68a996e..9c0beb1 100644 --- a/Test/150.vert +++ b/Test/150.vert @@ -14,7 +14,7 @@ void main() gl_ClipVertex = iv4; } -float gl_ClipDistance[4]; +out float gl_ClipDistance[4]; uniform foob { int a[]; diff --git a/Test/300block.frag b/Test/300block.frag index 25aab8a..9556a7c 100644 --- a/Test/300block.frag +++ b/Test/300block.frag @@ -16,7 +16,7 @@ uniform S s; uniform fooBlock { uvec4 bv; - mat2 bm2; + uniform mat2 bm2; lowp isampler2D sampler; // ERROR struct T2 { // ERROR int a; diff --git a/Test/430.vert b/Test/430.vert index e5b27c4..bde1231 100644 --- a/Test/430.vert +++ b/Test/430.vert @@ -44,4 +44,4 @@ layout(location = 53) out float cg; // ERROR, collision at 31 layout(location = 10) in vec4 alias1; layout(location = 10) in vec4 alias2; // okay for vertex input on desktop -float gl_ClipDistance[17]; // ERROR, size too big \ No newline at end of file +out float gl_ClipDistance[17]; // ERROR, size too big \ No newline at end of file diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out index 0bd5acd..cc06792 100644 --- a/Test/baseResults/100.frag.out +++ b/Test/baseResults/100.frag.out @@ -325,7 +325,7 @@ ERROR: node is still EOpNull! 0:? 'uint' (mediump int) 0:? 'v' (smooth in 3-element array of mediump 4-component vector of float) 0:? 'f' (mediump float) -0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump int x}) +0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x}) 0:? 'fa' (unsized array of mediump float) 0:? 'f13' (mediump float) 0:? 'fi' (invariant mediump float) diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out index 5ce6787..59180a7 100644 --- a/Test/baseResults/150.geom.out +++ b/Test/baseResults/150.geom.out @@ -47,29 +47,29 @@ ERROR: node is still EOpNull! 0:30 Constant: 0:30 0.000000 0:32 move second child to first child (3-component vector of float) -0:32 color: direct index for structure (layout(stream=0 ) 3-component vector of float) -0:32 '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) 3-component vector of float color}) +0:32 color: direct index for structure (layout(stream=0 ) out 3-component vector of float) +0:32 '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) 0:32 Constant: 0:32 0 (const uint) -0:32 color: direct index for structure (3-component vector of float) -0:32 direct index (block{3-component vector of float color}) -0:32 'fromV' (in 4-element array of block{3-component vector of float color}) +0:32 color: direct index for structure (in 3-component vector of float) +0:32 direct index (block{in 3-component vector of float color}) +0:32 'fromV' (in 4-element array of block{in 3-component vector of float color}) 0:32 Constant: 0:32 0 (const int) 0:32 Constant: 0:32 0 (const int) 0:33 move second child to first child (float) 0:33 direct index (layout(stream=0 ) float) -0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) unsized array of float) -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 ) unsized array of float gl_ClipDistance}) +0:33 gl_ClipDistance: direct index for structure (layout(stream=0 ) out unsized array of float) +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}) 0:33 Constant: 0:33 2 (const uint) 0:33 Constant: 0:33 3 (const int) 0:33 direct index (float) -0:33 gl_ClipDistance: direct index for structure (unsized array of float) -0:33 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:33 'gl_in' (in 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:33 gl_ClipDistance: direct index for structure (in unsized array of float) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -78,24 +78,24 @@ ERROR: node is still EOpNull! 0:33 2 (const int) 0:34 move second child to first child (4-component vector of float) 0:34 gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float) -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 ) unsized array of float gl_ClipDistance}) +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}) 0:34 Constant: 0:34 0 (const uint) -0:34 gl_Position: direct index for structure (4-component vector of float) -0:34 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:34 'gl_in' (in 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:34 gl_Position: direct index for structure (in 4-component vector of float) +0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:34 Constant: 0:34 0 (const int) 0:34 Constant: 0:34 0 (const int) 0:35 move second child to first child (float) 0:35 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float) -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 ) unsized array of float gl_ClipDistance}) +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}) 0:35 Constant: 0:35 1 (const uint) -0:35 gl_PointSize: direct index for structure (float) -0:35 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:35 'gl_in' (in 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:35 gl_PointSize: direct index for structure (in float) +0:35 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:35 Constant: 0:35 3 (const int) 0:35 Constant: @@ -112,8 +112,8 @@ ERROR: node is still EOpNull! 0:65 'a' (in int) 0:67 Sequence 0:67 move second child to first child (4-component vector of float) -0:67 a: direct index for structure (layout(stream=6 ) 4-component vector of float) -0:67 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) 4-component vector of float a}) +0:67 a: direct index for structure (layout(stream=6 ) out 4-component vector of float) +0:67 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) 0:67 Constant: 0:67 0 (const int) 0:67 Constant: @@ -122,28 +122,28 @@ ERROR: node is still EOpNull! 0:67 1.000000 0:67 1.000000 0:? Linker Objects -0:? 'fromV' (in 4-element array of block{3-component vector of float color}) -0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) 3-component vector of float color}) -0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) 3-component vector of float color}) -0:? 'gl_in' (in 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:? 'fromV' (in 4-element array of block{in 3-component vector of float color}) +0:? 'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) +0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) +0:? '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}) 0:? 'ov0' (layout(stream=0 ) out 4-component vector of float) 0:? 'ov4' (layout(stream=4 ) out 4-component vector of float) 0:? 'o1v0' (layout(stream=0 ) out 4-component vector of float) 0:? 'ua' (layout(stream=3 ) uniform int) -0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) int ua}) +0:? 'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua}) 0:? 'ov3' (layout(stream=3 ) out 4-component vector of float) -0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) 4-component vector of float a}) -0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) 4-component vector of float a}) -0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) 4-component vector of float a}) +0:? 'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) +0:? 'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a}) +0:? 'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a}) 0:? 'ov2s3' (layout(stream=3 ) out 4-component vector of float) 0:? 'badv4' (layout(stream=3 ) out 4-component vector of float) 0:? 'bad2v4' (in 4-element array of 4-component vector of float) -0:? '__anon__1' (layout(stream=3 ) out block{layout(stream=3 ) int a}) -0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) int a, layout(stream=3 ) int b, layout(stream=3 ) int c}) -0:? 'inbi' (in 4-element array of block{layout(stream=2 ) int a}) -0:? 'insn' (in 4-element array of block{int a15}) -0:? '__anon__2' (layout(stream=3 ) out block{layout(stream=3 ) float f15}) -0:? '__anon__3' (layout(column_major shared ) uniform block{layout(column_major shared ) bool b15}) +0:? '__anon__1' (layout(stream=3 ) out block{layout(stream=3 ) out int a}) +0:? 'outbi' (layout(stream=3 ) out block{layout(stream=3 ) out int a, layout(stream=3 ) out int b, layout(stream=3 ) out int c}) +0:? 'inbi' (in 4-element array of block{layout(stream=2 ) in int a}) +0:? 'insn' (in 4-element array of block{in int a15}) +0:? '__anon__2' (layout(stream=3 ) out block{layout(stream=3 ) out float f15}) +0:? '__anon__3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) Linked geometry stage: diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out index 28c2a92..f6258e9 100644 --- a/Test/baseResults/150.tesc.out +++ b/Test/baseResults/150.tesc.out @@ -15,9 +15,9 @@ vertices = 4 0:20 Sequence 0:20 move second child to first child (4-component vector of float) 0:20 'p' (4-component vector of float) -0:20 gl_Position: direct index for structure (4-component vector of float) -0:20 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:20 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:20 gl_Position: direct index for structure (in 4-component vector of float) +0:20 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: @@ -25,9 +25,9 @@ vertices = 4 0:21 Sequence 0:21 move second child to first child (float) 0:21 'ps' (float) -0:21 gl_PointSize: direct index for structure (float) -0:21 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:21 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:21 gl_PointSize: direct index for structure (in float) +0:21 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: @@ -36,9 +36,9 @@ vertices = 4 0:22 move second child to first child (float) 0:22 'cd' (float) 0:22 direct index (float) -0:22 gl_ClipDistance: direct index for structure (unsized array of float) -0:22 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:22 gl_ClipDistance: direct index for structure (in unsized array of float) +0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -58,18 +58,18 @@ vertices = 4 0:26 'iid' (int) 0:26 'gl_InvocationID' (in int) 0:28 move second child to first child (4-component vector of float) -0:28 gl_Position: direct index for structure (4-component vector of float) -0:28 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:28 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:28 gl_Position: direct index for structure (out 4-component vector of float) +0:28 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:28 Constant: 0:28 1 (const int) 0:28 Constant: 0:28 0 (const int) 0:28 'p' (4-component vector of float) 0:29 move second child to first child (float) -0:29 gl_PointSize: direct index for structure (float) -0:29 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:29 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:29 gl_PointSize: direct index for structure (out float) +0:29 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:29 Constant: 0:29 1 (const int) 0:29 Constant: @@ -77,9 +77,9 @@ vertices = 4 0:29 'ps' (float) 0:30 move second child to first child (float) 0:30 direct index (float) -0:30 gl_ClipDistance: direct index for structure (unsized array of float) -0:30 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:30 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:30 gl_ClipDistance: direct index for structure (out unsized array of float) +0:30 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: @@ -104,7 +104,7 @@ vertices = 4 0:? Linker Objects 0:? 'outa' (4-element array of int) 0:? 'patchOut' (patch out 4-component vector of float) -0:? 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 150.tese Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. @@ -130,9 +130,9 @@ ERROR: node is still EOpNull! 0:22 Sequence 0:22 move second child to first child (4-component vector of float) 0:22 'p' (4-component vector of float) -0:22 gl_Position: direct index for structure (4-component vector of float) -0:22 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:22 gl_Position: direct index for structure (in 4-component vector of float) +0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -140,9 +140,9 @@ ERROR: node is still EOpNull! 0:23 Sequence 0:23 move second child to first child (float) 0:23 'ps' (float) -0:23 gl_PointSize: direct index for structure (float) -0:23 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:23 gl_PointSize: direct index for structure (in float) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -151,9 +151,9 @@ ERROR: node is still EOpNull! 0:24 move second child to first child (float) 0:24 'cd' (float) 0:24 direct index (float) -0:24 gl_ClipDistance: direct index for structure (unsized array of float) -0:24 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:24 gl_ClipDistance: direct index for structure (in unsized array of float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -188,20 +188,20 @@ ERROR: node is still EOpNull! 0:30 1 (const int) 0:32 move second child to first child (4-component vector of float) 0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:32 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:32 Constant: 0:32 0 (const uint) 0:32 'p' (4-component vector of float) 0:33 move second child to first child (float) 0:33 gl_PointSize: direct index for structure (gl_PointSize float) -0:33 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const uint) 0:33 'ps' (float) 0:34 move second child to first child (float) 0:34 direct index (float) -0:34 gl_ClipDistance: direct index for structure (unsized array of float) -0:34 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (out unsized array of float) +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}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: @@ -240,9 +240,9 @@ ERROR: node is still EOpNull! 0:23 Sequence 0:23 move second child to first child (4-component vector of float) 0:23 'p' (4-component vector of float) -0:23 gl_Position: direct index for structure (4-component vector of float) -0:23 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:23 gl_Position: direct index for structure (in 4-component vector of float) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -250,9 +250,9 @@ ERROR: node is still EOpNull! 0:24 Sequence 0:24 move second child to first child (float) 0:24 'ps' (float) -0:24 gl_PointSize: direct index for structure (float) -0:24 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:24 gl_PointSize: direct index for structure (in float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -261,9 +261,9 @@ ERROR: node is still EOpNull! 0:25 move second child to first child (float) 0:25 'cd' (float) 0:25 direct index (float) -0:25 gl_ClipDistance: direct index for structure (unsized array of float) -0:25 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:25 gl_ClipDistance: direct index for structure (in unsized array of float) +0:25 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -283,18 +283,18 @@ ERROR: node is still EOpNull! 0:29 'iid' (int) 0:29 'gl_InvocationID' (in int) 0:31 move second child to first child (4-component vector of float) -0:31 gl_Position: direct index for structure (4-component vector of float) -0:31 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:31 gl_Position: direct index for structure (out 4-component vector of float) +0:31 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:31 Constant: 0:31 1 (const int) 0:31 Constant: 0:31 0 (const int) 0:31 'p' (4-component vector of float) 0:32 move second child to first child (float) -0:32 gl_PointSize: direct index for structure (float) -0:32 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:32 gl_PointSize: direct index for structure (out float) +0:32 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -302,9 +302,9 @@ ERROR: node is still EOpNull! 0:32 'ps' (float) 0:33 move second child to first child (float) 0:33 direct index (float) -0:33 gl_ClipDistance: direct index for structure (unsized array of float) -0:33 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:33 gl_ClipDistance: direct index for structure (out unsized array of float) +0:33 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -329,9 +329,9 @@ ERROR: node is still EOpNull! 0:42 Function Definition: foo( (void) 0:42 Function Parameters: 0:44 Sequence -0:44 gl_PointSize: direct index for structure (float) -0:44 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:44 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:44 gl_PointSize: direct index for structure (out float) +0:44 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:44 Constant: 0:44 4 (const int) 0:44 Constant: @@ -340,7 +340,7 @@ ERROR: node is still EOpNull! 0:? 'outa' (4-element array of int) 0:? 'patchIn' (patch in 4-component vector of float) 0:? 'patchOut' (patch out 4-component vector of float) -0:? 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:? 'ina' (in 2-component vector of float) 0:? 'inb' (in 32-element array of 2-component vector of float) 0:? 'inc' (in 32-element array of 2-component vector of float) @@ -404,9 +404,9 @@ ERROR: node is still EOpNull! 0:32 Sequence 0:32 move second child to first child (4-component vector of float) 0:32 'p' (4-component vector of float) -0:32 gl_Position: direct index for structure (4-component vector of float) -0:32 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:32 gl_Position: direct index for structure (in 4-component vector of float) +0:32 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -414,9 +414,9 @@ ERROR: node is still EOpNull! 0:33 Sequence 0:33 move second child to first child (float) 0:33 'ps' (float) -0:33 gl_PointSize: direct index for structure (float) -0:33 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:33 gl_PointSize: direct index for structure (in float) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -425,9 +425,9 @@ ERROR: node is still EOpNull! 0:34 move second child to first child (float) 0:34 'cd' (float) 0:34 direct index (float) -0:34 gl_ClipDistance: direct index for structure (unsized array of float) -0:34 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (in unsized array of float) +0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -462,20 +462,20 @@ ERROR: node is still EOpNull! 0:40 1 (const int) 0:42 move second child to first child (4-component vector of float) 0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:42 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:42 Constant: 0:42 0 (const uint) 0:42 'p' (4-component vector of float) 0:43 move second child to first child (float) 0:43 gl_PointSize: direct index for structure (gl_PointSize float) -0:43 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:43 Constant: 0:43 1 (const uint) 0:43 'ps' (float) 0:44 move second child to first child (float) 0:44 direct index (float) -0:44 gl_ClipDistance: direct index for structure (unsized array of float) -0:44 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +0:44 gl_ClipDistance: direct index for structure (out unsized array of float) +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}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: @@ -488,15 +488,15 @@ ERROR: node is still EOpNull! 0:? 'badp2' (flat patch in 4-component vector of float) 0:? 'badp3' (noperspective patch in 4-component vector of float) 0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{unsized array of float gl_ClipDistance}) +0:? 'gl_in' (in 32-element array of block{in unsized array of float gl_ClipDistance}) 0:? 'ina' (in 2-component vector of float) 0:? 'inb' (in 32-element array of 2-component vector of float) 0:? 'inc' (in 32-element array of 2-component vector of float) 0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'bla' (in block{int f}) -0:? 'blb' (in 32-element array of block{int f}) -0:? 'blc' (in 32-element array of block{int f}) -0:? 'bld' (in 32-element array of block{int f}) +0:? 'bla' (in block{in int f}) +0:? 'blb' (in 32-element array of block{in int f}) +0:? 'blc' (in 32-element array of block{in int f}) +0:? 'bld' (in 32-element array of block{in int f}) 0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) 0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) 0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) @@ -523,7 +523,7 @@ ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size o ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb ERROR: 0:26: 'gl_PointSize' : no such field in structure -ERROR: 0:26: 'assign' : cannot convert from 'float' to 'block{4-component vector of float gl_Position}' +ERROR: 0:26: 'assign' : cannot convert from 'float' to 'block{out 4-component vector of float gl_Position}' ERROR: 0:29: 'out' : type must be an array: outf ERROR: 6 compilation errors. No code generated. @@ -536,9 +536,9 @@ ERROR: node is still EOpNull! 0:17 Sequence 0:17 move second child to first child (4-component vector of float) 0:17 'p' (4-component vector of float) -0:17 gl_Position: direct index for structure (4-component vector of float) -0:17 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:17 gl_Position: direct index for structure (in 4-component vector of float) +0:17 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: @@ -546,9 +546,9 @@ ERROR: node is still EOpNull! 0:18 Sequence 0:18 move second child to first child (float) 0:18 'ps' (float) -0:18 gl_PointSize: direct index for structure (float) -0:18 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:18 gl_PointSize: direct index for structure (in float) +0:18 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: @@ -557,9 +557,9 @@ ERROR: node is still EOpNull! 0:19 move second child to first child (float) 0:19 'cd' (float) 0:19 direct index (float) -0:19 gl_ClipDistance: direct index for structure (unsized array of float) -0:19 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:19 gl_ClipDistance: direct index for structure (in unsized array of float) +0:19 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -579,20 +579,20 @@ ERROR: node is still EOpNull! 0:23 'iid' (int) 0:23 'gl_InvocationID' (in int) 0:25 move second child to first child (4-component vector of float) -0:25 gl_Position: direct index for structure (4-component vector of float) -0:25 direct index (block{4-component vector of float gl_Position}) -0:25 'gl_out' (out 3-element array of block{4-component vector of float gl_Position}) +0:25 gl_Position: direct index for structure (out 4-component vector of float) +0:25 direct index (block{out 4-component vector of float gl_Position}) +0:25 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: 0:25 0 (const int) 0:25 'p' (4-component vector of float) -0:26 direct index (block{4-component vector of float gl_Position}) -0:26 'gl_out' (out 3-element array of block{4-component vector of float gl_Position}) +0:26 direct index (block{out 4-component vector of float gl_Position}) +0:26 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:26 Constant: 0:26 1 (const int) 0:? Linker Objects -0:? 'gl_out' (out 3-element array of block{4-component vector of float gl_Position}) +0:? 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:? 'a' (out 3-element array of int) 0:? 'outb' (out 5-element array of int) 0:? 'outc' (out 4-element array of int) @@ -779,7 +779,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: main( ERROR: Linking tessellation control stage: Types must match: - gl_out: "out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}" versus "out 3-element array of block{4-component vector of float gl_Position}" + 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}" Linked tessellation evaluation stage: @@ -807,9 +807,9 @@ vertices = 4 0:20 Sequence 0:20 move second child to first child (4-component vector of float) 0:20 'p' (4-component vector of float) -0:20 gl_Position: direct index for structure (4-component vector of float) -0:20 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:20 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:20 gl_Position: direct index for structure (in 4-component vector of float) +0:20 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: @@ -817,9 +817,9 @@ vertices = 4 0:21 Sequence 0:21 move second child to first child (float) 0:21 'ps' (float) -0:21 gl_PointSize: direct index for structure (float) -0:21 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:21 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:21 gl_PointSize: direct index for structure (in float) +0:21 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: @@ -828,9 +828,9 @@ vertices = 4 0:22 move second child to first child (float) 0:22 'cd' (float) 0:22 direct index (float) -0:22 gl_ClipDistance: direct index for structure (unsized array of float) -0:22 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:22 gl_ClipDistance: direct index for structure (in unsized array of float) +0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -850,18 +850,18 @@ vertices = 4 0:26 'iid' (int) 0:26 'gl_InvocationID' (in int) 0:28 move second child to first child (4-component vector of float) -0:28 gl_Position: direct index for structure (4-component vector of float) -0:28 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:28 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:28 gl_Position: direct index for structure (out 4-component vector of float) +0:28 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:28 Constant: 0:28 1 (const int) 0:28 Constant: 0:28 0 (const int) 0:28 'p' (4-component vector of float) 0:29 move second child to first child (float) -0:29 gl_PointSize: direct index for structure (float) -0:29 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:29 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:29 gl_PointSize: direct index for structure (out float) +0:29 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:29 Constant: 0:29 1 (const int) 0:29 Constant: @@ -869,9 +869,9 @@ vertices = 4 0:29 'ps' (float) 0:30 move second child to first child (float) 0:30 direct index (float) -0:30 gl_ClipDistance: direct index for structure (unsized array of float) -0:30 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:30 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:30 gl_ClipDistance: direct index for structure (out unsized array of float) +0:30 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: @@ -905,9 +905,9 @@ vertices = 4 0:23 Sequence 0:23 move second child to first child (4-component vector of float) 0:23 'p' (4-component vector of float) -0:23 gl_Position: direct index for structure (4-component vector of float) -0:23 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:23 gl_Position: direct index for structure (in 4-component vector of float) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -915,9 +915,9 @@ vertices = 4 0:24 Sequence 0:24 move second child to first child (float) 0:24 'ps' (float) -0:24 gl_PointSize: direct index for structure (float) -0:24 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:24 gl_PointSize: direct index for structure (in float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -926,9 +926,9 @@ vertices = 4 0:25 move second child to first child (float) 0:25 'cd' (float) 0:25 direct index (float) -0:25 gl_ClipDistance: direct index for structure (unsized array of float) -0:25 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:25 gl_ClipDistance: direct index for structure (in unsized array of float) +0:25 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -948,18 +948,18 @@ vertices = 4 0:29 'iid' (int) 0:29 'gl_InvocationID' (in int) 0:31 move second child to first child (4-component vector of float) -0:31 gl_Position: direct index for structure (4-component vector of float) -0:31 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:31 gl_Position: direct index for structure (out 4-component vector of float) +0:31 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:31 Constant: 0:31 1 (const int) 0:31 Constant: 0:31 0 (const int) 0:31 'p' (4-component vector of float) 0:32 move second child to first child (float) -0:32 gl_PointSize: direct index for structure (float) -0:32 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:32 gl_PointSize: direct index for structure (out float) +0:32 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -967,9 +967,9 @@ vertices = 4 0:32 'ps' (float) 0:33 move second child to first child (float) 0:33 direct index (float) -0:33 gl_ClipDistance: direct index for structure (unsized array of float) -0:33 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:33 gl_ClipDistance: direct index for structure (out unsized array of float) +0:33 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -994,9 +994,9 @@ vertices = 4 0:42 Function Definition: foo( (void) 0:42 Function Parameters: 0:44 Sequence -0:44 gl_PointSize: direct index for structure (float) -0:44 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:44 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:44 gl_PointSize: direct index for structure (out float) +0:44 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out unsized array of float gl_ClipDistance}) +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}) 0:44 Constant: 0:44 4 (const int) 0:44 Constant: @@ -1009,9 +1009,9 @@ vertices = 4 0:17 Sequence 0:17 move second child to first child (4-component vector of float) 0:17 'p' (4-component vector of float) -0:17 gl_Position: direct index for structure (4-component vector of float) -0:17 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:17 gl_Position: direct index for structure (in 4-component vector of float) +0:17 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: @@ -1019,9 +1019,9 @@ vertices = 4 0:18 Sequence 0:18 move second child to first child (float) 0:18 'ps' (float) -0:18 gl_PointSize: direct index for structure (float) -0:18 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:18 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:18 gl_PointSize: direct index for structure (in float) +0:18 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: @@ -1030,9 +1030,9 @@ vertices = 4 0:19 move second child to first child (float) 0:19 'cd' (float) 0:19 direct index (float) -0:19 gl_ClipDistance: direct index for structure (unsized array of float) -0:19 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:19 gl_ClipDistance: direct index for structure (in unsized array of float) +0:19 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -1052,22 +1052,22 @@ vertices = 4 0:23 'iid' (int) 0:23 'gl_InvocationID' (in int) 0:25 move second child to first child (4-component vector of float) -0:25 gl_Position: direct index for structure (4-component vector of float) -0:25 direct index (block{4-component vector of float gl_Position}) -0:25 'gl_out' (out 3-element array of block{4-component vector of float gl_Position}) +0:25 gl_Position: direct index for structure (out 4-component vector of float) +0:25 direct index (block{out 4-component vector of float gl_Position}) +0:25 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: 0:25 0 (const int) 0:25 'p' (4-component vector of float) -0:26 direct index (block{4-component vector of float gl_Position}) -0:26 'gl_out' (out 3-element array of block{4-component vector of float gl_Position}) +0:26 direct index (block{out 4-component vector of float gl_Position}) +0:26 'gl_out' (out 3-element array of block{out 4-component vector of float gl_Position}) 0:26 Constant: 0:26 1 (const int) 0:? Linker Objects 0:? 'outa' (4-element array of int) 0:? 'patchOut' (patch out 4-component vector of float) -0:? 'gl_out' (out 4-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:? 'patchIn' (patch in 4-component vector of float) 0:? 'ina' (in 2-component vector of float) 0:? 'inb' (in 32-element array of 2-component vector of float) @@ -1101,9 +1101,9 @@ ERROR: node is still EOpNull! 0:22 Sequence 0:22 move second child to first child (4-component vector of float) 0:22 'p' (4-component vector of float) -0:22 gl_Position: direct index for structure (4-component vector of float) -0:22 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:22 gl_Position: direct index for structure (in 4-component vector of float) +0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -1111,9 +1111,9 @@ ERROR: node is still EOpNull! 0:23 Sequence 0:23 move second child to first child (float) 0:23 'ps' (float) -0:23 gl_PointSize: direct index for structure (float) -0:23 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:23 gl_PointSize: direct index for structure (in float) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -1122,9 +1122,9 @@ ERROR: node is still EOpNull! 0:24 move second child to first child (float) 0:24 'cd' (float) 0:24 direct index (float) -0:24 gl_ClipDistance: direct index for structure (unsized array of float) -0:24 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:24 gl_ClipDistance: direct index for structure (in unsized array of float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -1159,20 +1159,20 @@ ERROR: node is still EOpNull! 0:30 1 (const int) 0:32 move second child to first child (4-component vector of float) 0:32 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:32 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:32 Constant: 0:32 0 (const uint) 0:32 'p' (4-component vector of float) 0:33 move second child to first child (float) 0:33 gl_PointSize: direct index for structure (gl_PointSize float) -0:33 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const uint) 0:33 'ps' (float) 0:34 move second child to first child (float) 0:34 direct index (float) -0:34 gl_ClipDistance: direct index for structure (unsized array of float) -0:34 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (out unsized array of float) +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}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: @@ -1191,9 +1191,9 @@ ERROR: node is still EOpNull! 0:32 Sequence 0:32 move second child to first child (4-component vector of float) 0:32 'p' (4-component vector of float) -0:32 gl_Position: direct index for structure (4-component vector of float) -0:32 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:32 gl_Position: direct index for structure (in 4-component vector of float) +0:32 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -1201,9 +1201,9 @@ ERROR: node is still EOpNull! 0:33 Sequence 0:33 move second child to first child (float) 0:33 'ps' (float) -0:33 gl_PointSize: direct index for structure (float) -0:33 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:33 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:33 gl_PointSize: direct index for structure (in float) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -1212,9 +1212,9 @@ ERROR: node is still EOpNull! 0:34 move second child to first child (float) 0:34 'cd' (float) 0:34 direct index (float) -0:34 gl_ClipDistance: direct index for structure (unsized array of float) -0:34 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (in unsized array of float) +0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -1249,20 +1249,20 @@ ERROR: node is still EOpNull! 0:40 1 (const int) 0:42 move second child to first child (4-component vector of float) 0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:42 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:42 Constant: 0:42 0 (const uint) 0:42 'p' (4-component vector of float) 0:43 move second child to first child (float) 0:43 gl_PointSize: direct index for structure (gl_PointSize float) -0:43 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:43 Constant: 0:43 1 (const uint) 0:43 'ps' (float) 0:44 move second child to first child (float) 0:44 direct index (float) -0:44 gl_ClipDistance: direct index for structure (unsized array of float) -0:44 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance}) +0:44 gl_ClipDistance: direct index for structure (out unsized array of float) +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}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: @@ -1349,15 +1349,15 @@ ERROR: node is still EOpNull! 0:? 'badp2' (flat patch in 4-component vector of float) 0:? 'badp3' (noperspective patch in 4-component vector of float) 0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{unsized array of float gl_ClipDistance}) +0:? 'gl_in' (in 32-element array of block{in unsized array of float gl_ClipDistance}) 0:? 'ina' (in 2-component vector of float) 0:? 'inb' (in 32-element array of 2-component vector of float) 0:? 'inc' (in 32-element array of 2-component vector of float) 0:? 'ind' (in 32-element array of 2-component vector of float) -0:? 'bla' (in block{int f}) -0:? 'blb' (in 32-element array of block{int f}) -0:? 'blc' (in 32-element array of block{int f}) -0:? 'bld' (in 32-element array of block{int f}) +0:? 'bla' (in block{in int f}) +0:? 'blb' (in 32-element array of block{in int f}) +0:? 'blc' (in 32-element array of block{in int f}) +0:? 'bld' (in 32-element array of block{in int f}) 0:? 'ivla' (layout(location=23 ) in 32-element array of 4-component vector of float) 0:? 'ivlb' (layout(location=24 ) in 32-element array of 4-component vector of float) 0:? 'ivlc' (layout(location=24 ) in 32-element array of 4-component vector of float) diff --git a/Test/baseResults/150.vert.out b/Test/baseResults/150.vert.out index eb71629..62f7750 100644 --- a/Test/baseResults/150.vert.out +++ b/Test/baseResults/150.vert.out @@ -10,20 +10,20 @@ ERROR: node is still EOpNull! 0:11 Sequence 0:11 move second child to first child (4-component vector of float) 0:11 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float) -0:11 '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:11 Constant: 0:11 0 (const uint) 0:11 'iv4' (in 4-component vector of float) 0:12 move second child to first child (float) 0:12 gl_PointSize: direct index for structure (gl_PointSize float) -0:12 '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:12 Constant: 0:12 1 (const uint) 0:12 'ps' (uniform float) 0:13 move second child to first child (float) 0:13 direct index (float) -0:13 gl_ClipDistance: direct index for structure (4-element array of float) -0:13 '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +0:13 gl_ClipDistance: direct index for structure (out 4-element array of float) +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}) 0:13 Constant: 0:13 2 (const uint) 0:13 Constant: @@ -34,14 +34,14 @@ ERROR: node is still EOpNull! 0:13 0 (const int) 0:14 move second child to first child (4-component vector of float) 0:14 gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float) -0:14 '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:14 Constant: 0:14 3 (const uint) 0:14 'iv4' (in 4-component vector of float) 0:? Linker Objects 0:? 'iv4' (in 4-component vector of float) 0:? 'ps' (uniform float) -0:? '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) unsized array of int a}) +0:? '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform unsized array of int a}) 0:? 'gl_VertexID' (gl_VertexId int) 0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/300.frag.out b/Test/baseResults/300.frag.out index 10b2fd9..f1f80a8 100644 --- a/Test/baseResults/300.frag.out +++ b/Test/baseResults/300.frag.out @@ -381,7 +381,7 @@ ERROR: node is still EOpNull! 0:? 'sc' (out lowp 3-component vector of float) 0:? 'sf' (out lowp float) 0:? 'arrayedSampler' (uniform 5-element array of lowp sampler2D) -0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of block{layout(column_major shared ) 2-element array of mediump int a, layout(column_major shared ) 2-element array of mediump int b, layout(column_major shared ) 2-element array of mediump int c}) +0:? 'multiInst' (layout(column_major shared ) uniform 2-element array of block{layout(column_major shared ) uniform 2-element array of mediump int a, layout(column_major shared ) uniform 2-element array of mediump int b, layout(column_major shared ) uniform 2-element array of mediump int c}) 0:? 'colors' (out 4-element array of lowp 4-component vector of float) 0:? 'st1' (uniform structure{mediump int i, lowp sampler2D s}) 0:? 'st2' (uniform structure{mediump int i, lowp sampler2D s}) diff --git a/Test/baseResults/300.vert.out b/Test/baseResults/300.vert.out index 8f04c21..2e9dfae 100644 --- a/Test/baseResults/300.vert.out +++ b/Test/baseResults/300.vert.out @@ -272,14 +272,14 @@ ERROR: node is still EOpNull! 0:? 's' (smooth out structure{highp 3-component vector of float c, highp float f}) 0:? 'badsize' (unsized array of highp float) 0:? 'badsize2' (unsized array of highp float) -0:? 'ubInst' (layout(column_major shared ) uniform unsized array of block{layout(column_major shared ) unsized array of highp int a}) +0:? 'ubInst' (layout(column_major shared ) uniform unsized array of block{layout(column_major shared ) uniform unsized array of highp int a}) 0:? 'okayA' (2-element array of highp float) 0:? 'newV' (smooth out highp 3-component vector of float) 0:? 'invIn' (in highp 4-component vector of float) 0:? 's2' (smooth out structure{highp 3-component vector of float c, highp float f}) 0:? 's3' (invariant smooth out structure{highp 3-component vector of float c, highp float f}) -0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) highp float f}) -0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) bool b23}) +0:? 'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f}) +0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23}) 0:? 's2D' (uniform lowp sampler2D) 0:? 's3D' (uniform lowp sampler3D) 0:? 's2DS' (uniform lowp sampler2DShadow) diff --git a/Test/baseResults/300block.frag.out b/Test/baseResults/300block.frag.out index 80b35a7..98c3c2f 100644 --- a/Test/baseResults/300block.frag.out +++ b/Test/baseResults/300block.frag.out @@ -17,31 +17,31 @@ ERROR: node is still EOpNull! 0:44 2 (const int) 0:44 Construct vec3 (3-component vector of float) 0:44 Convert int to float (float) -0:44 ni: direct index for structure (layout(column_major shared ) mediump int) -0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) +0:44 ni: direct index for structure (layout(column_major shared ) uniform mediump int) +0:44 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) 0:44 Constant: 0:44 1 (const int) 0:44 Convert uint to float (float) 0:44 direct index (mediump uint) -0:44 bv: direct index for structure (layout(column_major shared ) mediump 4-component vector of uint) -0:44 '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint bv, layout(column_major shared ) mediump 2X2 matrix of float bm2, layout(column_major shared ) lowp isampler2D sampler, layout(column_major shared ) structure{mediump int a} t, layout(column_major shared ) structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs}) +0:44 bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint) +0:44 '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{mediump int a} t, layout(column_major shared ) uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs}) 0:44 Constant: 0:44 0 (const uint) 0:44 Constant: 0:44 1 (const int) 0:44 Convert uint to float (float) 0:44 direct index (mediump uint) -0:44 nbv: direct index for structure (layout(column_major shared ) mediump 4-component vector of uint) -0:44 direct index (layout(column_major shared ) block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) -0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) +0:44 nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint) +0:44 direct index (layout(column_major shared ) block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:44 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) 0:44 Constant: 0:44 2 (const int) 0:44 Constant: 0:44 0 (const int) 0:44 Constant: 0:44 2 (const int) -0:45 indirect index (layout(column_major shared ) block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) -0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) +0:45 indirect index (layout(column_major shared ) block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:45 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) 0:45 direct index (mediump uint) 0:45 v: direct index for structure (mediump 4-component vector of uint) 0:45 's' (uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t}) @@ -51,10 +51,10 @@ ERROR: node is still EOpNull! 0:45 0 (const int) 0:? Linker Objects 0:? 's' (uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t}) -0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint bv, layout(column_major shared ) mediump 2X2 matrix of float bm2, layout(column_major shared ) lowp isampler2D sampler, layout(column_major shared ) structure{mediump int a} t, layout(column_major shared ) structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs}) -0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) -0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) mediump 4-component vector of uint nbv, layout(column_major shared ) mediump int ni}) -0:? '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f, layout(column_major shared ) mediump uint u}) +0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint bv, layout(column_major shared ) uniform mediump 2X2 matrix of float bm2, layout(column_major shared ) uniform lowp isampler2D sampler, layout(column_major shared ) uniform structure{mediump int a} t, layout(column_major shared ) uniform structure{mediump 4-component vector of float u, mediump 4-component vector of uint v, lowp isampler3D sampler, mediump 3-component vector of float w, structure{mediump int a} t} fbs}) +0:? 'inst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:? 'insts' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform mediump 4-component vector of uint nbv, layout(column_major shared ) uniform mediump int ni}) +0:? '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f, layout(column_major shared ) uniform mediump uint u}) Linked fragment stage: diff --git a/Test/baseResults/300layout.vert.out b/Test/baseResults/300layout.vert.out index 144f30f..a34e63f 100644 --- a/Test/baseResults/300layout.vert.out +++ b/Test/baseResults/300layout.vert.out @@ -32,32 +32,32 @@ ERROR: node is still EOpNull! 0:46 add (highp 4X4 matrix of float) 0:46 add (highp 4X4 matrix of float) 0:46 add (highp 4X4 matrix of float) -0:46 M1: direct index for structure (layout(row_major std140 ) highp 4X4 matrix of float) -0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) highp 4X4 matrix of float M1, layout(column_major std140 ) highp 4X4 matrix of float M2, layout(row_major std140 ) highp 3X3 matrix of float N1, layout(row_major std140 ) centroid highp float badf, layout(row_major std140 ) in highp float badg, layout(row_major std140 ) highp float bad1, layout(row_major shared ) highp float bad2, layout(row_major packed ) highp float bad3}) +0:46 M1: direct index for structure (layout(row_major std140 ) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 ) centroid uniform highp float badf, layout(row_major std140 ) uniform highp float badg, layout(row_major std140 ) uniform highp float bad1, layout(row_major shared ) uniform highp float bad2, layout(row_major packed ) uniform highp float bad3}) 0:46 Constant: 0:46 0 (const int) -0:46 M2: direct index for structure (layout(column_major std140 ) highp 4X4 matrix of float) -0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) highp 4X4 matrix of float M1, layout(column_major std140 ) highp 4X4 matrix of float M2, layout(row_major std140 ) highp 3X3 matrix of float N1, layout(row_major std140 ) centroid highp float badf, layout(row_major std140 ) in highp float badg, layout(row_major std140 ) highp float bad1, layout(row_major shared ) highp float bad2, layout(row_major packed ) highp float bad3}) +0:46 M2: direct index for structure (layout(column_major std140 ) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 ) centroid uniform highp float badf, layout(row_major std140 ) uniform highp float badg, layout(row_major std140 ) uniform highp float bad1, layout(row_major shared ) uniform highp float bad2, layout(row_major packed ) uniform highp float bad3}) 0:46 Constant: 0:46 1 (const int) -0:46 M4: direct index for structure (layout(row_major shared ) highp 4X4 matrix of float) -0:46 '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) highp 4X4 matrix of float M3, layout(row_major shared ) highp 4X4 matrix of float M4, layout(column_major shared ) highp 3X3 matrix of float N2, layout(column_major shared ) highp int b}) +0:46 M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float) +0:46 '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b}) 0:46 Constant: 0:46 1 (const uint) -0:46 M3: direct index for structure (layout(column_major shared ) highp 4X4 matrix of float) -0:46 '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) highp 4X4 matrix of float M3, layout(row_major shared ) highp 4X4 matrix of float M4, layout(column_major shared ) highp 3X3 matrix of float N2, layout(column_major shared ) highp int b}) +0:46 M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float) +0:46 '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp 4X4 matrix of float M3, layout(row_major shared ) uniform highp 4X4 matrix of float M4, layout(column_major shared ) uniform highp 3X3 matrix of float N2, layout(column_major shared ) uniform highp int b}) 0:46 Constant: 0:46 0 (const uint) -0:46 t2m: direct index for structure (layout(row_major shared ) highp 4X4 matrix of float) -0:46 '__anon__0' (layout(row_major shared ) uniform block{layout(row_major shared ) bool b, layout(row_major shared ) highp 4X4 matrix of float t2m}) +0:46 t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float) +0:46 '__anon__0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m}) 0:46 Constant: 0:46 1 (const uint) 0:47 move second child to first child (highp 3-component vector of float) 0:47 'color' (smooth out highp 3-component vector of float) 0:47 vector-times-matrix (highp 3-component vector of float) 0:47 'c' (layout(location=7 ) in highp 3-component vector of float) -0:47 N1: direct index for structure (layout(row_major std140 ) highp 3X3 matrix of float) -0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) highp 4X4 matrix of float M1, layout(column_major std140 ) highp 4X4 matrix of float M2, layout(row_major std140 ) highp 3X3 matrix of float N1, layout(row_major std140 ) centroid highp float badf, layout(row_major std140 ) in highp float badg, layout(row_major std140 ) highp float bad1, layout(row_major shared ) highp float bad2, layout(row_major packed ) highp float bad3}) +0:47 N1: direct index for structure (layout(row_major std140 ) uniform highp 3X3 matrix of float) +0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 ) centroid uniform highp float badf, layout(row_major std140 ) uniform highp float badg, layout(row_major std140 ) uniform highp float bad1, layout(row_major shared ) uniform highp float bad2, layout(row_major packed ) uniform highp float bad3}) 0:47 Constant: 0:47 2 (const int) 0:? Linker Objects @@ -68,9 +68,9 @@ ERROR: node is still EOpNull! 0:? 'pos' (smooth out highp 4-component vector of float) 0:? 'color' (smooth out highp 3-component vector of float) 0:? 'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float) -0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) highp 4X4 matrix of float M1, layout(column_major std140 ) highp 4X4 matrix of float M2, layout(row_major std140 ) highp 3X3 matrix of float N1, layout(row_major std140 ) centroid highp float badf, layout(row_major std140 ) in highp float badg, layout(row_major std140 ) highp float bad1, layout(row_major shared ) highp float bad2, layout(row_major packed ) highp float bad3}) -0:? '__anon__0' (layout(row_major shared ) uniform block{layout(row_major shared ) bool b, layout(row_major shared ) highp 4X4 matrix of float t2m}) -0:? '__anon__2' (out block{highp float f}) +0:? 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 ) centroid uniform highp float badf, layout(row_major std140 ) uniform highp float badg, layout(row_major std140 ) uniform highp float bad1, layout(row_major shared ) uniform highp float bad2, layout(row_major packed ) uniform highp float bad3}) +0:? '__anon__0' (layout(row_major shared ) uniform block{layout(row_major shared ) uniform bool b, layout(row_major shared ) uniform highp 4X4 matrix of float t2m}) +0:? '__anon__2' (out block{out highp float f}) 0:? 'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float) 0:? 'compute_only' (shared highp 4-component vector of float) 0:? 'aoeuntaoeu' (layout(packed ) highp float) diff --git a/Test/baseResults/300operations.frag.out b/Test/baseResults/300operations.frag.out index c5a3dd5..a4f8d37 100644 --- a/Test/baseResults/300operations.frag.out +++ b/Test/baseResults/300operations.frag.out @@ -1,6 +1,6 @@ 300operations.frag ERROR: 0:11: 'float' : type requires declaration of default precision qualifier -ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}' (or there is no acceptable conversion) +ERROR: 0:30: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' and a right operand of type 'layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}' (or there is no acceptable conversion) ERROR: 0:31: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'structure{mediump int i}' and a right operand of type 'structure{mediump int i}' (or there is no acceptable conversion) ERROR: 0:32: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump float' (or there is no acceptable conversion) ERROR: 0:33: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'mediump uint' and a right operand of type 'mediump float' (or there is no acceptable conversion) @@ -15,7 +15,7 @@ ERROR: 0:42: '%' : wrong operand types: no operation '%' exists that takes a le ERROR: 0:43: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump float' (or there is no acceptable conversion) ERROR: 0:44: '%' : wrong operand types: no operation '%' exists that takes a left-hand operand of type 'mediump float' and a right operand of type 'mediump uint' (or there is no acceptable conversion) ERROR: 0:45: '++' : l-value required "instanceName" (can't modify a uniform) -ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f} (or there is no acceptable conversion) +ERROR: 0:45: '++' : wrong operand type no operation '++' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion) ERROR: 0:46: '++' : wrong operand type no operation '++' exists that takes an operand of type structure{mediump int i} (or there is no acceptable conversion) ERROR: 0:47: '--' : wrong operand type no operation '--' exists that takes an operand of type 5-element array of mediump float (or there is no acceptable conversion) ERROR: 0:48: '++' : wrong operand type no operation '++' exists that takes an operand of type 3-component vector of bool (or there is no acceptable conversion) @@ -40,7 +40,7 @@ ERROR: 0:70: '~' : wrong operand type no operation '~' exists that takes an ope ERROR: 0:71: '~' : wrong operand type no operation '~' exists that takes an operand of type mediump 4X4 matrix of float (or there is no acceptable conversion) ERROR: 0:72: '~' : wrong operand type no operation '~' exists that takes an operand of type mediump 3-component vector of float (or there is no acceptable conversion) ERROR: 0:73: '~' : wrong operand type no operation '~' exists that takes an operand of type 5-element array of mediump float (or there is no acceptable conversion) -ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f} (or there is no acceptable conversion) +ERROR: 0:74: '~' : wrong operand type no operation '~' exists that takes an operand of type layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f} (or there is no acceptable conversion) ERROR: 0:76: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump 3-component vector of int' (or there is no acceptable conversion) ERROR: 0:77: '<<' : wrong operand types: no operation '<<' exists that takes a left-hand operand of type 'mediump uint' and a right operand of type 'mediump 3-component vector of uint' (or there is no acceptable conversion) ERROR: 0:78: '>>' : wrong operand types: no operation '>>' exists that takes a left-hand operand of type 'mediump int' and a right operand of type 'mediump float' (or there is no acceptable conversion) @@ -62,7 +62,7 @@ ERROR: node is still EOpNull! 0:13 Function Definition: main( (void) 0:13 Function Parameters: 0:? Sequence -0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}) +0:30 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) 0:31 's' (structure{mediump int i}) 0:32 'i' (mediump int) 0:33 'u' (mediump uint) @@ -76,7 +76,7 @@ ERROR: node is still EOpNull! 0:42 'f' (mediump float) 0:43 'i' (mediump int) 0:44 'f' (mediump float) -0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}) +0:45 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) 0:46 's' (structure{mediump int i}) 0:47 'a' (5-element array of mediump float) 0:48 'b3' (3-component vector of bool) @@ -113,7 +113,7 @@ ERROR: node is still EOpNull! 0:71 'm4' (mediump 4X4 matrix of float) 0:72 'v3' (mediump 3-component vector of float) 0:73 'a' (5-element array of mediump float) -0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}) +0:74 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) 0:76 'i' (mediump int) 0:77 'u' (mediump uint) 0:78 'i' (mediump int) @@ -231,7 +231,7 @@ ERROR: node is still EOpNull! 0:134 Constant: 0:134 2 (const int) 0:? Linker Objects -0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) mediump float f}) +0:? 'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f}) 0:? 's' (structure{mediump int i}) 0:? 'a' (5-element array of mediump float) diff --git a/Test/baseResults/330.frag.out b/Test/baseResults/330.frag.out index 97a7e17..cb28b8e 100644 --- a/Test/baseResults/330.frag.out +++ b/Test/baseResults/330.frag.out @@ -44,7 +44,7 @@ ERROR: node is still EOpNull! 0:? 'outVar' (out 4-component vector of float) 0:? 'varyingVar' (smooth in 4-component vector of float) 0:? '__anon__0' (in block{in 4-component vector of float gl_Color, }) -0:? 'gl_name' (in block{int gl_i}) +0:? 'gl_name' (in block{in int gl_i}) Linked fragment stage: diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out index 4b23ce0..d2e69a8 100644 --- a/Test/baseResults/400.geom.out +++ b/Test/baseResults/400.geom.out @@ -46,9 +46,9 @@ ERROR: node is still EOpNull! 0:25 Sequence 0:25 Constant: 0:25 1 (const int) -0:26 gl_Position: direct index for structure (4-component vector of float) -0:26 direct index (block{4-component vector of float gl_Position, float gl_PointSize}) -0:26 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize}) +0:26 gl_Position: direct index for structure (in 4-component vector of float) +0:26 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize}) +0:26 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize}) 0:26 Constant: 0:26 1 (const int) 0:26 Constant: @@ -72,8 +72,8 @@ ERROR: node is still EOpNull! 0:51 Constant: 0:51 3 (const int) 0:? Linker Objects -0:? 'bn' (in 3-element array of block{int a}) -0:? 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize}) +0:? 'bn' (in 3-element array of block{in int a}) +0:? 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize}) 0:? 'color' (in 3-element array of 4-component vector of float) 0:? 'color2' (in 3-element array of 4-component vector of float) 0:? 'colorS' (in 3-element array of 4-component vector of float) @@ -85,8 +85,8 @@ ERROR: node is still EOpNull! 0:? 'patchIn' (patch in 3-element array of 4-component vector of float) 0:? 'patchOut' (layout(stream=0 ) patch out 4-component vector of float) 0:? 'scalar' (in float) -0:? 'inbls' (in block{int a}) -0:? 'inbla' (in 17-element array of block{int a}) +0:? 'inbls' (in block{in int a}) +0:? 'inbla' (in 17-element array of block{in int a}) Linked geometry stage: diff --git a/Test/baseResults/410.geom.out b/Test/baseResults/410.geom.out index c6cc54e..e67c8f2 100644 --- a/Test/baseResults/410.geom.out +++ b/Test/baseResults/410.geom.out @@ -4,7 +4,7 @@ ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use ERROR: 0:32: 'gl_Position' : no such field in structure -ERROR: 0:32: '=' : cannot convert from 'block{float gl_PointSize}' to '4-component vector of float' +ERROR: 0:32: '=' : cannot convert from 'block{in float gl_PointSize}' to '4-component vector of float' ERROR: 0:33: 'gl_Position' : member of nameless block was not redeclared ERROR: 0:33: 'assign' : cannot convert from 'const 4-component vector of float' to 'layout(stream=0 ) gl_Position void' ERROR: 7 compilation errors. No code generated. @@ -28,9 +28,9 @@ ERROR: node is still EOpNull! 0:30 Sequence 0:30 move second child to first child (float) 0:30 'p' (float) -0:30 gl_PointSize: direct index for structure (float) -0:30 direct index (block{float gl_PointSize}) -0:30 'gl_in' (in unsized array of block{float gl_PointSize}) +0:30 gl_PointSize: direct index for structure (in float) +0:30 direct index (block{in float gl_PointSize}) +0:30 'gl_in' (in unsized array of block{in float gl_PointSize}) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: @@ -46,7 +46,7 @@ ERROR: node is still EOpNull! 0:33 Constant: 0:33 0 (const uint) 0:? Linker Objects -0:? 'gl_in' (in unsized array of block{float gl_PointSize}) +0:? 'gl_in' (in unsized array of block{in float gl_PointSize}) 0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) diff --git a/Test/baseResults/420.geom.out b/Test/baseResults/420.geom.out index 1f781e1..e374160 100644 --- a/Test/baseResults/420.geom.out +++ b/Test/baseResults/420.geom.out @@ -19,16 +19,16 @@ ERROR: node is still EOpNull! 0:9 Sequence 0:9 Constant: 0:9 1 (const int) -0:10 gl_Position: direct index for structure (4-component vector of float) -0:10 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:10 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:10 gl_Position: direct index for structure (in 4-component vector of float) +0:10 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:10 Constant: 0:10 1 (const int) 0:10 Constant: 0:10 0 (const int) -0:11 gl_Position: direct index for structure (4-component vector of float) -0:11 indirect index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:11 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:11 gl_Position: direct index for structure (in 4-component vector of float) +0:11 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:11 'i' (int) 0:11 Constant: 0:11 0 (const int) @@ -37,9 +37,9 @@ ERROR: node is still EOpNull! 0:20 Sequence 0:20 Constant: 0:20 3 (const int) -0:21 gl_Position: direct index for structure (4-component vector of float) -0:21 indirect index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:21 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:21 gl_Position: direct index for structure (in 4-component vector of float) +0:21 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:21 'i' (int) 0:21 Constant: 0:21 0 (const int) @@ -115,12 +115,12 @@ ERROR: node is still EOpNull! 0:44 1 (const int) 0:? Linker Objects 0:? 'i' (int) -0:? 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) 0:? 'color3' (in 3-element array of 4-component vector of float) 0:? 's2D' (uniform sampler2D) 0:? 'coord' (in 3-element array of 2-component vector of float) 0:? 'v4' (uniform 4-component vector of float) -0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) unsized array of float gl_ClipDistance}) +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}) Linked geometry stage: diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out index fceb116..8b8e323 100644 --- a/Test/baseResults/420.vert.out +++ b/Test/baseResults/420.vert.out @@ -124,16 +124,16 @@ ERROR: node is still EOpNull! 0:? 4.200000 0:? 'dx' (const float) 0:? 4.200000 -0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(binding=3 column_major shared ) int aoeu}) -0:? '__anon__0' (layout(binding=7 column_major shared ) uniform block{layout(binding=7 column_major shared ) int aoeu}) -0:? '__anon__1' (layout(binding=1 ) in block{layout(binding=1 ) int aoeua}) -0:? '__anon__2' (layout(column_major shared ) uniform block{layout(column_major shared ) int aooeu}) +0:? 'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) +0:? '__anon__0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu}) +0:? '__anon__1' (layout(binding=1 ) in block{in int aoeua}) +0:? '__anon__2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu}) 0:? 'sampb1' (layout(binding=4 ) uniform sampler2D) 0:? 'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D) 0:? 'sampb3' (layout(binding=80 ) uniform sampler2D) 0:? 'sampb4' (layout(binding=31 ) uniform sampler2D) 0:? 'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D) -0:? '__anon__3' (out block{unsized array of float gl_ClipDistance, }) +0:? '__anon__3' (out block{out unsized array of float gl_ClipDistance, }) 0:? 'patchIn' (patch in 4-component vector of float) 0:? 'patchOut' (smooth patch out 4-component vector of float) 0:? 'gl_VertexID' (gl_VertexId int) diff --git a/Test/baseResults/420_size_gl_in.geom.out b/Test/baseResults/420_size_gl_in.geom.out index 569d5cd..aa5a866 100644 --- a/Test/baseResults/420_size_gl_in.geom.out +++ b/Test/baseResults/420_size_gl_in.geom.out @@ -14,18 +14,18 @@ ERROR: node is still EOpNull! 0:13 Sequence 0:13 Constant: 0:13 3 (const int) -0:14 gl_Position: direct index for structure (4-component vector of float) -0:14 direct index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:14 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:14 gl_Position: direct index for structure (in 4-component vector of float) +0:14 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:14 Constant: 0:14 1 (const int) 0:14 Constant: 0:14 0 (const int) 0:15 Constant: 0:15 3 (const int) -0:16 gl_Position: direct index for structure (4-component vector of float) -0:16 indirect index (block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) -0:16 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +0:16 gl_Position: direct index for structure (in 4-component vector of float) +0:16 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in unsized array of float gl_ClipDistance}) +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}) 0:16 'i' (int) 0:16 Constant: 0:16 0 (const int) @@ -33,7 +33,7 @@ ERROR: node is still EOpNull! 0:? 'i' (int) 0:? 'colorun' (in 3-element array of 4-component vector of float) 0:? 'color3' (in 3-element array of 4-component vector of float) -0:? 'gl_in' (in 3-element array of block{4-component vector of float gl_Position, float gl_PointSize, unsized array of float gl_ClipDistance}) +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}) Linked geometry stage: diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out index 18a7b3a..f407711 100644 --- a/Test/baseResults/430.vert.out +++ b/Test/baseResults/430.vert.out @@ -22,8 +22,8 @@ ERROR: node is still EOpNull! 0:16 Sequence 0:16 move second child to first child (float) 0:16 direct index (float) -0:16 gl_ClipDistance: direct index for structure (17-element array of float) -0:16 '__anon__0' (out block{17-element array of float gl_ClipDistance, }) +0:16 gl_ClipDistance: direct index for structure (out 17-element array of float) +0:16 '__anon__0' (out block{out 17-element array of float gl_ClipDistance, }) 0:16 Constant: 0:16 2 (const uint) 0:16 Constant: @@ -39,9 +39,9 @@ ERROR: node is still EOpNull! 0:? Linker Objects 0:? 'v4' (layout(location=3 ) 4-component vector of float) 0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float) -0:? 'b1' (layout(location=2 ) in block{layout(location=2 ) 4-component vector of float v}) -0:? 'b2' (layout(location=2 ) out block{layout(location=2 ) 4-component vector of float v}) -0:? '__anon__0' (out block{17-element array of float gl_ClipDistance, }) +0:? 'b1' (layout(location=2 ) in block{in 4-component vector of float v}) +0:? 'b2' (layout(location=2 ) out block{out 4-component vector of float v}) +0:? '__anon__0' (out block{out 17-element array of float gl_ClipDistance, }) 0:? 'cs' (layout(location=10 ) smooth out 2-element array of structure{7-element array of 3X2 matrix of float m, float f}) 0:? 'cf' (layout(location=54 ) smooth out float) 0:? 'cg' (layout(location=53 ) smooth out float) diff --git a/Test/baseResults/430scope.vert.out b/Test/baseResults/430scope.vert.out index 65ab455..8bfdb10 100644 --- a/Test/baseResults/430scope.vert.out +++ b/Test/baseResults/430scope.vert.out @@ -63,7 +63,7 @@ ERROR: node is still EOpNull! 0:47 3.000000 0:49 move second child to first child (4-component vector of float) 0:49 gl_Position: direct index for structure (invariant gl_Position 4-component vector of float) -0:49 '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:49 Constant: 0:49 0 (const uint) 0:49 Construct vec4 (4-component vector of float) diff --git a/Test/baseResults/cppSimple.vert.out b/Test/baseResults/cppSimple.vert.out index 34495c0..66f6ddc 100644 --- a/Test/baseResults/cppSimple.vert.out +++ b/Test/baseResults/cppSimple.vert.out @@ -125,7 +125,7 @@ ERROR: node is still EOpNull! 0:65 0.050000 0:69 move second child to first child (4-component vector of float) 0:69 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:69 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:69 Constant: 0:69 0 (const uint) 0:69 Construct vec4 (4-component vector of float) @@ -165,7 +165,7 @@ ERROR: node is still EOpNull! 12:20034 Sequence 12:20034 move second child to first child (4-component vector of float) 12:20034 gl_Position: direct index for structure (gl_Position 4-component vector of float) -12:20034 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 12:20034 Constant: 12:20034 0 (const uint) 12:20034 Constant: diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out index b1a03e2..cc136af 100644 --- a/Test/baseResults/specExamples.frag.out +++ b/Test/baseResults/specExamples.frag.out @@ -286,9 +286,9 @@ ERROR: node is still EOpNull! 0:? 0.700000 0:? 0.700000 0:? 0.200000 -0:? '__anon__0' (in block{smooth in 4-component vector of float Color1, smooth 4-component vector of float Color2, 2-component vector of float TexCoordA, uniform float Atten}) -0:? '__anon__1' (in block{4-component vector of float LightPos, 3-component vector of float LightColor}) -0:? 'Materiala' (in block{4-component vector of float Color, 2-component vector of float TexCoord}) +0:? '__anon__0' (in block{smooth in 4-component vector of float Color1, smooth in 4-component vector of float Color2, in 2-component vector of float TexCoordA, in float Atten}) +0:? '__anon__1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor}) +0:? 'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord}) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) 0:? 'factor' (layout(location=3 ) out 4-component vector of float) diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out index 2a4fefb..1d3416d 100644 --- a/Test/baseResults/specExamples.vert.out +++ b/Test/baseResults/specExamples.vert.out @@ -32,7 +32,6 @@ ERROR: 0:96: 'binding' : requires block, or sampler/image, or atomic-counter typ ERROR: 0:97: 'binding' : requires block, or sampler/image, or atomic-counter type ERROR: 0:106: '' : vertex input cannot be further qualified ERROR: 0:106: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor -ERROR: 0:107: 'redeclaration' : cannot change storage, memory, or auxiliary qualification of gl_FrontColor ERROR: 0:112: 'ColorIvn' : identifier not previously declared ERROR: 0:132: 'shared' : not supported in this stage: vertex ERROR: 0:134: '' : function does not return a value: funcA @@ -43,7 +42,7 @@ ERROR: 0:153: '' : function does not return a value: func3 ERROR: 0:192: 'constructor' : constructing from a non-dereferenced array ERROR: 0:193: 'constructor' : constructing from a non-dereferenced array ERROR: 0:194: 'constructor' : constructing from a non-dereferenced array -ERROR: 42 compilation errors. No code generated. +ERROR: 41 compilation errors. No code generated. ERROR: node is still EOpNull! @@ -278,27 +277,27 @@ ERROR: node is still EOpNull! 0:194 Constant: 0:194 0.000000 0:? Linker Objects -0:? 'Coords' (out block{4-component vector of float Position, 2-component vector of float Texture}) -0:? '__anon__0' (out block{4-component vector of float Color}) -0:? 'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) unsized array of 4-component vector of float a, layout(column_major shared ) float Deformation}) +0:? 'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture}) +0:? '__anon__0' (out block{out 4-component vector of float Color}) +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}) 0:? 'normal' (layout(location=3 ) in 4-component vector of float) 0:? 'colors' (layout(location=6 ) in 3-element array of 4-component vector of float) 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}) 0:? 'var1' (smooth out 4-component vector of float) -0:? '__anon__1' (out block{4-component vector of float var2, 2-component vector of float var3, 3-component vector of float var4}) +0:? '__anon__1' (out block{out 4-component vector of float var2, out 2-component vector of float var3, out 3-component vector of float var4}) 0:? 'var5' (smooth out 4-component vector of float) -0:? '__anon__2' (out block{4-component vector of float var6}) +0:? '__anon__2' (out block{out 4-component vector of float var6}) 0:? 'var7' (smooth out 4-component vector of float) -0:? '__anon__3' (layout(row_major std140 ) uniform block{layout(row_major std140 ) 4X4 matrix of float M1, layout(column_major std140 ) 4X4 matrix of float M2, layout(row_major std140 ) 3X3 matrix of float N1}) -0:? '__anon__4' (layout(column_major shared ) uniform block{layout(column_major shared ) 4X4 matrix of float M13, layout(row_major shared ) 4X4 matrix of float m14, layout(column_major shared ) 3X3 matrix of float N12}) +0:? '__anon__3' (layout(row_major std140 ) uniform block{layout(row_major std140 ) uniform 4X4 matrix of float M1, layout(column_major std140 ) uniform 4X4 matrix of float M2, layout(row_major std140 ) uniform 3X3 matrix of float N1}) +0:? '__anon__4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 4X4 matrix of float M13, layout(row_major shared ) uniform 4X4 matrix of float m14, layout(column_major shared ) uniform 3X3 matrix of float N12}) 0:? 's17' (layout(binding=3 ) uniform sampler2D) 0:? 'a2' (layout(binding=2 ) uniform int) 0:? 'bar' (layout(binding=2 ) uniform int) 0:? 'b2' (layout(binding=2 ) uniform int) 0:? 'c2' (layout(binding=3 ) uniform int) 0:? 'd2' (layout(binding=2 ) uniform int) -0:? '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) -0:? '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) +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}) 0:? 'ColorInv' (smooth out 3-component vector of float) 0:? 'Color4' (invariant centroid smooth out 3-component vector of float) 0:? 'position' (smooth out 4-component vector of float) @@ -308,8 +307,8 @@ ERROR: node is still EOpNull! 0:? 'c' (in 4-component vector of float) 0:? 'd' (in 4-component vector of float) 0:? 'v' (smooth out 4-component vector of float) -0:? '__anon__6' (layout(row_major shared ) coherent uniform block{layout(row_major shared ) readonly 4-component vector of float member1, layout(row_major shared ) 4-component vector of float member2}) -0:? '__anon__7' (layout(row_major shared ) uniform block{layout(row_major shared ) coherent readonly 4-component vector of float member1A, layout(row_major shared ) coherent 4-component vector of float member2A}) +0:? '__anon__6' (layout(row_major shared ) coherent uniform block{layout(row_major shared ) readonly uniform 4-component vector of float member1, layout(row_major shared ) uniform 4-component vector of float member2}) +0:? '__anon__7' (layout(row_major shared ) uniform block{layout(row_major shared ) coherent readonly uniform 4-component vector of float member1A, layout(row_major shared ) coherent uniform 4-component vector of float member2A}) 0:? 'shv' (shared 4-component vector of float) 0:? 'img1' (uniform image2D) 0:? 'img2' (coherent uniform image2D) diff --git a/Test/baseResults/versionsClean.vert.out b/Test/baseResults/versionsClean.vert.out index bd1e8a0..1f7b5d5 100644 --- a/Test/baseResults/versionsClean.vert.out +++ b/Test/baseResults/versionsClean.vert.out @@ -7,7 +7,7 @@ Warning, version 420 is not yet complete; some version-specific features are pre 0:42 Sequence 0:42 move second child to first child (4-component vector of float) 0:42 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:42 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:42 Constant: 0:42 0 (const uint) 0:42 Construct vec4 (4-component vector of float) diff --git a/Test/baseResults/versionsErrors.vert.out b/Test/baseResults/versionsErrors.vert.out index d575701..77d062f 100644 --- a/Test/baseResults/versionsErrors.vert.out +++ b/Test/baseResults/versionsErrors.vert.out @@ -12,7 +12,7 @@ ERROR: node is still EOpNull! 0:44 Sequence 0:44 move second child to first child (4-component vector of float) 0:44 gl_Position: direct index for structure (gl_Position 4-component vector of float) -0:44 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, unsized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, 4-component vector of float gl_FrontColor, 4-component vector of float gl_BackColor, 4-component vector of float gl_FrontSecondaryColor, 4-component vector of float gl_BackSecondaryColor, unsized array of 4-component vector of float gl_TexCoord, float gl_FogFragCoord}) +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}) 0:44 Constant: 0:44 0 (const uint) 0:44 Construct vec4 (4-component vector of float) diff --git a/glslang/Include/revision.h b/glslang/Include/revision.h index 98e45ed..a24f55d 100644 --- a/glslang/Include/revision.h +++ b/glslang/Include/revision.h @@ -9,5 +9,5 @@ // source have to figure out how to create revision.h just to get a build // going. However, if it is not updated, it can be a version behind. -#define GLSLANG_REVISION "24635" -#define GLSLANG_DATE "2013/12/31 16:02:24" +#define GLSLANG_REVISION "24664" +#define GLSLANG_DATE "2014/01/06 14:27:56" diff --git a/glslang/MachineIndependent/ParseHelper.cpp b/glslang/MachineIndependent/ParseHelper.cpp index 560f898..00b8b88 100644 --- a/glslang/MachineIndependent/ParseHelper.cpp +++ b/glslang/MachineIndependent/ParseHelper.cpp @@ -438,7 +438,7 @@ TIntermTyped* TParseContext::handleBracketDereference(TSourceLoc loc, TIntermTyp else { // at least one of base and index is variable... - if (isIoResizeArray(base->getType())) + if (base->getAsSymbolNode() && isIoResizeArray(base->getType())) handleIoResizeArrayAccess(loc, base); if (index->getQualifier().storage == EvqConst) { @@ -447,7 +447,7 @@ TIntermTyped* TParseContext::handleBracketDereference(TSourceLoc loc, TIntermTyp result = intermediate.addIndex(EOpIndexDirect, base, index, loc); } else { if (base->isArray() && base->getType().getArraySize() == 0) { - if (isIoResizeArray(base->getType())) + 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 error(loc, "", "[", "array must be redeclared with a size before being indexed with a variable"); @@ -1015,7 +1015,7 @@ TIntermTyped* TParseContext::handleLengthMethod(TSourceLoc loc, TFunction* fnCal length = getIoArrayImplicitSize(); } if (length == 0) { - if (isIoResizeArray(intermNode->getAsTyped()->getType())) + if (intermNode->getAsSymbolNode() && isIoResizeArray(intermNode->getAsTyped()->getType())) error(loc, "", fnCall->getName().c_str(), "array must first be sized by a redeclaration or layout qualifier"); else error(loc, "", fnCall->getName().c_str(), "array must be declared with a size before using this method"); @@ -1886,7 +1886,7 @@ void TParseContext::mergeQualifiers(TSourceLoc loc, TQualifier& dst, const TQual dst.precision = src.precision; // Layout qualifiers - mergeObjectLayoutQualifiers(loc, dst, src); + mergeObjectLayoutQualifiers(loc, dst, src, false); // individual qualifiers bool repeated = false; @@ -2100,6 +2100,7 @@ void TParseContext::declareArray(TSourceLoc loc, TString& identifier, const TTyp } if (symbol->getAsAnonMember()) { error(loc, "cannot redeclare a user-block member array", identifier.c_str(), ""); + symbol = 0; return; } } @@ -2519,8 +2520,10 @@ void TParseContext::structTypeCheck(TSourceLoc loc, TPublicType& publicType) error(memberLoc, "cannot use storage or interpolation qualifiers on structure members", typeList[member].type->getFieldName().c_str(), ""); if (memberQualifier.isMemory()) error(memberLoc, "cannot use memory qualifiers on structure members", typeList[member].type->getFieldName().c_str(), ""); - if (memberQualifier.hasLayout()) + if (memberQualifier.hasLayout()) { error(memberLoc, "cannot use layout qualifiers on structure members", typeList[member].type->getFieldName().c_str(), ""); + memberQualifier.clearLayout(); + } if (memberQualifier.invariant) error(memberLoc, "cannot use invariant qualifier on structure members", typeList[member].type->getFieldName().c_str(), ""); } @@ -2878,18 +2881,19 @@ void TParseContext::setLayoutQualifier(TSourceLoc loc, TPublicType& publicType, } // Merge any layout qualifier information from src into dst, leaving everything else in dst alone -void TParseContext::mergeObjectLayoutQualifiers(TSourceLoc loc, TQualifier& dst, const TQualifier& src) +void TParseContext::mergeObjectLayoutQualifiers(TSourceLoc loc, TQualifier& dst, const TQualifier& src, bool inheritOnly) { if (src.layoutMatrix != ElmNone) dst.layoutMatrix = src.layoutMatrix; if (src.layoutPacking != ElpNone) dst.layoutPacking = src.layoutPacking; - if (src.hasLocation()) - dst.layoutLocation = src.layoutLocation; - - if (src.hasBinding()) - dst.layoutBinding = src.layoutBinding; + if (! inheritOnly) { + if (src.hasLocation()) + dst.layoutLocation = src.layoutLocation; + if (src.hasBinding()) + dst.layoutBinding = src.layoutBinding; + } if (src.hasStream()) dst.layoutStream = src.layoutStream; @@ -3659,6 +3663,7 @@ void TParseContext::declareBlock(TSourceLoc loc, TTypeList& typeList, const TStr pipeInOutFix(memberLoc, memberQualifier); if (memberQualifier.storage != EvqTemporary && memberQualifier.storage != EvqGlobal && memberQualifier.storage != currentBlockQualifier.storage) error(memberLoc, "member storage qualifier cannot contradict block storage qualifier", typeList[member].type->getFieldName().c_str(), ""); + memberQualifier.storage = currentBlockQualifier.storage; if (currentBlockQualifier.storage == EvqUniform && (memberQualifier.isInterpolation() || memberQualifier.isAuxiliary())) error(memberLoc, "member of uniform block cannot have an auxiliary or interpolation qualifier", typeList[member].type->getFieldName().c_str(), ""); @@ -3693,7 +3698,7 @@ void TParseContext::declareBlock(TSourceLoc loc, TTypeList& typeList, const TStr } // fix and check for member layout qualifiers - mergeObjectLayoutQualifiers(loc, defaultQualification, currentBlockQualifier); + mergeObjectLayoutQualifiers(loc, defaultQualification, currentBlockQualifier, true); for (unsigned int member = 0; member < typeList.size(); ++member) { TQualifier& memberQualifier = typeList[member].type->getQualifier(); TSourceLoc memberLoc = typeList[member].loc; @@ -3710,7 +3715,7 @@ void TParseContext::declareBlock(TSourceLoc loc, TTypeList& typeList, const TStr // reverse merge, so that currentBlockQualifier now has all layout information // (can't use defaultQualification directly, it's missing other non-layout-default-class qualifiers) - mergeObjectLayoutQualifiers(loc, currentBlockQualifier, defaultQualification); + mergeObjectLayoutQualifiers(loc, currentBlockQualifier, defaultQualification, true); // // Build and add the interface block as a new type named 'blockName' diff --git a/glslang/MachineIndependent/ParseHelper.h b/glslang/MachineIndependent/ParseHelper.h index 371ef85..b8c7906 100644 --- a/glslang/MachineIndependent/ParseHelper.h +++ b/glslang/MachineIndependent/ParseHelper.h @@ -149,7 +149,7 @@ public: void setLayoutQualifier(TSourceLoc, TPublicType&, TString&); void setLayoutQualifier(TSourceLoc, TPublicType&, TString&, int); - void mergeObjectLayoutQualifiers(TSourceLoc, TQualifier& dest, const TQualifier& src); + void mergeObjectLayoutQualifiers(TSourceLoc, TQualifier& dest, const TQualifier& src, bool inheritOnly); void layoutTypeCheck(TSourceLoc, const TSymbol&); void layoutQualifierCheck(TSourceLoc, const TQualifier&); void checkNoShaderLayouts(TSourceLoc, const TShaderQualifiers&); diff --git a/glslang/MachineIndependent/glslang.y b/glslang/MachineIndependent/glslang.y index 7aaecbe..a1dda87 100644 --- a/glslang/MachineIndependent/glslang.y +++ b/glslang/MachineIndependent/glslang.y @@ -1102,7 +1102,7 @@ layout_qualifier_id_list | layout_qualifier_id_list COMMA layout_qualifier_id { $$ = $1; $$.shaderQualifiers.merge($3.shaderQualifiers); - parseContext.mergeObjectLayoutQualifiers($2.loc, $$.qualifier, $3.qualifier); + parseContext.mergeObjectLayoutQualifiers($2.loc, $$.qualifier, $3.qualifier, false); } layout_qualifier_id @@ -2285,7 +2285,7 @@ case_label parseContext.constantValueCheck($2, "case"); parseContext.integerCheck($2, "case"); $$ = parseContext.intermediate.addBranch(EOpCase, $2, $1.loc); - } + } } | DEFAULT COLON { $$ = 0; -- 2.7.4