From: John Kessenich Date: Mon, 14 Apr 2014 15:46:40 +0000 (+0000) Subject: Restore r26245 and all tests and test results since 4/1: X-Git-Tag: upstream/0.1~705 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cf0206c341c6de863a3a100f075822b09a675fdf;p=platform%2Fupstream%2Fglslang.git Restore r26245 and all tests and test results since 4/1: r26245: Remove "not yet complete" warning for versions 130 and 140, after tidying up a bit and adding tests. Token pasting is the only known missing feature, and gives its own message now on use. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26226 e7fa87d3-cd2b-0410-9028-fcbf551c1848 --- diff --git a/Test/120.vert b/Test/120.vert index 65e1a78..cc7a872 100644 --- a/Test/120.vert +++ b/Test/120.vert @@ -138,3 +138,56 @@ void foo2() vec2 ret2 = outFunRet(i, v4, i, v4); bool b = any(lessThan(v4, attv4)); // tests aggregate arg to unary built-in } + +// version 130 features + +uniform int c; + +attribute ivec2 x; +attribute vec2 v2a; +attribute float c1D; +attribute vec2 c2D; +attribute vec3 c3D; + +uniform vec4 v4; + +void foo213() +{ + float f = 3; + switch (c) { // ERRORs... + case 1: + f = sin(f); + break; + case 2: + f = f * f; + default: + f = 3.0; + } + + int i; + i << 3 | 0x8A >> 1 & 0xFF; // ERRORs... + + vec3 modfOut, modfIn; + vec3 v11 = modf(modfIn, modfOut); // ERRORS... + float t = trunc(f); + vec2 v12 = round(v2a); + vec2 v13 = roundEven(v2a); + bvec2 b10 = isnan(v2a); + bvec4 b11 = isinf(v4); + + sinh(c1D) + // ERRORS... + cosh(c1D) * tanh(c2D); + asinh(c4D) + acosh(c4D); + atanh(c3D); + + int id = gl_VertexID; // ERROR + gl_ClipDistance[1] = 0.3; // ERROR +} + +// token pasting (ERRORS...) + +#define mac abc##def +int mac; + +#define macr(A,B) A ## B +int macr(qrs,tuv); diff --git a/Test/420_size_gl_in.geom b/Test/420_size_gl_in.geom index fd6d134..b709d5a 100644 --- a/Test/420_size_gl_in.geom +++ b/Test/420_size_gl_in.geom @@ -13,7 +13,7 @@ void foo() gl_in.length(); gl_in[1].gl_Position; gl_in.length(); - gl_in[i].gl_Position; + gl_in[i].gl_Position; // should be sized to 3 by 'triangles' } in gl_PerVertex { // ERROR, already used diff --git a/Test/array.frag b/Test/array.frag index e51a7c9..8e3687f 100644 --- a/Test/array.frag +++ b/Test/array.frag @@ -61,3 +61,42 @@ void main() int[] foo213234(); // ERROR int foo234234(float[]); // ERROR int foo234235(vec2[] v); // ERROR + +vec3 guns[]; +float f = guns[7]; + +void foo() +{ + int uns[]; + uns[3] = 40; + uns[1] = 30; + guns[2] = vec3(2.4); + + float unsf[]; + bar(unsf); // ERROR +} + +float[] foo2() // ERROR +{ + float f[]; + return f; + float g[9]; + return g; // ERROR +} + +float gUnusedUnsized[]; + +void foo3() +{ + float resize1[]; + resize1[2] = 4.0; + resize1.length(); // ERROR + float resize1[3]; + resize1.length(); + + float resize2[]; + resize2[5] = 4.0; + float resize2[5]; // should be ERROR, but is not + resize2.length(); + resize2[5] = 4.0; // ERROR +} diff --git a/Test/baseResults/100.frag.out b/Test/baseResults/100.frag.out index 6a74e77..bf72cd8 100644 --- a/Test/baseResults/100.frag.out +++ b/Test/baseResults/100.frag.out @@ -331,7 +331,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 ) uniform mediump int x}) +0:? 'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x}) 0:? 'fa' (implicitly-sized array of mediump float) 0:? 'f13' (mediump float) 0:? 'fi' (invariant mediump float) @@ -361,4 +361,277 @@ Requested GL_EXT_shader_texture_lod Requested GL_OES_EGL_image_external Requested GL_OES_standard_derivatives Requested GL_OES_texture_3D +ERROR: node is still EOpNull! +0:3 Sequence +0:3 move second child to first child (3-element array of mediump int) +0:3 'a' (3-element array of mediump int) +0:3 Constant: +0:3 2 (const int) +0:3 3 (const int) +0:3 4 (const int) +0:17 Function Definition: main( (void) +0:17 Function Parameters: +0:19 Sequence +0:19 Constant: +0:19 0.000000 +0:20 Sequence +0:20 move second child to first child (mediump int) +0:20 's' (mediump int) +0:20 Constant: +0:20 16 (const int) +0:21 move second child to first child (mediump int) +0:21 's' (mediump int) +0:21 Constant: +0:21 4 (const int) +0:22 Test condition and select (void) +0:22 Condition +0:22 Compare Equal (bool) +0:22 'a' (3-element array of mediump int) +0:22 'a' (3-element array of mediump int) +0:22 true case is null +0:24 move second child to first child (mediump int) +0:24 'b' (mediump int) +0:24 bitwise and (mediump int) +0:24 'c' (mediump int) +0:24 Constant: +0:24 4 (const int) +0:25 move second child to first child (mediump int) +0:25 'b' (mediump int) +0:25 mod (mediump int) +0:25 'c' (mediump int) +0:25 Constant: +0:25 4 (const int) +0:26 move second child to first child (mediump int) +0:26 'b' (mediump int) +0:26 inclusive-or (mediump int) +0:26 'c' (mediump int) +0:26 Constant: +0:26 4 (const int) +0:27 right shift second child into first child (mediump int) +0:27 'b' (mediump int) +0:27 Constant: +0:27 2 (const int) +0:28 left shift second child into first child (mediump int) +0:28 'b' (mediump int) +0:28 Constant: +0:28 2 (const int) +0:29 mod second child into first child (mediump int) +0:29 'b' (mediump int) +0:29 Constant: +0:29 3 (const int) +0:36 move second child to first child (structure{mediump float f, 10-element array of mediump float a}) +0:36 's1' (structure{mediump float f, 10-element array of mediump float a}) +0:36 's2' (structure{mediump float f, 10-element array of mediump float a}) +0:37 Test condition and select (void) +0:37 Condition +0:37 Compare Equal (bool) +0:37 's1' (structure{mediump float f, 10-element array of mediump float a}) +0:37 's2' (structure{mediump float f, 10-element array of mediump float a}) +0:37 true case is null +0:38 Test condition and select (void) +0:38 Condition +0:38 Compare Not Equal (bool) +0:38 's1' (structure{mediump float f, 10-element array of mediump float a}) +0:38 's2' (structure{mediump float f, 10-element array of mediump float a}) +0:38 true case is null +0:40 'b' (mediump int) +0:54 Function Definition: foo10( (void) +0:54 Function Parameters: +0:67 Function Definition: f11(s21; (void) +0:67 Function Parameters: +0:67 'p2d' (in lowp sampler2D) +0:87 Function Definition: foo234( (void) +0:87 Function Parameters: +0:89 Sequence +0:89 Function Call: texture3D(s31;vf3;f1; (highp 4-component vector of float) +0:89 's3D2' (uniform highp sampler3D) +0:89 Constant: +0:89 0.200000 +0:89 0.200000 +0:89 0.200000 +0:89 Constant: +0:89 0.200000 +0:90 Function Call: texture3DProj(s31;vf4;f1; (highp 4-component vector of float) +0:90 's3D2' (uniform highp sampler3D) +0:90 direct index (smooth mediump 4-component vector of float) +0:90 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:90 Constant: +0:90 1 (const int) +0:90 Constant: +0:90 0.400000 +0:91 dPdx (mediump 4-component vector of float) +0:91 direct index (smooth mediump 4-component vector of float) +0:91 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:91 Constant: +0:91 0 (const int) +0:92 Constant: +0:92 0.000000 +0:93 fwidth (mediump float) +0:93 'f13' (invariant mediump float) +0:98 Function Definition: foo236( (void) +0:98 Function Parameters: +0:100 Sequence +0:100 dPdx (mediump 4-component vector of float) +0:100 direct index (smooth mediump 4-component vector of float) +0:100 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:100 Constant: +0:100 0 (const int) +0:101 Constant: +0:101 0.000000 +0:102 fwidth (mediump float) +0:102 'f13' (invariant mediump float) +0:103 move second child to first child (mediump float) +0:103 'gl_FragDepth' (mediump float) +0:103 'f13' (invariant mediump float) +0:104 move second child to first child (highp float) +0:104 'gl_FragDepthEXT' (gl_FragDepth highp float) +0:104 'f13' (invariant mediump float) +0:109 Function Definition: foo239( (void) +0:109 Function Parameters: +0:111 Sequence +0:111 move second child to first child (mediump float) +0:111 'gl_FragDepth' (mediump float) +0:111 'f13' (invariant mediump float) +0:112 move second child to first child (highp float) +0:112 'gl_FragDepthEXT' (gl_FragDepth highp float) +0:112 'f13' (invariant mediump float) +0:119 Function Definition: foo245( (void) +0:119 Function Parameters: +0:121 Sequence +0:121 Function Call: texture2D(sE21;vf2; (lowp 4-component vector of float) +0:121 'sExt' (uniform lowp samplerExternalOES) +0:121 Constant: +0:121 0.200000 +0:121 0.200000 +0:122 Function Call: texture2DProj(sE21;vf3; (lowp 4-component vector of float) +0:122 'sExt' (uniform lowp samplerExternalOES) +0:122 Construct vec3 (3-component vector of float) +0:122 'f13' (invariant mediump float) +0:123 Function Call: texture2DProj(sE21;vf4; (lowp 4-component vector of float) +0:123 'sExt' (uniform lowp samplerExternalOES) +0:123 direct index (smooth mediump 4-component vector of float) +0:123 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:123 Constant: +0:123 2 (const int) +0:130 Function Definition: foo246( (void) +0:130 Function Parameters: +0:132 Sequence +0:132 Function Call: texture2D(sE21;vf2; (mediump 4-component vector of float) +0:132 'mediumExt' (uniform mediump samplerExternalOES) +0:132 Constant: +0:132 0.200000 +0:132 0.200000 +0:133 Function Call: texture2DProj(sE21;vf4; (highp 4-component vector of float) +0:133 'highExt' (uniform highp samplerExternalOES) +0:133 direct index (smooth mediump 4-component vector of float) +0:133 'v' (smooth in 3-element array of mediump 4-component vector of float) +0:133 Constant: +0:133 2 (const int) +0:134 Constant: +0:134 0.000000 +0:135 Constant: +0:135 0.000000 +0:137 Bitwise not (mediump int) +0:137 'a' (mediump int) +0:138 inclusive-or (mediump int) +0:138 'a' (mediump int) +0:138 'a' (mediump int) +0:139 bitwise and (mediump int) +0:139 'a' (mediump int) +0:139 'a' (mediump int) +0:145 Function Definition: foo203940(i1;f1;f1; (mediump int) +0:145 Function Parameters: +0:145 'a' (in mediump int) +0:145 'b' (in mediump float) +0:147 Sequence +0:147 Function Call: texture2DProjGradEXT(s21;vf3;vf2;vf2; (lowp 4-component vector of float) +0:147 's2Dg' (uniform lowp sampler2D) +0:147 Construct vec3 (3-component vector of float) +0:147 'f13' (invariant mediump float) +0:147 'uv2' (invariant uniform mediump 2-component vector of float) +0:147 'uv2' (invariant uniform mediump 2-component vector of float) +0:148 Branch: Return with expression +0:148 'a' (in mediump int) +0:151 Sequence +0:151 move second child to first child (mediump float) +0:151 'f123' (mediump float) +0:151 Constant: +0:151 4.000000 +0:152 Sequence +0:152 move second child to first child (mediump float) +0:152 'f124' (mediump float) +0:152 Constant: +0:152 50000000000.000000 +0:158 Function Definition: foo323433( (void) +0:158 Function Parameters: +0:160 Sequence +0:160 Function Call: texture2DLodEXT(s21;vf2;f1; (lowp 4-component vector of float) +0:160 's2Dg' (uniform lowp sampler2D) +0:160 'uv2' (invariant uniform mediump 2-component vector of float) +0:160 'f13' (invariant mediump float) +0:161 Function Call: texture2DProjGradEXT(s21;vf3;vf2;vf2; (lowp 4-component vector of float) +0:161 's2Dg' (uniform lowp sampler2D) +0:161 Construct vec3 (3-component vector of float) +0:161 'f13' (invariant mediump float) +0:161 'uv2' (invariant uniform mediump 2-component vector of float) +0:161 'uv2' (invariant uniform mediump 2-component vector of float) +0:162 Function Call: texture2DGradEXT(s21;vf2;vf2;vf2; (lowp 4-component vector of float) +0:162 's2Dg' (uniform lowp sampler2D) +0:162 'uv2' (invariant uniform mediump 2-component vector of float) +0:162 'uv2' (invariant uniform mediump 2-component vector of float) +0:162 'uv2' (invariant uniform mediump 2-component vector of float) +0:163 Function Call: textureCubeGradEXT(sC1;vf3;vf3;vf3; (lowp 4-component vector of float) +0:163 'sCube' (uniform lowp samplerCube) +0:163 Construct vec3 (3-component vector of float) +0:163 'f13' (invariant mediump float) +0:163 Construct vec3 (3-component vector of float) +0:163 'f13' (invariant mediump float) +0:163 Construct vec3 (3-component vector of float) +0:163 'f13' (invariant mediump float) +0:167 Function Definition: fgfg(f1;i1; (mediump int) +0:167 Function Parameters: +0:167 'f' (in mediump float) +0:167 'i' (in highp int) +0:167 Sequence +0:167 Branch: Return with expression +0:167 Constant: +0:167 2 (const int) +0:173 Function Definition: gggf(f1; (mediump int) +0:173 Function Parameters: +0:173 'f' (in mediump float) +0:173 Sequence +0:173 Branch: Return with expression +0:173 Constant: +0:173 2 (const int) +0:175 Function Definition: agggf(f1; (mediump int) +0:175 Function Parameters: +0:175 'f' (in mediump float) +0:175 Sequence +0:175 Branch: Return with expression +0:175 Constant: +0:175 2 (const int) +0:? Linker Objects +0:? 'a' (3-element array of mediump int) +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 ) uniform mediump int x}) +0:? 'fa' (1-element array of mediump float) +0:? 'f13' (mediump float) +0:? 'fi' (invariant mediump float) +0:? 'av' (smooth in mediump 4-component vector of float) +0:? 'uv2' (uniform mediump 2-component vector of float) +0:? 'uv3' (invariant uniform mediump 3-component vector of float) +0:? 'glob2D' (lowp sampler2D) +0:? 'vary2D' (smooth in lowp sampler2D) +0:? 's3D' (uniform mediump sampler3D) +0:? 's3D2' (uniform highp sampler3D) +0:? 'sExt' (uniform lowp samplerExternalOES) +0:? 'mediumExt' (uniform mediump samplerExternalOES) +0:? 'highExt' (uniform highp samplerExternalOES) +0:? 's2Dg' (uniform lowp sampler2D) +0:? 'f123' (mediump float) +0:? 'f124' (mediump float) +0:? 'sCube' (uniform lowp samplerCube) +0:? 's' (smooth in structure{mediump float f}) diff --git a/Test/baseResults/100Limits.vert.out b/Test/baseResults/100Limits.vert.out index 2c02af1..6bfa19b 100644 --- a/Test/baseResults/100Limits.vert.out +++ b/Test/baseResults/100Limits.vert.out @@ -447,4 +447,444 @@ Linked vertex stage: Shader version: 100 +0:? Sequence +0:15 Function Definition: foo(f1; (void) +0:15 Function Parameters: +0:15 'a' (inout highp float) +0:17 Function Definition: bar( (highp int) +0:17 Function Parameters: +0:19 Sequence +0:19 Branch: Return with expression +0:19 Constant: +0:19 1 (const int) +0:22 Function Definition: main( (void) +0:22 Function Parameters: +0:24 Sequence +0:24 Loop with condition tested first +0:24 Loop Condition +0:24 Compare Less Than (bool) +0:24 'ga' (highp int) +0:24 'gb' (highp int) +0:24 No loop body +0:26 Loop with condition not tested first +0:26 Loop Condition +0:26 Constant: +0:26 false (const bool) +0:26 No loop body +0:28 Sequence +0:28 Loop with condition tested first +0:28 No loop condition +0:28 No loop body +0:29 Sequence +0:29 Loop with condition tested first +0:29 Loop Condition +0:29 Compare Equal (bool) +0:29 'ga' (highp int) +0:29 'gb' (highp int) +0:29 No loop body +0:30 Sequence +0:30 Loop with condition tested first +0:30 No loop condition +0:30 No loop body +0:30 Loop Terminal Expression +0:30 Post-Increment (highp float) +0:30 'f' (highp float) +0:31 Sequence +0:31 move second child to first child (highp int) +0:31 'ga' (highp int) +0:31 Constant: +0:31 0 (const int) +0:31 Loop with condition tested first +0:31 No loop condition +0:31 No loop body +0:32 Sequence +0:32 Sequence +0:32 move second child to first child (bool) +0:32 'a' (bool) +0:32 Constant: +0:32 false (const bool) +0:32 Loop with condition tested first +0:32 No loop condition +0:32 No loop body +0:33 Sequence +0:33 Sequence +0:33 move second child to first child (highp float) +0:33 'a' (highp float) +0:33 Constant: +0:33 0.000000 +0:33 Loop with condition tested first +0:33 Loop Condition +0:33 Compare Equal (bool) +0:33 'a' (highp float) +0:33 sine (highp float) +0:33 'f' (highp float) +0:33 No loop body +0:34 Sequence +0:34 Sequence +0:34 move second child to first child (highp int) +0:34 'a' (highp int) +0:34 Constant: +0:34 0 (const int) +0:34 Loop with condition tested first +0:34 Loop Condition +0:34 Compare Less Than (bool) +0:34 'a' (highp int) +0:34 Constant: +0:34 10 (const int) +0:34 No loop body +0:34 Loop Terminal Expression +0:34 multiply second child into first child (highp int) +0:34 'a' (highp int) +0:34 Constant: +0:34 2 (const int) +0:35 Sequence +0:35 Sequence +0:35 move second child to first child (highp int) +0:35 'a' (highp int) +0:35 Constant: +0:35 0 (const int) +0:35 Loop with condition tested first +0:35 Loop Condition +0:35 Compare Less Than or Equal (bool) +0:35 'a' (highp int) +0:35 Constant: +0:35 20 (const int) +0:35 Loop Body +0:35 Pre-Decrement (highp int) +0:35 'a' (highp int) +0:35 Loop Terminal Expression +0:35 Post-Increment (highp int) +0:35 'a' (highp int) +0:36 Sequence +0:36 Sequence +0:36 move second child to first child (highp int) +0:36 'a' (highp int) +0:36 Constant: +0:36 0 (const int) +0:36 Loop with condition tested first +0:36 Loop Condition +0:36 Compare Less Than or Equal (bool) +0:36 'a' (highp int) +0:36 Constant: +0:36 20 (const int) +0:36 Loop Body +0:36 Sequence +0:36 Test condition and select (void) +0:36 Condition +0:36 Compare Equal (bool) +0:36 'ga' (highp int) +0:36 Constant: +0:36 0 (const int) +0:36 true case +0:36 move second child to first child (highp int) +0:36 'a' (highp int) +0:36 Constant: +0:36 4 (const int) +0:36 Loop Terminal Expression +0:36 Post-Increment (highp int) +0:36 'a' (highp int) +0:37 Sequence +0:37 Sequence +0:37 move second child to first child (highp float) +0:37 'a' (highp float) +0:37 Constant: +0:37 0.000000 +0:37 Loop with condition tested first +0:37 Loop Condition +0:37 Compare Less Than or Equal (bool) +0:37 'a' (highp float) +0:37 Constant: +0:37 20.000000 +0:37 No loop body +0:37 Loop Terminal Expression +0:37 add second child into first child (highp float) +0:37 'a' (highp float) +0:37 Constant: +0:37 2.000000 +0:38 Sequence +0:38 Sequence +0:38 move second child to first child (highp float) +0:38 'a' (highp float) +0:38 Constant: +0:38 0.000000 +0:38 Loop with condition tested first +0:38 Loop Condition +0:38 Compare Not Equal (bool) +0:38 'a' (highp float) +0:38 Constant: +0:38 20.000000 +0:38 Loop Body +0:38 Sequence +0:38 Test condition and select (void) +0:38 Condition +0:38 Compare Equal (bool) +0:38 'ga' (highp int) +0:38 Constant: +0:38 0 (const int) +0:38 true case +0:38 move second child to first child (highp int) +0:38 'ga' (highp int) +0:38 Constant: +0:38 4 (const int) +0:38 Loop Terminal Expression +0:38 subtract second child into first child (highp float) +0:38 'a' (highp float) +0:38 Constant: +0:38 2.000000 +0:39 Sequence +0:39 Sequence +0:39 move second child to first child (highp float) +0:39 'a' (highp float) +0:39 Constant: +0:39 0.000000 +0:39 Loop with condition tested first +0:39 Loop Condition +0:39 Compare Equal (bool) +0:39 'a' (highp float) +0:39 Constant: +0:39 20.000000 +0:39 Loop Body +0:39 Sequence +0:39 Sequence +0:39 move second child to first child (highp float) +0:39 'a' (highp float) +0:39 Constant: +0:39 0.000000 +0:39 Loop with condition tested first +0:39 Loop Condition +0:39 Compare Equal (bool) +0:39 'a' (highp float) +0:39 Constant: +0:39 20.000000 +0:39 No loop body +0:39 Loop Terminal Expression +0:39 Post-Decrement (highp float) +0:39 'a' (highp float) +0:39 Loop Terminal Expression +0:39 Post-Decrement (highp float) +0:39 'a' (highp float) +0:40 Sequence +0:40 Sequence +0:40 move second child to first child (highp float) +0:40 'a' (highp float) +0:40 Constant: +0:40 0.000000 +0:40 Loop with condition tested first +0:40 Loop Condition +0:40 Compare Less Than or Equal (bool) +0:40 'a' (highp float) +0:40 Constant: +0:40 20.000000 +0:40 No loop body +0:40 Loop Terminal Expression +0:40 add second child into first child (highp float) +0:40 'a' (highp float) +0:40 Constant: +0:40 2.000000 +0:41 Sequence +0:41 Sequence +0:41 move second child to first child (highp float) +0:41 'a' (highp float) +0:41 Constant: +0:41 0.000000 +0:41 Loop with condition tested first +0:41 Loop Condition +0:41 Compare Less Than or Equal (bool) +0:41 'a' (highp float) +0:41 Constant: +0:41 20.000000 +0:41 No loop body +0:41 Loop Terminal Expression +0:41 add second child into first child (highp float) +0:41 'a' (highp float) +0:41 Constant: +0:41 2.000000 +0:42 Sequence +0:42 Sequence +0:42 move second child to first child (highp float) +0:42 'a' (highp float) +0:42 Constant: +0:42 0.000000 +0:42 Loop with condition tested first +0:42 Loop Condition +0:42 Compare Greater Than (bool) +0:42 'a' (highp float) +0:42 Constant: +0:42 40.000000 +0:42 No loop body +0:42 Loop Terminal Expression +0:42 add second child into first child (highp float) +0:42 'a' (highp float) +0:42 Constant: +0:42 2.000000 +0:43 Sequence +0:43 Sequence +0:43 move second child to first child (highp float) +0:43 'a' (highp float) +0:43 Constant: +0:43 0.000000 +0:43 Loop with condition tested first +0:43 Loop Condition +0:43 Compare Greater Than or Equal (bool) +0:43 'a' (highp float) +0:43 Constant: +0:43 20.000000 +0:43 Loop Body +0:43 Function Call: foo(f1; (void) +0:43 'a' (highp float) +0:43 Loop Terminal Expression +0:43 add second child into first child (highp float) +0:43 'a' (highp float) +0:43 Constant: +0:43 2.000000 +0:47 indirect index (lowp sampler2D) +0:47 'fsa' (uniform 3-element array of lowp sampler2D) +0:47 'ga' (highp int) +0:48 indirect index (highp float) +0:48 'fua' (uniform 10-element array of highp float) +0:48 'ga' (highp int) +0:49 indirect index (highp 3-component vector of float) +0:49 'am3' (in highp 3X3 matrix of float) +0:49 'ga' (highp int) +0:50 indirect index (highp float) +0:50 'av2' (in highp 2-component vector of float) +0:50 'ga' (highp int) +0:51 indirect index (smooth highp 4-component vector of float) +0:51 'va' (smooth out 4-element array of highp 4-component vector of float) +0:51 add (highp int) +0:51 Constant: +0:51 2 (const int) +0:51 'ga' (highp int) +0:52 indirect index (highp 2-component vector of float) +0:52 Constant: +0:52 1.000000 +0:52 0.000000 +0:52 0.000000 +0:52 1.000000 +0:52 'ga' (highp int) +0:53 indirect index (highp float) +0:53 Constant: +0:53 2.000000 +0:53 2.000000 +0:53 2.000000 +0:53 divide (highp int) +0:53 'ga' (highp int) +0:53 Constant: +0:53 2 (const int) +0:54 indirect index (highp int) +0:54 'ia' (9-element array of highp int) +0:54 'ga' (highp int) +0:56 Sequence +0:56 Sequence +0:56 move second child to first child (highp int) +0:56 'a' (highp int) +0:56 Constant: +0:56 3 (const int) +0:56 Loop with condition tested first +0:56 Loop Condition +0:56 Compare Greater Than or Equal (bool) +0:56 'a' (highp int) +0:56 Constant: +0:56 0 (const int) +0:56 Loop Body +0:57 Sequence +0:57 indirect index (lowp sampler2D) +0:57 'fsa' (uniform 3-element array of lowp sampler2D) +0:57 'a' (highp int) +0:58 indirect index (highp float) +0:58 'fua' (uniform 10-element array of highp float) +0:58 add (highp int) +0:58 'a' (highp int) +0:58 Constant: +0:58 2 (const int) +0:59 indirect index (highp 3-component vector of float) +0:59 'am3' (in highp 3X3 matrix of float) +0:59 component-wise multiply (highp int) +0:59 Constant: +0:59 3 (const int) +0:59 'a' (highp int) +0:60 indirect index (highp float) +0:60 'av2' (in highp 2-component vector of float) +0:60 component-wise multiply (highp int) +0:60 Constant: +0:60 3 (const int) +0:60 'a' (highp int) +0:61 indirect index (smooth highp 4-component vector of float) +0:61 'va' (smooth out 4-element array of highp 4-component vector of float) +0:61 subtract (highp int) +0:61 'a' (highp int) +0:61 Constant: +0:61 1 (const int) +0:62 indirect index (highp 2-component vector of float) +0:62 Constant: +0:62 1.000000 +0:62 0.000000 +0:62 0.000000 +0:62 1.000000 +0:62 divide (highp int) +0:62 'a' (highp int) +0:62 Constant: +0:62 2 (const int) +0:63 indirect index (highp float) +0:63 Constant: +0:63 2.000000 +0:63 2.000000 +0:63 2.000000 +0:63 'a' (highp int) +0:64 indirect index (highp int) +0:64 'ia' (9-element array of highp int) +0:64 'a' (highp int) +0:65 indirect index (highp int) +0:65 'ia' (9-element array of highp int) +0:65 Function Call: bar( (highp int) +0:56 Loop Terminal Expression +0:56 Post-Decrement (highp int) +0:56 'a' (highp int) +0:68 direct index (lowp sampler2D) +0:68 'fsa' (uniform 3-element array of lowp sampler2D) +0:68 Constant: +0:68 2 (const int) +0:69 direct index (highp float) +0:69 'fua' (uniform 10-element array of highp float) +0:69 Constant: +0:69 3 (const int) +0:70 direct index (highp 3-component vector of float) +0:70 'am3' (in highp 3X3 matrix of float) +0:70 Constant: +0:70 2 (const int) +0:71 direct index (highp float) +0:71 'av2' (in highp 2-component vector of float) +0:71 Constant: +0:71 1 (const int) +0:72 direct index (smooth highp 4-component vector of float) +0:72 'va' (smooth out 4-element array of highp 4-component vector of float) +0:72 Constant: +0:72 1 (const int) +0:73 Constant: +0:73 0.000000 +0:73 1.000000 +0:74 Constant: +0:74 2.000000 +0:75 direct index (highp int) +0:75 'ia' (9-element array of highp int) +0:75 Constant: +0:75 3 (const int) +0:? Linker Objects +0:? 'ga' (highp int) +0:? 'gb' (highp int) +0:? 'f' (highp float) +0:? 'fsa' (uniform 3-element array of lowp sampler2D) +0:? 'fua' (uniform 10-element array of highp float) +0:? 'am3' (in highp 3X3 matrix of float) +0:? 'av2' (in highp 2-component vector of float) +0:? 'va' (smooth out 4-element array of highp 4-component vector of float) +0:? 'm2' (const highp 2X2 matrix of float) +0:? 1.000000 +0:? 0.000000 +0:? 0.000000 +0:? 1.000000 +0:? 'v3' (const highp 3-component vector of float) +0:? 2.000000 +0:? 2.000000 +0:? 2.000000 diff --git a/Test/baseResults/100scope.vert.out b/Test/baseResults/100scope.vert.out index dcdc1d9..fda627c 100644 --- a/Test/baseResults/100scope.vert.out +++ b/Test/baseResults/100scope.vert.out @@ -128,4 +128,111 @@ Linked vertex stage: Shader version: 100 +ERROR: node is still EOpNull! +0:3 Function Definition: f(i1;i1;i1; (highp int) +0:3 Function Parameters: +0:3 'a' (in highp int) +0:3 'b' (in highp int) +0:3 'c' (in highp int) +0:? Sequence +0:8 Sequence +0:8 Sequence +0:8 move second child to first child (highp float) +0:8 'a' (highp float) +0:8 add (highp float) +0:8 Convert int to float (highp float) +0:8 'a' (in highp int) +0:8 Constant: +0:8 1.000000 +0:11 Branch: Return with expression +0:11 'a' (in highp int) +0:25 Function Definition: cos(f1; (highp float) +0:25 Function Parameters: +0:25 'x' (in highp float) +0:27 Sequence +0:27 Branch: Return with expression +0:27 Constant: +0:27 1.000000 +0:29 Function Definition: radians(b1; (bool) +0:29 Function Parameters: +0:29 'x' (in bool) +0:31 Sequence +0:31 Branch: Return with expression +0:31 Constant: +0:31 true (const bool) +0:36 Function Definition: main( (void) +0:36 Function Parameters: +0:? Sequence +0:39 Function Call: g( (highp int) +0:42 'sin' (highp float) +0:43 Constant: +0:43 0.000000 +0:44 Function Call: f(i1;i1;i1; (highp int) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 2 (const int) +0:44 Constant: +0:44 3 (const int) +0:47 move second child to first child (highp float) +0:47 'f' (highp float) +0:47 Constant: +0:47 3.000000 +0:49 move second child to first child (highp 4-component vector of float) +0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float) +0:49 Construct vec4 (highp 4-component vector of float) +0:49 'f' (highp float) +0:51 Sequence +0:51 Sequence +0:51 move second child to first child (highp int) +0:51 'f' (highp int) +0:51 Constant: +0:51 0 (const int) +0:51 Loop with condition tested first +0:51 Loop Condition +0:51 Compare Less Than (bool) +0:51 'f' (highp int) +0:51 Constant: +0:51 10 (const int) +0:51 Loop Body +0:52 Pre-Increment (highp int) +0:52 'f' (highp int) +0:51 Loop Terminal Expression +0:51 Pre-Increment (highp int) +0:51 'f' (highp int) +0:54 Sequence +0:54 move second child to first child (highp int) +0:54 'x' (highp int) +0:54 Constant: +0:54 1 (const int) +0:56 Sequence +0:56 Sequence +0:56 move second child to first child (highp float) +0:56 'x' (highp float) +0:56 Constant: +0:56 2.000000 +0:56 move second child to first child (highp float) +0:56 'y' (highp float) +0:56 'x' (highp float) +0:60 Sequence +0:60 Sequence +0:60 move second child to first child (highp int) +0:60 'x' (highp int) +0:60 'x' (highp int) +0:68 Sequence +0:68 Sequence +0:68 move second child to first child (structure{highp int x}) +0:68 'S' (structure{highp int x}) +0:68 Constant: +0:68 0 (const int) +0:69 x: direct index for structure (highp int) +0:69 'S' (structure{highp int x}) +0:69 Constant: +0:69 0 (const int) +0:73 Constant: +0:73 0.000000 +0:? Linker Objects +0:? 'b' (bool) +0:? 'tan' (highp float) +0:? 's' (smooth out structure{highp float f}) diff --git a/Test/baseResults/110scope.vert.out b/Test/baseResults/110scope.vert.out index 3397154..9a1827b 100644 --- a/Test/baseResults/110scope.vert.out +++ b/Test/baseResults/110scope.vert.out @@ -121,4 +121,113 @@ Linked vertex stage: Shader version: 110 +ERROR: node is still EOpNull! +0:3 Function Definition: f(i1;i1;i1; (int) +0:3 Function Parameters: +0:3 'a' (in int) +0:3 'b' (in int) +0:3 'c' (in int) +0:? Sequence +0:8 Sequence +0:8 Sequence +0:8 move second child to first child (float) +0:8 'a' (float) +0:8 add (float) +0:8 Convert int to float (float) +0:8 'a' (in int) +0:8 Constant: +0:8 1.000000 +0:11 Branch: Return with expression +0:11 'a' (in int) +0:25 Function Definition: cos(f1; (float) +0:25 Function Parameters: +0:25 'x' (in float) +0:27 Sequence +0:27 Branch: Return with expression +0:27 Constant: +0:27 1.000000 +0:29 Function Definition: radians(b1; (bool) +0:29 Function Parameters: +0:29 'x' (in bool) +0:31 Sequence +0:31 Branch: Return with expression +0:31 Constant: +0:31 true (const bool) +0:36 Function Definition: main( (void) +0:36 Function Parameters: +0:? Sequence +0:39 Function Call: g( (int) +0:42 'sin' (float) +0:43 Function Call: sin(f1; (float) +0:43 Constant: +0:43 0.700000 +0:44 Function Call: f(i1;i1;i1; (int) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 2 (const int) +0:44 Constant: +0:44 3 (const int) +0:47 move second child to first child (float) +0:47 'f' (float) +0:47 Constant: +0:47 3.000000 +0:49 move second child to first child (4-component vector of float) +0:49 'gl_Position' (gl_Position 4-component vector of float) +0:49 Construct vec4 (4-component vector of float) +0:49 'f' (float) +0:51 Sequence +0:51 Sequence +0:51 move second child to first child (int) +0:51 'f' (int) +0:51 Constant: +0:51 0 (const int) +0:51 Loop with condition tested first +0:51 Loop Condition +0:51 Compare Less Than (bool) +0:51 'f' (int) +0:51 Constant: +0:51 10 (const int) +0:51 Loop Body +0:52 Pre-Increment (int) +0:52 'f' (int) +0:51 Loop Terminal Expression +0:51 Pre-Increment (int) +0:51 'f' (int) +0:54 Sequence +0:54 move second child to first child (int) +0:54 'x' (int) +0:54 Constant: +0:54 1 (const int) +0:56 Sequence +0:56 Sequence +0:56 move second child to first child (float) +0:56 'x' (float) +0:56 Constant: +0:56 2.000000 +0:56 move second child to first child (float) +0:56 'y' (float) +0:56 'x' (float) +0:60 Sequence +0:60 Sequence +0:60 move second child to first child (int) +0:60 'x' (int) +0:60 'x' (int) +0:68 Sequence +0:68 Sequence +0:68 move second child to first child (structure{int x}) +0:68 'S' (structure{int x}) +0:68 Constant: +0:68 0 (const int) +0:69 x: direct index for structure (int) +0:69 'S' (structure{int x}) +0:69 Constant: +0:69 0 (const int) +0:73 Constant: +0:73 183.346494 +0:? Linker Objects +0:? 'b' (bool) +0:? 'c' (bool) +0:? 'f' (float) +0:? 'tan' (float) diff --git a/Test/baseResults/120.frag.out b/Test/baseResults/120.frag.out index 525068e..2c14ba3 100644 --- a/Test/baseResults/120.frag.out +++ b/Test/baseResults/120.frag.out @@ -300,7 +300,7 @@ ERROR: node is still EOpNull! 0:120 move second child to first child (4-component vector of float) 0:120 'v' (4-component vector of float) 0:120 direct index (smooth 4-component vector of float) -0:120 'gl_TexCoord' (smooth in implicitly-sized array of 4-component vector of float) +0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) 0:120 Constant: 0:120 1 (const int) 0:121 add second child into first child (4-component vector of float) @@ -397,4 +397,355 @@ ERROR: Linking fragment stage: Recursion detected: foo(f1; calling foo(f1; Shader version: 120 +ERROR: node is still EOpNull! +0:21 Function Definition: main( (void) +0:21 Function Parameters: +0:23 Sequence +0:23 Sequence +0:23 move second child to first child (2X3 matrix of float) +0:23 'm23' (2X3 matrix of float) +0:23 Construct mat2x3 (2X3 matrix of float) +0:23 'm' (uniform 4X2 matrix of float) +0:27 Sequence +0:27 move second child to first child (structure{float f}) +0:27 'sv' (structure{float f}) +0:27 Construct structure (structure{float f}) +0:27 Convert int to float (float) +0:27 'a' (int) +0:28 Sequence +0:28 move second child to first child (2-element array of float) +0:28 'ia' (2-element array of float) +0:28 Construct float (2-element array of float) +0:28 Constant: +0:28 3.000000 +0:28 direct index (float) +0:28 'i' (smooth in 4-component vector of float) +0:28 Constant: +0:28 1 (const int) +0:29 Sequence +0:29 move second child to first child (float) +0:29 'f1' (float) +0:29 Constant: +0:29 1.000000 +0:30 Sequence +0:30 move second child to first child (float) +0:30 'f' (float) +0:30 Convert int to float (float) +0:30 'a' (int) +0:31 move second child to first child (float) +0:31 'f' (float) +0:31 Convert int to float (float) +0:31 'a' (int) +0:33 Sequence +0:33 move second child to first child (3-component vector of float) +0:33 'v3' (3-component vector of float) +0:33 Convert int to float (3-component vector of float) +0:33 'iv3' (3-component vector of int) +0:34 move second child to first child (float) +0:34 'f' (float) +0:34 add (float) +0:34 'f' (float) +0:34 Convert int to float (float) +0:34 'a' (int) +0:35 move second child to first child (float) +0:35 'f' (float) +0:35 subtract (float) +0:35 Convert int to float (float) +0:35 'a' (int) +0:35 'f' (float) +0:36 add second child into first child (float) +0:36 'f' (float) +0:36 Convert int to float (float) +0:36 'a' (int) +0:37 move second child to first child (float) +0:37 'f' (float) +0:37 subtract (float) +0:37 Convert int to float (float) +0:37 'a' (int) +0:37 'f' (float) +0:38 multiply second child into first child (3-component vector of float) +0:38 'v3' (3-component vector of float) +0:38 Convert int to float (3-component vector of float) +0:38 'iv3' (3-component vector of int) +0:39 move second child to first child (3-component vector of float) +0:39 'v3' (3-component vector of float) +0:39 divide (3-component vector of float) +0:39 Convert int to float (3-component vector of float) +0:39 'iv3' (3-component vector of int) +0:39 Constant: +0:39 2.000000 +0:40 move second child to first child (3-component vector of float) +0:40 'v3' (3-component vector of float) +0:40 vector-scale (3-component vector of float) +0:40 Constant: +0:40 3.000000 +0:40 Convert int to float (3-component vector of float) +0:40 'iv3' (3-component vector of int) +0:41 move second child to first child (3-component vector of float) +0:41 'v3' (3-component vector of float) +0:41 vector-scale (3-component vector of float) +0:41 Constant: +0:41 2.000000 +0:41 'v3' (3-component vector of float) +0:42 move second child to first child (3-component vector of float) +0:42 'v3' (3-component vector of float) +0:42 subtract (3-component vector of float) +0:42 'v3' (3-component vector of float) +0:42 Constant: +0:42 2.000000 +0:43 Test condition and select (void) +0:43 Condition +0:47 logical-or (bool) +0:46 logical-or (bool) +0:45 logical-or (bool) +0:44 logical-or (bool) +0:43 logical-or (bool) +0:43 Compare Less Than (bool) +0:43 'f' (float) +0:43 Convert int to float (float) +0:43 'a' (int) +0:44 Compare Less Than or Equal (bool) +0:44 Convert int to float (float) +0:44 'a' (int) +0:44 'f' (float) +0:45 Compare Greater Than (bool) +0:45 'f' (float) +0:45 Convert int to float (float) +0:45 'a' (int) +0:46 Compare Greater Than or Equal (bool) +0:46 'f' (float) +0:46 Convert int to float (float) +0:46 'a' (int) +0:47 Compare Equal (bool) +0:47 Convert int to float (float) +0:47 'a' (int) +0:47 'f' (float) +0:48 Compare Not Equal (bool) +0:48 'f' (float) +0:48 Convert int to float (float) +0:48 'a' (int) +0:43 true case is null +0:49 move second child to first child (float) +0:49 'f' (float) +0:49 Test condition and select (float) +0:49 Condition +0:49 'b' (bool) +0:49 true case +0:49 Convert int to float (float) +0:49 'a' (int) +0:49 false case +0:49 'f' (float) +0:50 move second child to first child (float) +0:50 'f' (float) +0:50 Test condition and select (float) +0:50 Condition +0:50 'b' (bool) +0:50 true case +0:50 'f' (float) +0:50 false case +0:50 Convert int to float (float) +0:50 'a' (int) +0:51 move second child to first child (float) +0:51 'f' (float) +0:51 Convert int to float (float) +0:51 Test condition and select (int) +0:51 Condition +0:51 'b' (bool) +0:51 true case +0:51 'a' (int) +0:51 false case +0:51 'a' (int) +0:52 Sequence +0:52 move second child to first child (structure{float f}) +0:52 'news' (structure{float f}) +0:52 'sv' (structure{float f}) +0:54 vector swizzle (2-component vector of float) +0:54 'i' (smooth in 4-component vector of float) +0:54 Sequence +0:54 Constant: +0:54 0 (const int) +0:54 Constant: +0:54 1 (const int) +0:55 'm' (uniform 4X2 matrix of float) +0:56 'm' (uniform 4X2 matrix of float) +0:58 'f' (float) +0:59 move second child to first child (float) +0:59 'f' (float) +0:59 Convert int to float (float) +0:59 'a' (int) +0:60 'f' (float) +0:61 'b' (bool) +0:62 move second child to first child (bool) +0:62 'b' (bool) +0:62 'b' (bool) +0:63 'f' (float) +0:65 move second child to first child (4-component vector of float) +0:65 'gl_FragColor' (fragColor 4-component vector of float) +0:65 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:65 's2D' (uniform sampler2D) +0:65 'centTexCoord' (centroid smooth in 2-component vector of float) +0:? Sequence +0:79 'gl_FragColor' (fragColor 4-component vector of float) +0:82 direct index (float) +0:82 'gl_FragColor' (fragColor 4-component vector of float) +0:82 Constant: +0:82 0 (const int) +0:83 direct index (float) +0:83 'gl_FragColor' (fragColor 4-component vector of float) +0:83 Constant: +0:83 0 (const int) +0:84 direct index (float) +0:84 'centTexCoord' (centroid smooth in 2-component vector of float) +0:84 Constant: +0:84 0 (const int) +0:85 move second child to first child (bool) +0:85 Comma (bool) +0:85 'a' (int) +0:85 'b' (bool) +0:85 Constant: +0:85 true (const bool) +0:91 Function Definition: main( (int) +0:91 Function Parameters: +0:92 Function Definition: main(i1; (void) +0:92 Function Parameters: +0:92 'a' (in int) +0:97 Function Definition: foo(f1; (int) +0:97 Function Parameters: +0:97 'a' (out float) +0:99 Sequence +0:99 Branch: Return with expression +0:99 Constant: +0:99 3.200000 +0:100 Function Call: foo(f1; (int) +0:100 'a' (out float) +0:103 Function Definition: gen(vf3; (bool) +0:103 Function Parameters: +0:103 'v' (in 3-component vector of float) +0:105 Sequence +0:105 Test condition and select (void) +0:105 Condition +0:105 logical-and (bool) +0:105 Compare Less Than (bool) +0:105 Absolute value (float) +0:105 direct index (float) +0:105 'v' (in 3-component vector of float) +0:105 Constant: +0:105 0 (const int) +0:105 Constant: +0:105 0.000100 +0:105 Compare Less Than (bool) +0:105 Absolute value (float) +0:105 direct index (float) +0:105 'v' (in 3-component vector of float) +0:105 Constant: +0:105 1 (const int) +0:105 Constant: +0:105 0.000100 +0:105 true case +0:106 Branch: Return with expression +0:106 Constant: +0:106 true (const bool) +0:109 Function Definition: v1( (void) +0:109 Function Parameters: +0:113 Function Definition: v2( (void) +0:113 Function Parameters: +0:115 Sequence +0:115 Branch: Return with expression +0:115 Function Call: v1( (void) +0:118 Function Definition: atest( (void) +0:118 Function Parameters: +0:120 Sequence +0:120 Sequence +0:120 move second child to first child (4-component vector of float) +0:120 'v' (4-component vector of float) +0:120 direct index (smooth 4-component vector of float) +0:120 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:120 Constant: +0:120 1 (const int) +0:121 add second child into first child (4-component vector of float) +0:121 'v' (4-component vector of float) +0:121 direct index (smooth 4-component vector of float) +0:121 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:121 Constant: +0:121 3 (const int) +0:139 Function Definition: foo123( (void) +0:139 Function Parameters: +0:141 Sequence +0:141 Sequence +0:141 move second child to first child (2X2 matrix of float) +0:141 'r2' (2X2 matrix of float) +0:141 component-wise multiply (2X2 matrix of float) +0:141 'm22' (2X2 matrix of float) +0:141 'm22' (2X2 matrix of float) +0:142 Sequence +0:142 move second child to first child (3X3 matrix of float) +0:142 'r3' (3X3 matrix of float) +0:142 component-wise multiply (3X3 matrix of float) +0:142 'm33' (3X3 matrix of float) +0:142 'm33' (3X3 matrix of float) +0:143 Sequence +0:143 move second child to first child (4X4 matrix of float) +0:143 'r4' (4X4 matrix of float) +0:143 component-wise multiply (4X4 matrix of float) +0:143 'm44' (4X4 matrix of float) +0:143 'm44' (4X4 matrix of float) +0:145 Sequence +0:145 move second child to first child (2X3 matrix of float) +0:145 'r23' (2X3 matrix of float) +0:145 component-wise multiply (2X3 matrix of float) +0:145 'm23' (2X3 matrix of float) +0:145 'm23' (2X3 matrix of float) +0:146 Sequence +0:146 move second child to first child (2X4 matrix of float) +0:146 'r24' (2X4 matrix of float) +0:146 component-wise multiply (2X4 matrix of float) +0:146 'm24' (2X4 matrix of float) +0:146 'm24' (2X4 matrix of float) +0:147 Sequence +0:147 move second child to first child (3X2 matrix of float) +0:147 'r32' (3X2 matrix of float) +0:147 component-wise multiply (3X2 matrix of float) +0:147 'm32' (3X2 matrix of float) +0:147 'm32' (3X2 matrix of float) +0:148 Sequence +0:148 move second child to first child (3X4 matrix of float) +0:148 'r34' (3X4 matrix of float) +0:148 component-wise multiply (3X4 matrix of float) +0:148 'm34' (3X4 matrix of float) +0:148 'm34' (3X4 matrix of float) +0:149 Sequence +0:149 move second child to first child (4X2 matrix of float) +0:149 'r42' (4X2 matrix of float) +0:149 component-wise multiply (4X2 matrix of float) +0:149 'm42' (4X2 matrix of float) +0:149 'm42' (4X2 matrix of float) +0:150 Sequence +0:150 move second child to first child (4X3 matrix of float) +0:150 'r43' (4X3 matrix of float) +0:150 component-wise multiply (4X3 matrix of float) +0:150 'm43' (4X3 matrix of float) +0:150 'm43' (4X3 matrix of float) +0:? Linker Objects +0:? 'lowp' (float) +0:? 'mediump' (float) +0:? 'highp' (float) +0:? 'precision' (float) +0:? 'i' (smooth in 4-component vector of float) +0:? 'o' (out 4-component vector of float) +0:? 's2D' (uniform sampler2D) +0:? 'centTexCoord' (centroid smooth in 2-component vector of float) +0:? 'm' (uniform 4X2 matrix of float) +0:? 'imageBuffer' (float) +0:? 'uimage2DRect' (float) +0:? 'a' (int) +0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:? 'm22' (2X2 matrix of float) +0:? 'm23' (2X3 matrix of float) +0:? 'm24' (2X4 matrix of float) +0:? 'm32' (3X2 matrix of float) +0:? 'm33' (3X3 matrix of float) +0:? 'm34' (3X4 matrix of float) +0:? 'm42' (4X2 matrix of float) +0:? 'm43' (4X3 matrix of float) +0:? 'm44' (4X4 matrix of float) diff --git a/Test/baseResults/120.vert.out b/Test/baseResults/120.vert.out index 61f152a..301f077 100644 --- a/Test/baseResults/120.vert.out +++ b/Test/baseResults/120.vert.out @@ -45,7 +45,40 @@ ERROR: 0:108: 'overloadE' : no matching overloaded function found ERROR: 0:111: 'overloadE' : no matching overloaded function found ERROR: 0:117: 'overloadF' : no matching overloaded function found ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32) -ERROR: 46 compilation errors. No code generated. +ERROR: 0:157: 'switch' : Reserved word. +ERROR: 0:163: 'default' : Reserved word. +ERROR: 0:157: 'switch statements' : not supported for this version or the enabled extensions +ERROR: 0:168: 'bit shift left' : not supported for this version or the enabled extensions +ERROR: 0:168: 'bit shift right' : not supported for this version or the enabled extensions +ERROR: 0:168: 'bitwise and' : not supported for this version or the enabled extensions +ERROR: 0:168: 'bitwise inclusive or' : not supported for this version or the enabled extensions +ERROR: 0:171: 'modf' : no matching overloaded function found +ERROR: 0:171: '=' : cannot convert from 'const float' to '3-component vector of float' +ERROR: 0:172: 'trunc' : no matching overloaded function found +ERROR: 0:173: 'round' : no matching overloaded function found +ERROR: 0:173: '=' : cannot convert from 'const float' to '2-component vector of float' +ERROR: 0:174: 'roundEven' : no matching overloaded function found +ERROR: 0:174: '=' : cannot convert from 'const float' to '2-component vector of float' +ERROR: 0:175: 'isnan' : no matching overloaded function found +ERROR: 0:175: '=' : cannot convert from 'const float' to '2-component vector of bool' +ERROR: 0:176: 'isinf' : no matching overloaded function found +ERROR: 0:176: '=' : cannot convert from 'const float' to '4-component vector of bool' +ERROR: 0:178: 'sinh' : no matching overloaded function found +ERROR: 0:179: 'cosh' : no matching overloaded function found +ERROR: 0:179: 'tanh' : no matching overloaded function found +ERROR: 0:180: 'c4D' : undeclared identifier +ERROR: 0:180: 'asinh' : no matching overloaded function found +ERROR: 0:180: 'acosh' : no matching overloaded function found +ERROR: 0:181: 'atanh' : no matching overloaded function found +ERROR: 0:183: 'gl_VertexID' : undeclared identifier +ERROR: 0:183: '=' : cannot convert from 'float' to 'int' +ERROR: 0:184: 'gl_ClipDistance' : undeclared identifier +ERROR: 0:184: 'gl_ClipDistance' : left of '[' is not of type array, matrix, or vector +ERROR: 0:184: 'assign' : l-value required (can't modify a const) +ERROR: 0:190: 'token pasting (##)' : not supported for this version or the enabled extensions +ERROR: 0:190: '##' : token pasting not implemented (internal error) +ERROR: 0:190: '' : syntax error +ERROR: 79 compilation errors. No code generated. Shader version: 120 @@ -281,6 +314,66 @@ ERROR: node is still EOpNull! 0:139 Compare Less Than (4-component vector of bool) 0:139 'v4' (4-component vector of float) 0:139 'attv4' (in 4-component vector of float) +0:154 Function Definition: foo213( (void) +0:154 Function Parameters: +0:156 Sequence +0:156 Sequence +0:156 move second child to first child (float) +0:156 'f' (float) +0:156 Constant: +0:156 3.000000 +0:157 switch +0:157 condition +0:157 'c' (uniform int) +0:157 body +0:157 Sequence +0:158 case: with expression +0:158 Constant: +0:158 1 (const int) +0:? Sequence +0:159 move second child to first child (float) +0:159 'f' (float) +0:159 sine (float) +0:159 'f' (float) +0:160 Branch: Break +0:161 case: with expression +0:161 Constant: +0:161 2 (const int) +0:? Sequence +0:162 move second child to first child (float) +0:162 'f' (float) +0:162 component-wise multiply (float) +0:162 'f' (float) +0:162 'f' (float) +0:163 default: +0:? Sequence +0:164 move second child to first child (float) +0:164 'f' (float) +0:164 Constant: +0:164 3.000000 +0:168 inclusive-or (int) +0:168 left-shift (int) +0:168 'i' (int) +0:168 Constant: +0:168 3 (const int) +0:168 Constant: +0:168 69 (const int) +0:172 Sequence +0:172 move second child to first child (float) +0:172 't' (float) +0:172 Constant: +0:172 0.000000 +0:178 Constant: +0:178 0.000000 +0:180 Constant: +0:180 0.000000 +0:181 Constant: +0:181 0.000000 +0:184 move second child to first child (float) +0:184 Constant: +0:184 0.000000 +0:184 Constant: +0:184 0.300000 0:? Linker Objects 0:? 'i' (in 4-component vector of float) 0:? 'o' (smooth out 4-component vector of float) @@ -294,10 +387,331 @@ ERROR: node is still EOpNull! 0:? 0.295520 0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float) 0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float) +0:? 'c' (uniform int) +0:? 'x' (in 2-component vector of int) +0:? 'v2a' (in 2-component vector of float) +0:? 'c1D' (in float) +0:? 'c2D' (in 2-component vector of float) +0:? 'c3D' (in 3-component vector of float) +0:? 'v4' (uniform 4-component vector of float) +0:? 'abc' (int) Linked vertex stage: Shader version: 120 +ERROR: node is still EOpNull! +0:15 Function Definition: main( (void) +0:15 Function Parameters: +0:17 Sequence +0:17 move second child to first child (2-component vector of float) +0:17 'centTexCoord' (invariant smooth out 2-component vector of float) +0:17 'attv2' (in 2-component vector of float) +0:18 move second child to first child (4-component vector of float) +0:18 'gl_Position' (invariant gl_Position 4-component vector of float) +0:18 'attv4' (in 4-component vector of float) +0:20 move second child to first child (4-component vector of float) +0:20 'gl_ClipVertex' (gl_ClipVertex 4-component vector of float) +0:20 'attv4' (in 4-component vector of float) +0:21 move second child to first child (float) +0:21 Constant: +0:21 0.000000 +0:21 Constant: +0:21 0.200000 +0:25 move second child to first child (4-component vector of float) +0:25 'gl_Position' (invariant gl_Position 4-component vector of float) +0:25 direct index (4-component vector of float) +0:25 'b' (12-element array of 4-component vector of float) +0:25 Constant: +0:25 11 (const int) +0:28 Sequence +0:28 move second child to first child (int) +0:28 'a1' (int) +0:28 Constant: +0:28 1 (const int) +0:30 Sequence +0:30 move second child to first child (int) +0:30 'aa' (int) +0:30 Constant: +0:30 7 (const int) +0:31 Sequence +0:31 move second child to first child (int) +0:31 'a2' (int) +0:32 Sequence +0:32 move second child to first child (int) +0:32 'a3' (int) +0:32 Constant: +0:32 12 (const int) +0:43 move second child to first child (float) +0:43 'gl_PointSize' (invariant gl_PointSize float) +0:43 Constant: +0:43 3.800000 +0:61 Function Definition: overloadB(f1;f1; (void) +0:61 Function Parameters: +0:61 '' (in float) +0:61 '' (const (read only) float) +0:78 Function Definition: foo( (void) +0:78 Function Parameters: +0:? Sequence +0:83 Function Call: overloadB(f1;f1; (void) +0:83 'f' (float) +0:83 'f' (float) +0:84 Function Call: overloadB(f1;f1; (void) +0:84 'f' (float) +0:84 Constant: +0:84 2.000000 +0:85 Function Call: overloadB(f1;f1; (void) +0:85 Constant: +0:85 1.000000 +0:85 Convert int to float (float) +0:85 'i' (int) +0:87 Constant: +0:87 0.000000 +0:88 Function Call: overloadC(i1;i1; (2-component vector of float) +0:88 Constant: +0:88 1 (const int) +0:88 'i' (int) +0:89 Function Call: overloadC(vf2;vf2; (2-component vector of float) +0:89 Constant: +0:89 1.000000 +0:89 1.000000 +0:89 Constant: +0:89 2.000000 +0:89 2.000000 +0:90 Constant: +0:90 0.000000 +0:91 Function Call: overloadC(vf2;vf2; (2-component vector of float) +0:91 Constant: +0:91 1.000000 +0:91 1.000000 +0:91 Constant: +0:91 2.000000 +0:91 2.000000 +0:93 Function Call: overloadD(i1;f1; (3-component vector of float) +0:93 'i' (int) +0:93 'f' (float) +0:94 Function Call: overloadD(f1;i1; (3-component vector of float) +0:94 'f' (float) +0:94 'i' (int) +0:95 Function Call: overloadD(f1;i1; (3-component vector of float) +0:95 Convert int to float (float) +0:95 'i' (int) +0:95 'i' (int) +0:98 Constant: +0:98 0.000000 +0:100 Constant: +0:100 0.841471 +0:101 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:101 's2D' (uniform sampler2D) +0:101 Constant: +0:101 0.000000 +0:101 0.000000 +0:102 clamp (4-component vector of float) +0:102 'attv4' (in 4-component vector of float) +0:102 Constant: +0:102 0.000000 +0:102 Constant: +0:102 1.000000 +0:103 clamp (4-component vector of float) +0:103 Convert int to float (4-component vector of float) +0:103 Convert float to int (4-component vector of int) +0:103 'attv4' (in 4-component vector of float) +0:103 Constant: +0:103 0.000000 +0:103 Constant: +0:103 1.000000 +0:106 Constant: +0:106 0.000000 +0:107 Constant: +0:107 0.000000 +0:108 Constant: +0:108 0.000000 +0:109 Function Call: overloadE(vf2; (3-component vector of float) +0:109 Constant: +0:109 3.300000 +0:109 3.300000 +0:110 Function Call: overloadE(mf22; (3-component vector of float) +0:110 Constant: +0:110 0.500000 +0:110 0.000000 +0:110 0.000000 +0:110 0.500000 +0:111 Constant: +0:111 0.000000 +0:112 Function Call: overloadE(vf2; (3-component vector of float) +0:112 Constant: +0:112 1.000000 +0:112 1.000000 +0:115 Function Call: overloadE(f1[2]; (3-component vector of float) +0:115 'b' (2-element array of float) +0:117 Constant: +0:117 0.000000 +0:118 Function Call: overloadF(i1; (3-component vector of float) +0:118 Constant: +0:118 1 (const int) +0:128 Function Definition: foo2( (void) +0:128 Function Parameters: +0:? Sequence +0:135 Comma (void) +0:135 Function Call: outFun(f1;vi2;i1;f1; (void) +0:135 Convert int to float (float) +0:135 'i' (int) +0:135 'tempArg' (2-component vector of int) +0:135 'i' (int) +0:135 'f' (float) +0:135 move second child to first child (2-component vector of float) +0:135 'v2' (2-component vector of float) +0:135 Convert int to float (2-component vector of float) +0:135 'tempArg' (2-component vector of int) +0:136 Comma (int) +0:136 move second child to first child (int) +0:136 'tempReturn' (int) +0:136 Function Call: outFunRet(f1;i1;i1;vi4; (int) +0:136 Convert int to float (float) +0:136 'i' (int) +0:136 'tempArg' (int) +0:136 'i' (int) +0:136 'tempArg' (4-component vector of int) +0:136 move second child to first child (float) +0:136 'f' (float) +0:136 Convert int to float (float) +0:136 'tempArg' (int) +0:136 move second child to first child (4-component vector of float) +0:136 'v4' (4-component vector of float) +0:136 Convert int to float (4-component vector of float) +0:136 'tempArg' (4-component vector of int) +0:136 'tempReturn' (int) +0:137 Sequence +0:137 move second child to first child (float) +0:137 'ret' (float) +0:137 Convert int to float (float) +0:137 Comma (int) +0:137 move second child to first child (int) +0:137 'tempReturn' (int) +0:137 Function Call: outFunRet(f1;i1;i1;vi4; (int) +0:137 Convert int to float (float) +0:137 'i' (int) +0:137 'tempArg' (int) +0:137 'i' (int) +0:137 'tempArg' (4-component vector of int) +0:137 move second child to first child (float) +0:137 'f' (float) +0:137 Convert int to float (float) +0:137 'tempArg' (int) +0:137 move second child to first child (4-component vector of float) +0:137 'v4' (4-component vector of float) +0:137 Convert int to float (4-component vector of float) +0:137 'tempArg' (4-component vector of int) +0:137 'tempReturn' (int) +0:138 Sequence +0:138 move second child to first child (2-component vector of float) +0:138 'ret2' (2-component vector of float) +0:138 Convert int to float (2-component vector of float) +0:138 Comma (2-component vector of int) +0:138 move second child to first child (2-component vector of int) +0:138 'tempReturn' (2-component vector of int) +0:138 Function Call: outFunRet(f1;vi4;i1;vi4; (2-component vector of int) +0:138 Convert int to float (float) +0:138 'i' (int) +0:138 'tempArg' (4-component vector of int) +0:138 'i' (int) +0:138 'tempArg' (4-component vector of int) +0:138 move second child to first child (4-component vector of float) +0:138 'v4' (4-component vector of float) +0:138 Convert int to float (4-component vector of float) +0:138 'tempArg' (4-component vector of int) +0:138 move second child to first child (4-component vector of float) +0:138 'v4' (4-component vector of float) +0:138 Convert int to float (4-component vector of float) +0:138 'tempArg' (4-component vector of int) +0:138 'tempReturn' (2-component vector of int) +0:139 Sequence +0:139 move second child to first child (bool) +0:139 'b' (bool) +0:139 any (bool) +0:139 Compare Less Than (4-component vector of bool) +0:139 'v4' (4-component vector of float) +0:139 'attv4' (in 4-component vector of float) +0:154 Function Definition: foo213( (void) +0:154 Function Parameters: +0:156 Sequence +0:156 Sequence +0:156 move second child to first child (float) +0:156 'f' (float) +0:156 Constant: +0:156 3.000000 +0:157 switch +0:157 condition +0:157 'c' (uniform int) +0:157 body +0:157 Sequence +0:158 case: with expression +0:158 Constant: +0:158 1 (const int) +0:? Sequence +0:159 move second child to first child (float) +0:159 'f' (float) +0:159 sine (float) +0:159 'f' (float) +0:160 Branch: Break +0:161 case: with expression +0:161 Constant: +0:161 2 (const int) +0:? Sequence +0:162 move second child to first child (float) +0:162 'f' (float) +0:162 component-wise multiply (float) +0:162 'f' (float) +0:162 'f' (float) +0:163 default: +0:? Sequence +0:164 move second child to first child (float) +0:164 'f' (float) +0:164 Constant: +0:164 3.000000 +0:168 inclusive-or (int) +0:168 left-shift (int) +0:168 'i' (int) +0:168 Constant: +0:168 3 (const int) +0:168 Constant: +0:168 69 (const int) +0:172 Sequence +0:172 move second child to first child (float) +0:172 't' (float) +0:172 Constant: +0:172 0.000000 +0:178 Constant: +0:178 0.000000 +0:180 Constant: +0:180 0.000000 +0:181 Constant: +0:181 0.000000 +0:184 move second child to first child (float) +0:184 Constant: +0:184 0.000000 +0:184 Constant: +0:184 0.300000 +0:? Linker Objects +0:? 'i' (in 4-component vector of float) +0:? 'o' (smooth out 4-component vector of float) +0:? 'attv2' (in 2-component vector of float) +0:? 'attv4' (in 4-component vector of float) +0:? 's2D' (uniform sampler2D) +0:? 'centTexCoord' (invariant smooth out 2-component vector of float) +0:? 'initted' (uniform float) +0:? 3.400000 +0:? 'concall' (const float) +0:? 0.295520 +0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float) +0:? 'gl_TexCoord' (smooth out 35-element array of 4-component vector of float) +0:? 'c' (uniform int) +0:? 'x' (in 2-component vector of int) +0:? 'v2a' (in 2-component vector of float) +0:? 'c1D' (in float) +0:? 'c2D' (in 2-component vector of float) +0:? 'c3D' (in 3-component vector of float) +0:? 'v4' (uniform 4-component vector of float) +0:? 'abc' (int) diff --git a/Test/baseResults/130.frag.out b/Test/baseResults/130.frag.out index a69b633..9e0139e 100644 --- a/Test/baseResults/130.frag.out +++ b/Test/baseResults/130.frag.out @@ -1,5 +1,4 @@ 130.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. ERROR: 0:25: 'textureGather(...)' : not supported for this version or the enabled extensions ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color ERROR: 0:38: 'gl_Color' : redeclaring non-array as array @@ -363,4 +362,326 @@ Requested GL_ARB_shading_language_420pack Requested GL_ARB_texture_cube_map_array Requested GL_ARB_texture_gather Requested GL_ARB_texture_rectangle +ERROR: node is still EOpNull! +0:16 Function Definition: main( (void) +0:16 Function Parameters: +0:18 Sequence +0:18 Sequence +0:18 move second child to first child (float) +0:18 'clip' (float) +0:18 direct index (smooth float) +0:18 'gl_ClipDistance' (smooth in 4-element array of float) +0:18 Constant: +0:18 3 (const int) +0:23 Function Definition: foo( (void) +0:23 Function Parameters: +0:25 Sequence +0:25 Sequence +0:25 move second child to first child (4-component vector of float) +0:25 's' (4-component vector of float) +0:25 Function Call: textureGather(sC1;vf3; (4-component vector of float) +0:25 'sampC' (uniform samplerCube) +0:25 Constant: +0:25 0.200000 +0:25 0.200000 +0:25 0.200000 +0:30 Function Definition: bar( (void) +0:30 Function Parameters: +0:32 Sequence +0:32 Sequence +0:32 move second child to first child (4-component vector of float) +0:32 's' (4-component vector of float) +0:32 Function Call: textureGather(sC1;vf3; (4-component vector of float) +0:32 'sampC' (uniform samplerCube) +0:32 Constant: +0:32 0.200000 +0:32 0.200000 +0:32 0.200000 +0:43 Function Definition: bar2( (void) +0:43 Function Parameters: +0:45 Sequence +0:45 Sequence +0:45 move second child to first child (4-component vector of float) +0:45 's' (4-component vector of float) +0:45 Function Call: textureGather(sC1;vf3; (4-component vector of float) +0:45 'sampC' (uniform samplerCube) +0:45 Constant: +0:45 0.200000 +0:45 0.200000 +0:45 0.200000 +0:49 move second child to first child (3-component vector of bool) +0:49 'b3' (3-component vector of bool) +0:49 Compare Less Than (3-component vector of bool) +0:49 'uv3' (3-component vector of uint) +0:49 'uv3' (3-component vector of uint) +0:50 move second child to first child (3-component vector of bool) +0:50 'b3' (3-component vector of bool) +0:50 Equal (3-component vector of bool) +0:50 'uv3' (3-component vector of uint) +0:50 'uv3' (3-component vector of uint) +0:56 direct index (int) +0:56 'a1' (1-element array of int) +0:56 Constant: +0:56 0 (const int) +0:57 direct index (int) +0:57 'a2' (1-element array of int) +0:57 Constant: +0:57 0 (const int) +0:60 direct index (int) +0:60 'a3' (4-element array of int) +0:60 Constant: +0:60 3 (const int) +0:61 Compare Not Equal (bool) +0:61 'b3' (3-component vector of bool) +0:61 'b3' (3-component vector of bool) +0:62 Constant: +0:62 false (const bool) +0:63 Constant: +0:63 false (const bool) +0:64 Constant: +0:64 false (const bool) +0:65 Constant: +0:65 true (const bool) +0:66 Constant: +0:66 false (const bool) +0:77 Function Definition: bar23( (void) +0:77 Function Parameters: +0:? Sequence +0:80 's' (4-component vector of float) +0:81 move second child to first child (4-component vector of float) +0:81 's' (4-component vector of float) +0:81 Function Call: textureGatherOffset(sR21;vf2;vi2; (4-component vector of float) +0:81 'samp2DR' (uniform sampler2DRect) +0:81 Constant: +0:81 0.300000 +0:81 0.300000 +0:81 Constant: +0:81 1 (const int) +0:81 1 (const int) +0:82 move second child to first child (4-component vector of float) +0:82 's' (4-component vector of float) +0:82 Function Call: textureGatherOffset(s21;vf2;vi2; (4-component vector of float) +0:82 'samp2D' (uniform sampler2D) +0:82 Constant: +0:82 0.300000 +0:82 0.300000 +0:82 Constant: +0:82 1 (const int) +0:82 1 (const int) +0:83 move second child to first child (4-component vector of float) +0:83 's' (4-component vector of float) +0:83 Function Call: textureGatherOffset(sA21;vf3;vi2; (4-component vector of float) +0:83 'samp2DA' (uniform sampler2DArray) +0:83 Constant: +0:83 0.300000 +0:83 0.300000 +0:83 0.300000 +0:83 Constant: +0:83 1 (const int) +0:83 1 (const int) +0:84 move second child to first child (4-component vector of float) +0:84 's' (4-component vector of float) +0:84 Function Call: textureGatherOffset(sS21;vf2;f1;vi2; (4-component vector of float) +0:84 'samp2DS' (uniform sampler2DShadow) +0:84 Constant: +0:84 0.300000 +0:84 0.300000 +0:84 Constant: +0:84 1.300000 +0:84 Constant: +0:84 1 (const int) +0:84 1 (const int) +0:85 move second child to first child (4-component vector of float) +0:85 's' (4-component vector of float) +0:85 Function Call: textureGatherOffset(s21;vf2;vi2;i1; (4-component vector of float) +0:85 'samp2D' (uniform sampler2D) +0:85 Constant: +0:85 0.300000 +0:85 0.300000 +0:85 Constant: +0:85 1 (const int) +0:85 1 (const int) +0:85 Constant: +0:85 2 (const int) +0:90 Function Definition: bar234( (void) +0:90 Function Parameters: +0:? Sequence +0:93 move second child to first child (4-component vector of float) +0:93 's' (4-component vector of float) +0:93 Function Call: textureGatherOffset(s21;vf2;vi2; (4-component vector of float) +0:93 'samp2D' (uniform sampler2D) +0:93 Constant: +0:93 0.300000 +0:93 0.300000 +0:93 Constant: +0:93 1 (const int) +0:93 1 (const int) +0:94 move second child to first child (4-component vector of float) +0:94 's' (4-component vector of float) +0:94 Function Call: textureGatherOffset(sA21;vf3;vi2; (4-component vector of float) +0:94 'samp2DA' (uniform sampler2DArray) +0:94 Constant: +0:94 0.300000 +0:94 0.300000 +0:94 0.300000 +0:94 Constant: +0:94 1 (const int) +0:94 1 (const int) +0:95 move second child to first child (4-component vector of float) +0:95 's' (4-component vector of float) +0:95 Function Call: textureGatherOffset(sR21;vf2;vi2; (4-component vector of float) +0:95 'samp2DR' (uniform sampler2DRect) +0:95 Constant: +0:95 0.300000 +0:95 0.300000 +0:95 Constant: +0:95 1 (const int) +0:95 1 (const int) +0:96 move second child to first child (4-component vector of float) +0:96 's' (4-component vector of float) +0:96 Function Call: textureGatherOffset(sS21;vf2;f1;vi2; (4-component vector of float) +0:96 'samp2DS' (uniform sampler2DShadow) +0:96 Constant: +0:96 0.300000 +0:96 0.300000 +0:96 Constant: +0:96 1.300000 +0:96 Constant: +0:96 1 (const int) +0:96 1 (const int) +0:97 move second child to first child (4-component vector of float) +0:97 's' (4-component vector of float) +0:97 Function Call: textureGatherOffset(s21;vf2;vi2;i1; (4-component vector of float) +0:97 'samp2D' (uniform sampler2D) +0:97 Constant: +0:97 0.300000 +0:97 0.300000 +0:97 Constant: +0:97 1 (const int) +0:97 1 (const int) +0:97 Constant: +0:97 2 (const int) +0:107 Function Definition: bar235( (void) +0:107 Function Parameters: +0:109 Sequence +0:109 Sequence +0:109 move second child to first child (3-component vector of int) +0:109 'a' (3-component vector of int) +0:109 Function Call: textureSize(sAC1;i1; (3-component vector of int) +0:109 'Sca' (uniform samplerCubeArray) +0:109 Constant: +0:109 3 (const int) +0:110 Sequence +0:110 move second child to first child (4-component vector of float) +0:110 'b' (4-component vector of float) +0:110 Function Call: texture(sAC1;vf4; (4-component vector of float) +0:110 'Sca' (uniform samplerCubeArray) +0:110 'i' (smooth in 4-component vector of float) +0:111 Sequence +0:111 move second child to first child (4-component vector of int) +0:111 'c' (4-component vector of int) +0:111 Function Call: texture(isA31;vf4;f1; (4-component vector of int) +0:111 'Isca' (uniform isampler3DArray) +0:111 'i' (smooth in 4-component vector of float) +0:111 Constant: +0:111 0.700000 +0:112 Sequence +0:112 move second child to first child (4-component vector of uint) +0:112 'd' (4-component vector of uint) +0:112 Function Call: texture(usAC1;vf4; (4-component vector of uint) +0:112 'Usca' (uniform usamplerCubeArray) +0:112 'i' (smooth in 4-component vector of float) +0:114 move second child to first child (4-component vector of float) +0:114 'b' (4-component vector of float) +0:114 Function Call: textureLod(sAC1;vf4;f1; (4-component vector of float) +0:114 'Sca' (uniform samplerCubeArray) +0:114 'i' (smooth in 4-component vector of float) +0:114 Constant: +0:114 1.700000 +0:115 move second child to first child (3-component vector of int) +0:115 'a' (3-component vector of int) +0:115 Function Call: textureSize(sASC1;i1; (3-component vector of int) +0:115 'Scas' (uniform samplerCubeArrayShadow) +0:115 direct index (int) +0:115 'a' (3-component vector of int) +0:115 Constant: +0:115 0 (const int) +0:116 Sequence +0:116 move second child to first child (float) +0:116 'f' (float) +0:116 Function Call: texture(sASC1;vf4;f1; (float) +0:116 'Scas' (uniform samplerCubeArrayShadow) +0:116 'i' (smooth in 4-component vector of float) +0:116 direct index (float) +0:116 'b' (4-component vector of float) +0:116 Constant: +0:116 1 (const int) +0:117 move second child to first child (4-component vector of int) +0:117 'c' (4-component vector of int) +0:117 Function Call: textureGrad(isA31;vf4;vf3;vf3; (4-component vector of int) +0:117 'Isca' (uniform isampler3DArray) +0:117 'i' (smooth in 4-component vector of float) +0:117 Constant: +0:117 0.100000 +0:117 0.100000 +0:117 0.100000 +0:117 Constant: +0:117 0.200000 +0:117 0.200000 +0:117 0.200000 +0:126 Function Definition: bar23444( (void) +0:126 Function Parameters: +0:? Sequence +0:129 Sequence +0:129 move second child to first child (float) +0:129 'a1' (float) +0:129 direct index (float) +0:129 direct index (3-component vector of float) +0:129 'm43' (4X3 matrix of float) +0:129 Constant: +0:129 3 (const int) +0:129 Constant: +0:129 1 (const int) +0:131 Sequence +0:131 move second child to first child (float) +0:131 'b' (const (read only) float) +0:131 component-wise multiply (float) +0:131 Constant: +0:131 2.000000 +0:131 'a1' (float) +0:132 move second child to first child (float) +0:132 direct index (float) +0:132 'a' (3-component vector of float) +0:132 Constant: +0:132 0 (const int) +0:132 add (float) +0:132 'gl_MinProgramTexelOffset' (float) +0:132 'gl_MaxProgramTexelOffset' (float) +0:? Linker Objects +0:? 'a' (3-component vector of float) +0:? 'b' (float) +0:? 'c' (int) +0:? 'i' (smooth in 4-component vector of float) +0:? 'o' (out 4-component vector of float) +0:? 'fflat' (flat in float) +0:? 'fsmooth' (smooth in float) +0:? 'fnop' (noperspective in float) +0:? 'gl_ClipDistance' (smooth in 4-element array of float) +0:? 'sampC' (uniform samplerCube) +0:? 'gl_Color' (smooth in 4-component vector of float) +0:? 'gl_Color' (flat in 4-component vector of float) +0:? 'samp2D' (uniform sampler2D) +0:? 'samp2DS' (uniform sampler2DShadow) +0:? 'samp2DR' (uniform sampler2DRect) +0:? 'samp2DA' (uniform sampler2DArray) +0:? 'Sca' (uniform samplerCubeArray) +0:? 'Isca' (uniform isampler3DArray) +0:? 'Usca' (uniform usamplerCubeArray) +0:? 'Scas' (uniform samplerCubeArrayShadow) +0:? 'ai' (const 3-element array of int) +0:? 10 (const int) +0:? 23 (const int) +0:? 32 (const int) +0:? 'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a}) +0:? 'bounds' (layout(binding=0 ) uniform sampler2D) diff --git a/Test/baseResults/140.frag.out b/Test/baseResults/140.frag.out index cd5f20b..9ce7cac 100644 --- a/Test/baseResults/140.frag.out +++ b/Test/baseResults/140.frag.out @@ -1,5 +1,4 @@ 140.frag -Warning, version 140 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release ERROR: 0:17: '#error' : GL_ES is not set ERROR: 0:20: 'fragment-shader struct input' : not supported for this version or the enabled extensions @@ -84,4 +83,69 @@ Linked fragment stage: Shader version: 140 Requested GL_ARB_separate_shader_objects +ERROR: node is still EOpNull! +0:10 Function Definition: main( (void) +0:10 Function Parameters: +0:12 Sequence +0:12 Sequence +0:12 move second child to first child (float) +0:12 'clip' (float) +0:12 direct index (smooth float) +0:12 'gl_ClipDistance' (smooth in 5-element array of float) +0:12 Constant: +0:12 2 (const int) +0:22 Sequence +0:22 move second child to first child (float) +0:22 'patch' (float) +0:22 Constant: +0:22 3.100000 +0:30 Function Definition: foo( (void) +0:30 Function Parameters: +0:32 Sequence +0:32 Sequence +0:32 move second child to first child (2-component vector of float) +0:32 'r1' (2-component vector of float) +0:32 modf (2-component vector of float) +0:32 vector swizzle (2-component vector of float) +0:32 'v' (smooth in 4-component vector of float) +0:32 Sequence +0:32 Constant: +0:32 0 (const int) +0:32 Constant: +0:32 1 (const int) +0:32 vector swizzle (2-component vector of float) +0:32 'v' (smooth in 4-component vector of float) +0:32 Sequence +0:32 Constant: +0:32 2 (const int) +0:32 Constant: +0:32 3 (const int) +0:33 Sequence +0:33 move second child to first child (2-component vector of float) +0:33 'r2' (2-component vector of float) +0:33 modf (2-component vector of float) +0:33 vector swizzle (2-component vector of float) +0:33 'o' (out 4-component vector of float) +0:33 Sequence +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1 (const int) +0:33 vector swizzle (2-component vector of float) +0:33 'o' (out 4-component vector of float) +0:33 Sequence +0:33 Constant: +0:33 2 (const int) +0:33 Constant: +0:33 3 (const int) +0:? Linker Objects +0:? 'v' (smooth in 4-component vector of float) +0:? 'i' (smooth in 4-component vector of float) +0:? 'o' (out 4-component vector of float) +0:? 'gl_ClipDistance' (smooth in 5-element array of float) +0:? 'gl_ClipDistance' (smooth in 5-element array of float) +0:? 's' (smooth in structure{float f}) +0:? 'patch' (float) +0:? 'vl' (layout(location=3 ) smooth in 4-component vector of float) +0:? 'vl2' (layout(location=4 ) smooth in 4-component vector of float) diff --git a/Test/baseResults/150.frag.out b/Test/baseResults/150.frag.out index be2205e..6795551 100644 --- a/Test/baseResults/150.frag.out +++ b/Test/baseResults/150.frag.out @@ -1,5 +1,5 @@ 150.frag -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:4: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord ERROR: 0:5: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_center_origin to gl_FragCoord @@ -37,4 +37,23 @@ Linked fragment stage: Shader version: 150 gl_FragCoord pixel center is integer gl_FragCoord origin is upper left +ERROR: node is still EOpNull! +0:9 Function Definition: main( (void) +0:9 Function Parameters: +0:11 Sequence +0:11 Sequence +0:11 move second child to first child (4-component vector of float) +0:11 'c' (4-component vector of float) +0:11 'gl_FragCoord' (gl_FragCoord 4-component vector of float) +0:18 Sequence +0:18 move second child to first child (float) +0:18 'patch' (float) +0:18 Constant: +0:18 3.100000 +0:? Linker Objects +0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) +0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) +0:? 'foo' (smooth in 4-component vector of float) +0:? 's' (smooth in structure{float f}) +0:? 'patch' (float) diff --git a/Test/baseResults/150.geom.out b/Test/baseResults/150.geom.out index a4272d2..8646ebf 100644 --- a/Test/baseResults/150.geom.out +++ b/Test/baseResults/150.geom.out @@ -1,5 +1,5 @@ 150.geom -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:15: 'fromVertex' : block instance name redefinition ERROR: 0:19: 'fromVertex' : redefinition ERROR: 0:21: 'fooC' : block instance name redefinition @@ -51,7 +51,7 @@ ERROR: node is still EOpNull! 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 ) 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 '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 (in 3-component vector of float) @@ -64,7 +64,7 @@ ERROR: node is still EOpNull! 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 ) out implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:33 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance}) 0:33 Constant: 0:33 2 (const uint) 0:33 Constant: @@ -81,7 +81,7 @@ 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 ) out implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) 0:34 Constant: 0:34 0 (const uint) 0:34 gl_Position: direct index for structure (in 4-component vector of float) @@ -93,7 +93,7 @@ ERROR: node is still EOpNull! 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 ) out implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) 0:35 Constant: 0:35 1 (const uint) 0:35 gl_PointSize: direct index for structure (in float) @@ -127,7 +127,8 @@ ERROR: node is still EOpNull! 0:? Linker Objects 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:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color}) +0:? 'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance}) 0:? 'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) 0:? 'ov0' (layout(stream=0 ) out 4-component vector of float) 0:? 'ov4' (layout(stream=4 ) out 4-component vector of float) @@ -141,12 +142,12 @@ ERROR: node is still EOpNull! 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 ) out int a}) +0:? 'anon@2' (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}) +0:? 'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15}) +0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) Linked geometry stage: @@ -157,4 +158,113 @@ invocations = 4 max_vertices = 300 input primitive = lines_adjancency output primitive = triangle_strip +ERROR: node is still EOpNull! +0:25 Function Definition: main( (void) +0:25 Function Parameters: +0:27 Sequence +0:27 EmitVertex (void) +0:28 EndPrimitive (void) +0:29 Constant: +0:29 0.000000 +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 ) 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 (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 ) out 4-element 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 4-element 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 (in 1-element array of float) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) +0:33 Constant: +0:33 1 (const int) +0:33 Constant: +0:33 2 (const int) +0:33 Constant: +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 ) out 4-element array of float gl_ClipDistance}) +0:34 Constant: +0:34 0 (const uint) +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 1-element 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 1-element 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 ) out 4-element array of float gl_ClipDistance}) +0:35 Constant: +0:35 1 (const uint) +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 1-element 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 1-element array of float gl_ClipDistance}) +0:35 Constant: +0:35 3 (const int) +0:35 Constant: +0:35 1 (const int) +0:36 move second child to first child (int) +0:36 'gl_PrimitiveID' (layout(stream=0 ) out int) +0:36 'gl_PrimitiveIDIn' (in int) +0:37 move second child to first child (int) +0:37 'gl_Layer' (layout(stream=0 ) out int) +0:37 Constant: +0:37 2 (const int) +0:65 Function Definition: foo(i1; (void) +0:65 Function Parameters: +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 ) 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: +0:67 1.000000 +0:67 1.000000 +0:67 1.000000 +0:67 1.000000 +0:? Linker Objects +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:? '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 4-element array of float gl_ClipDistance}) +0:? 'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 ) uniform int ua}) +0:? 'ov3' (layout(stream=3 ) out 4-component vector of float) +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@2' (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@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15}) +0:? 'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15}) diff --git a/Test/baseResults/150.tesc.out b/Test/baseResults/150.tesc.out index e32b653..6de33cb 100644 --- a/Test/baseResults/150.tesc.out +++ b/Test/baseResults/150.tesc.out @@ -1,5 +1,5 @@ 150.tesc -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. Shader version: 150 Requested GL_ARB_tessellation_shader @@ -104,12 +104,12 @@ vertices = 4 0:33 Constant: 0:33 1.300000 0:? Linker Objects +0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 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{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 150.tese -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:12: 'barrier' : no matching overloaded function found ERROR: 1 compilation errors. No code generated. @@ -192,20 +192,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, out implicitly-sized 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 implicitly-sized 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, out implicitly-sized 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 implicitly-sized 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 (out implicitly-sized array of float) -0:34 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:34 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: @@ -213,9 +213,10 @@ ERROR: node is still EOpNull! 0:34 'cd' (float) 0:? Linker Objects 0:? 'patchIn' (patch in 4-component vector of float) +0:? 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 400.tesc -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) @@ -343,10 +344,10 @@ ERROR: node is still EOpNull! 0:44 Constant: 0:44 1 (const int) 0:? Linker Objects +0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 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{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized 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) @@ -359,7 +360,7 @@ ERROR: node is still EOpNull! 0:? 'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float) 400.tese -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value ERROR: 0:5: 'triangles' : cannot change previously set input primitive ERROR: 0:6: 'isolines' : cannot change previously set input primitive @@ -470,20 +471,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, out implicitly-sized 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 implicitly-sized 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, out implicitly-sized 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 implicitly-sized 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 (out implicitly-sized array of float) -0:44 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:44 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: @@ -492,6 +493,7 @@ ERROR: node is still EOpNull! 0:? Linker Objects 0:? 'patchIn' (patch in 4-component vector of float) 0:? 'patchOut' (patch out 4-component vector of float) +0:? 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:? 'badp1' (smooth patch in 4-component vector of float) 0:? 'badp2' (flat patch in 4-component vector of float) 0:? 'badp3' (noperspective patch in 4-component vector of float) @@ -512,7 +514,7 @@ ERROR: node is still EOpNull! 0:? 'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float) 410.tesc -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:4: 'length' : array must first be sized by a redeclaration or layout qualifier ERROR: 1 compilation errors. No code generated. @@ -523,11 +525,12 @@ ERROR: node is still EOpNull! 0:8 Function Definition: main( (void) 0:8 Function Parameters: 0:? Linker Objects +0:? 'gl_out' (out implicitly-sized array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) 0:? 'outa' (1-element array of int) 0:? 'patchOut' (patch out 4-component vector of float) 420.tesc -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out 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 @@ -610,7 +613,7 @@ ERROR: node is still EOpNull! 0:? 'outf' (out float) 420.tese -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:7: '=' : cannot convert from '3-element array of float' to '2-element array of float' ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): 2-component vector of float ERROR: 0:9: 'initializer list' : wrong number of matrix columns: 3X3 matrix of float @@ -783,6 +786,8 @@ 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{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}" versus "out implicitly-sized array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}" +ERROR: Linking tessellation control stage: Types must match: outa: "4-element array of int" versus "1-element array of int" ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage: main( @@ -823,8 +828,8 @@ vertices = 4 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 (in 4-component vector of float) -0:20 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:20 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:20 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:20 Constant: 0:20 1 (const int) 0:20 Constant: @@ -833,8 +838,8 @@ vertices = 4 0:21 move second child to first child (float) 0:21 'ps' (float) 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 implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:21 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:21 Constant: 0:21 1 (const int) 0:21 Constant: @@ -843,9 +848,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 (in implicitly-sized array of float) -0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:22 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -866,8 +871,8 @@ vertices = 4 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 (out 4-component vector of float) -0:28 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) -0:28 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:28 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:28 Constant: 0:28 1 (const int) 0:28 Constant: @@ -875,8 +880,8 @@ vertices = 4 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 (out float) -0:29 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) -0:29 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:29 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:29 Constant: 0:29 1 (const int) 0:29 Constant: @@ -884,9 +889,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 (out implicitly-sized array of float) -0:30 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) -0:30 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:30 gl_ClipDistance: direct index for structure (out 1-element array of float) +0:30 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:30 Constant: 0:30 1 (const int) 0:30 Constant: @@ -921,8 +926,8 @@ vertices = 4 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 (in 4-component vector of float) -0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:23 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -931,8 +936,8 @@ vertices = 4 0:24 move second child to first child (float) 0:24 'ps' (float) 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 implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -941,9 +946,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 (in implicitly-sized array of float) -0:25 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:25 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:25 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:25 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:25 Constant: 0:25 1 (const int) 0:25 Constant: @@ -964,8 +969,8 @@ vertices = 4 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 (out 4-component vector of float) -0:31 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) -0:31 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:31 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:31 Constant: 0:31 1 (const int) 0:31 Constant: @@ -973,8 +978,8 @@ vertices = 4 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 (out float) -0:32 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) -0:32 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:32 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -982,9 +987,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 (out implicitly-sized array of float) -0:33 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) -0:33 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:33 gl_ClipDistance: direct index for structure (out 1-element array of float) +0:33 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -1010,8 +1015,8 @@ vertices = 4 0:42 Function Parameters: 0:44 Sequence 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 implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:44 direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element 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 1-element array of float gl_ClipDistance}) 0:44 Constant: 0:44 4 (const int) 0:44 Constant: @@ -1025,8 +1030,8 @@ vertices = 4 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 (in 4-component vector of float) -0:17 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:17 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:17 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:17 Constant: 0:17 1 (const int) 0:17 Constant: @@ -1035,8 +1040,8 @@ vertices = 4 0:18 move second child to first child (float) 0:18 'ps' (float) 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 implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:18 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:18 Constant: 0:18 1 (const int) 0:18 Constant: @@ -1045,9 +1050,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 (in implicitly-sized array of float) -0:19 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:19 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:19 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:19 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:19 Constant: 0:19 1 (const int) 0:19 Constant: @@ -1080,9 +1085,9 @@ vertices = 4 0:26 Constant: 0:26 1 (const int) 0:? Linker Objects +0:? 'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance}) 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{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized 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) @@ -1120,8 +1125,8 @@ ERROR: node is still EOpNull! 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 (in 4-component vector of float) -0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:22 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:22 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:22 Constant: 0:22 1 (const int) 0:22 Constant: @@ -1130,8 +1135,8 @@ ERROR: node is still EOpNull! 0:23 move second child to first child (float) 0:23 'ps' (float) 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 implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:23 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:23 Constant: 0:23 1 (const int) 0:23 Constant: @@ -1140,9 +1145,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 (in implicitly-sized array of float) -0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:24 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:24 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:24 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:24 Constant: 0:24 1 (const int) 0:24 Constant: @@ -1177,20 +1182,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, out implicitly-sized 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 1-element 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, out implicitly-sized 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 1-element 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 (out implicitly-sized array of float) -0:34 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (out 3-element array of float) +0:34 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance}) 0:34 Constant: 0:34 2 (const uint) 0:34 Constant: @@ -1210,8 +1215,8 @@ ERROR: node is still EOpNull! 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 (in 4-component vector of float) -0:32 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:32 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:32 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:32 Constant: 0:32 1 (const int) 0:32 Constant: @@ -1220,8 +1225,8 @@ ERROR: node is still EOpNull! 0:33 move second child to first child (float) 0:33 'ps' (float) 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 implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) +0:33 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:33 Constant: 0:33 1 (const int) 0:33 Constant: @@ -1230,9 +1235,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 (in implicitly-sized array of float) -0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) -0:34 'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance}) +0:34 gl_ClipDistance: direct index for structure (in 1-element array of float) +0:34 direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) 0:34 Constant: 0:34 1 (const int) 0:34 Constant: @@ -1267,20 +1272,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, out implicitly-sized 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 1-element 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, out implicitly-sized 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 1-element 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 (out implicitly-sized array of float) -0:44 '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance}) +0:44 gl_ClipDistance: direct index for structure (out 3-element array of float) +0:44 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance}) 0:44 Constant: 0:44 2 (const uint) 0:44 Constant: @@ -1362,12 +1367,13 @@ ERROR: node is still EOpNull! 0:76 true case is null 0:? Linker Objects 0:? 'patchIn' (patch in 4-component vector of float) +0:? 'anon@0' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 3-element array of float gl_ClipDistance}) 0:? 'patchOut' (patch out 4-component vector of float) 0:? 'badp1' (smooth patch in 4-component vector of float) 0:? 'badp2' (flat patch in 4-component vector of float) 0:? 'badp3' (noperspective patch in 4-component vector of float) 0:? 'badp4' (patch sample in 3-component vector of float) -0:? 'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_ClipDistance}) +0:? 'gl_in' (in 32-element array of block{in 1-element 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) @@ -1403,7 +1409,7 @@ ERROR: node is still EOpNull! 0:? 'b3' (2-element array of 4-component vector of float) 0:? 'b4' (2-element array of 4-component vector of float) 0:? 'c3' (4X2 matrix of float) -0:? 'd2' (implicitly-sized array of structure{float s, float t}) +0:? 'd2' (1-element array of structure{float s, float t}) 0:? 'b5' (5-element array of float) 0:? 'constructed' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s}) 0:? 1 (const uint) diff --git a/Test/baseResults/150.vert.out b/Test/baseResults/150.vert.out index 9bd9d70..2db24a7 100644 --- a/Test/baseResults/150.vert.out +++ b/Test/baseResults/150.vert.out @@ -1,5 +1,5 @@ 150.vert -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:22: 'a' : cannot redeclare a user-block member array ERROR: 1 compilation errors. No code generated. @@ -11,20 +11,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, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:11 'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 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, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:12 'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 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 (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 implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:13 'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 0:13 Constant: 0:13 2 (const uint) 0:13 Constant: @@ -35,14 +35,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, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:14 'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 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 ) uniform implicitly-sized array of int a}) +0:? 'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a}) 0:? 'gl_VertexID' (gl_VertexId int) 0:? 'gl_InstanceID' (gl_InstanceId int) @@ -52,4 +52,44 @@ Linked vertex stage: ERROR: Linking vertex stage: Can only use one of gl_ClipDistance or gl_ClipVertex (gl_ClipDistance is preferred) Shader version: 150 +ERROR: node is still EOpNull! +0:9 Function Definition: main( (void) +0:9 Function Parameters: +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, 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 1-element 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, 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 1-element 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 (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 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:13 Constant: +0:13 2 (const uint) +0:13 Constant: +0:13 2 (const int) +0:13 direct index (float) +0:13 'iv4' (in 4-component vector of float) +0:13 Constant: +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, 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 1-element 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 ) uniform 1-element 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 a08ecbd..e0fda14 100644 --- a/Test/baseResults/300.frag.out +++ b/Test/baseResults/300.frag.out @@ -394,4 +394,351 @@ Linked fragment stage: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers Shader version: 300 +ERROR: node is still EOpNull! +0:53 Function Definition: main( (void) +0:53 Function Parameters: +0:? Sequence +0:57 move second child to first child (lowp 4-component vector of float) +0:57 'v' (lowp 4-component vector of float) +0:57 Function Call: texture(s21;vf2; (lowp 4-component vector of float) +0:57 's2D' (uniform lowp sampler2D) +0:57 'c2D' (smooth in lowp 2-component vector of float) +0:58 move second child to first child (lowp 4-component vector of float) +0:58 'v' (lowp 4-component vector of float) +0:58 Function Call: textureProj(s31;vf4; (lowp 4-component vector of float) +0:58 's3D' (uniform lowp sampler3D) +0:58 'c4D' (smooth lowp 4-component vector of float) +0:59 move second child to first child (lowp 4-component vector of float) +0:59 'v' (lowp 4-component vector of float) +0:59 Function Call: textureLod(sA21;vf3;f1; (lowp 4-component vector of float) +0:59 's2DArray' (uniform lowp sampler2DArray) +0:59 'c3D' (smooth in lowp 3-component vector of float) +0:59 Constant: +0:59 1.200000 +0:60 move second child to first child (lowp float) +0:60 'f' (lowp float) +0:60 Function Call: textureOffset(sS21;vf3;vi2;f1; (lowp float) +0:60 's2DShadow' (uniform lowp sampler2DShadow) +0:60 'c3D' (smooth in lowp 3-component vector of float) +0:60 'ic2D' (flat in mediump 2-component vector of int) +0:60 'c1D' (smooth in lowp float) +0:61 move second child to first child (lowp 4-component vector of float) +0:61 'v' (lowp 4-component vector of float) +0:61 Function Call: texelFetch(s31;vi3;i1; (lowp 4-component vector of float) +0:61 's3D' (uniform lowp sampler3D) +0:61 'ic3D' (flat in mediump 3-component vector of int) +0:61 'ic1D' (flat in mediump int) +0:62 move second child to first child (lowp 4-component vector of float) +0:62 'v' (lowp 4-component vector of float) +0:62 Function Call: texelFetchOffset(s21;vi2;i1;vi2; (lowp 4-component vector of float) +0:62 direct index (lowp sampler2D) +0:62 'arrayedSampler' (uniform 5-element array of lowp sampler2D) +0:62 Constant: +0:62 2 (const int) +0:62 'ic2D' (flat in mediump 2-component vector of int) +0:62 Constant: +0:62 4 (const int) +0:62 'ic2D' (flat in mediump 2-component vector of int) +0:63 move second child to first child (lowp float) +0:63 'f' (lowp float) +0:63 Function Call: textureLodOffset(sS21;vf3;f1;vi2; (lowp float) +0:63 's2DShadow' (uniform lowp sampler2DShadow) +0:63 'c3D' (smooth in lowp 3-component vector of float) +0:63 'c1D' (smooth in lowp float) +0:63 'ic2D' (flat in mediump 2-component vector of int) +0:64 move second child to first child (lowp 4-component vector of float) +0:64 'v' (lowp 4-component vector of float) +0:64 Function Call: textureProjLodOffset(s21;vf3;f1;vi2; (lowp 4-component vector of float) +0:64 's2D' (uniform lowp sampler2D) +0:64 'c3D' (smooth in lowp 3-component vector of float) +0:64 'c1D' (smooth in lowp float) +0:64 'ic2D' (flat in mediump 2-component vector of int) +0:65 move second child to first child (lowp 4-component vector of float) +0:65 'v' (lowp 4-component vector of float) +0:65 Function Call: textureGrad(sC1;vf3;vf3;vf3; (lowp 4-component vector of float) +0:65 'sCube' (uniform lowp samplerCube) +0:65 'c3D' (smooth in lowp 3-component vector of float) +0:65 'c3D' (smooth in lowp 3-component vector of float) +0:65 'c3D' (smooth in lowp 3-component vector of float) +0:66 move second child to first child (lowp float) +0:66 'f' (lowp float) +0:66 Function Call: textureGradOffset(sAS21;vf4;vf2;vf2;vi2; (lowp float) +0:66 's2DArrayShadow' (uniform lowp sampler2DArrayShadow) +0:66 'c4D' (smooth lowp 4-component vector of float) +0:66 'c2D' (smooth in lowp 2-component vector of float) +0:66 'c2D' (smooth in lowp 2-component vector of float) +0:66 'ic2D' (flat in mediump 2-component vector of int) +0:67 move second child to first child (lowp 4-component vector of float) +0:67 'v' (lowp 4-component vector of float) +0:67 Function Call: textureProjGrad(s31;vf4;vf3;vf3; (lowp 4-component vector of float) +0:67 's3D' (uniform lowp sampler3D) +0:67 'c4D' (smooth lowp 4-component vector of float) +0:67 'c3D' (smooth in lowp 3-component vector of float) +0:67 'c3D' (smooth in lowp 3-component vector of float) +0:68 move second child to first child (lowp 4-component vector of float) +0:68 'v' (lowp 4-component vector of float) +0:68 Function Call: textureProjGradOffset(s21;vf3;vf2;vf2;vi2; (lowp 4-component vector of float) +0:68 's2D' (uniform lowp sampler2D) +0:68 'c3D' (smooth in lowp 3-component vector of float) +0:68 'c2D' (smooth in lowp 2-component vector of float) +0:68 'c2D' (smooth in lowp 2-component vector of float) +0:68 'ic2D' (flat in mediump 2-component vector of int) +0:69 move second child to first child (lowp 4-component vector of float) +0:69 'v' (lowp 4-component vector of float) +0:69 Function Call: texture(s21;vf2; (lowp 4-component vector of float) +0:69 indirect index (lowp sampler2D) +0:69 'arrayedSampler' (uniform 5-element array of lowp sampler2D) +0:69 'ic1D' (flat in mediump int) +0:69 'c2D' (smooth in lowp 2-component vector of float) +0:72 move second child to first child (mediump 4-component vector of int) +0:72 'iv' (mediump 4-component vector of int) +0:72 Function Call: texture(is21;vf2; (mediump 4-component vector of int) +0:72 'is2D' (uniform lowp isampler2D) +0:72 'c2D' (smooth in lowp 2-component vector of float) +0:73 move second child to first child (mediump 4-component vector of int) +0:73 'iv' (mediump 4-component vector of int) +0:73 Function Call: textureProjOffset(is21;vf4;vi2; (mediump 4-component vector of int) +0:73 'is2D' (uniform lowp isampler2D) +0:73 'c4D' (smooth lowp 4-component vector of float) +0:73 'ic2D' (flat in mediump 2-component vector of int) +0:74 move second child to first child (mediump 4-component vector of int) +0:74 'iv' (mediump 4-component vector of int) +0:74 Function Call: textureProjLod(is21;vf3;f1; (mediump 4-component vector of int) +0:74 'is2D' (uniform lowp isampler2D) +0:74 'c3D' (smooth in lowp 3-component vector of float) +0:74 'c1D' (smooth in lowp float) +0:75 move second child to first child (mediump 4-component vector of int) +0:75 'iv' (mediump 4-component vector of int) +0:75 Function Call: textureProjGrad(is21;vf3;vf2;vf2; (mediump 4-component vector of int) +0:75 'is2D' (uniform lowp isampler2D) +0:75 'c3D' (smooth in lowp 3-component vector of float) +0:75 'c2D' (smooth in lowp 2-component vector of float) +0:75 'c2D' (smooth in lowp 2-component vector of float) +0:76 move second child to first child (mediump 4-component vector of int) +0:76 'iv' (mediump 4-component vector of int) +0:76 Function Call: texture(is31;vf3;f1; (mediump 4-component vector of int) +0:76 'is3D' (uniform lowp isampler3D) +0:76 'c3D' (smooth in lowp 3-component vector of float) +0:76 Constant: +0:76 4.200000 +0:77 move second child to first child (mediump 4-component vector of int) +0:77 'iv' (mediump 4-component vector of int) +0:77 Function Call: textureLod(isC1;vf3;f1; (mediump 4-component vector of int) +0:77 'isCube' (uniform lowp isamplerCube) +0:77 'c3D' (smooth in lowp 3-component vector of float) +0:77 'c1D' (smooth in lowp float) +0:78 move second child to first child (mediump 4-component vector of int) +0:78 'iv' (mediump 4-component vector of int) +0:78 Function Call: texelFetch(isA21;vi3;i1; (mediump 4-component vector of int) +0:78 'is2DArray' (uniform lowp isampler2DArray) +0:78 'ic3D' (flat in mediump 3-component vector of int) +0:78 'ic1D' (flat in mediump int) +0:80 move second child to first child (highp 2-component vector of int) +0:80 vector swizzle (mediump 2-component vector of int) +0:80 'iv' (mediump 4-component vector of int) +0:80 Sequence +0:80 Constant: +0:80 0 (const int) +0:80 Constant: +0:80 1 (const int) +0:80 Function Call: textureSize(sSC1;i1; (highp 2-component vector of int) +0:80 'sCubeShadow' (uniform lowp samplerCubeShadow) +0:80 Constant: +0:80 2 (const int) +0:88 add second child into first child (highp float) +0:88 'f' (lowp float) +0:88 direct index (highp float) +0:88 'gl_FragCoord' (gl_FragCoord highp 4-component vector of float) +0:88 Constant: +0:88 1 (const int) +0:89 move second child to first child (highp float) +0:89 'gl_FragDepth' (gl_FragDepth highp float) +0:89 'f' (lowp float) +0:91 move second child to first child (lowp 3-component vector of float) +0:91 'sc' (out lowp 3-component vector of float) +0:91 c: direct index for structure (lowp 3-component vector of float) +0:91 's2' (smooth in structure{lowp 3-component vector of float c, lowp float f}) +0:91 Constant: +0:91 0 (const int) +0:92 move second child to first child (lowp float) +0:92 'sf' (out lowp float) +0:92 f: direct index for structure (lowp float) +0:92 's2' (smooth in structure{lowp 3-component vector of float c, lowp float f}) +0:92 Constant: +0:92 1 (const int) +0:94 add (lowp 2-component vector of float) +0:94 hyp. sine (lowp float) +0:94 'c1D' (smooth in lowp float) +0:95 vector-scale (lowp 2-component vector of float) +0:95 hyp. cosine (lowp float) +0:95 'c1D' (smooth in lowp float) +0:95 hyp. tangent (lowp 2-component vector of float) +0:95 'c2D' (smooth in lowp 2-component vector of float) +0:96 add (lowp 4-component vector of float) +0:96 arc hyp. sine (lowp 4-component vector of float) +0:96 'c4D' (smooth lowp 4-component vector of float) +0:96 arc hyp. cosine (lowp 4-component vector of float) +0:96 'c4D' (smooth lowp 4-component vector of float) +0:97 arc hyp. tangent (lowp 3-component vector of float) +0:97 'c3D' (smooth in lowp 3-component vector of float) +0:108 Function Definition: foo( (void) +0:108 Function Parameters: +0:110 Sequence +0:110 move second child to first child (lowp 4-component vector of float) +0:110 direct index (lowp 4-component vector of float) +0:110 'colors' (out 4-element array of lowp 4-component vector of float) +0:110 Constant: +0:110 2 (const int) +0:110 'c4D' (smooth lowp 4-component vector of float) +0:111 move second child to first child (lowp 4-component vector of float) +0:111 indirect index (lowp 4-component vector of float) +0:111 'colors' (out 4-element array of lowp 4-component vector of float) +0:111 'ic1D' (flat in mediump int) +0:111 'c4D' (smooth lowp 4-component vector of float) +0:117 Function Definition: foo13(struct-s-i1-s211; (void) +0:117 Function Parameters: +0:117 'inSt2' (in structure{mediump int i, lowp sampler2D s}) +0:119 Sequence +0:119 Test condition and select (void) +0:119 Condition +0:119 Compare Equal (bool) +0:119 'st1' (uniform structure{mediump int i, lowp sampler2D s}) +0:119 'st2' (uniform structure{mediump int i, lowp sampler2D s}) +0:119 true case is null +0:120 Test condition and select (void) +0:120 Condition +0:120 Compare Not Equal (bool) +0:120 'st1' (uniform structure{mediump int i, lowp sampler2D s}) +0:120 'st2' (uniform structure{mediump int i, lowp sampler2D s}) +0:120 true case is null +0:121 Constant: +0:121 false (const bool) +0:122 move second child to first child (structure{mediump int i, lowp sampler2D s}) +0:122 'inSt2' (in structure{mediump int i, lowp sampler2D s}) +0:122 'st1' (uniform structure{mediump int i, lowp sampler2D s}) +0:123 Compare Equal (bool) +0:123 'inSt2' (in structure{mediump int i, lowp sampler2D s}) +0:123 'st1' (uniform structure{mediump int i, lowp sampler2D s}) +0:126 Function Definition: foo23( (void) +0:126 Function Parameters: +0:128 Sequence +0:128 Function Call: textureOffset(sS21;vf3;vi2;f1; (lowp float) +0:128 's2DShadow' (uniform lowp sampler2DShadow) +0:128 'c3D' (smooth in lowp 3-component vector of float) +0:128 Constant: +0:128 -8 (const int) +0:128 7 (const int) +0:128 'c1D' (smooth in lowp float) +0:129 Function Call: textureOffset(sS21;vf3;vi2;f1; (lowp float) +0:129 's2DShadow' (uniform lowp sampler2DShadow) +0:129 'c3D' (smooth in lowp 3-component vector of float) +0:129 Constant: +0:129 -9 (const int) +0:129 8 (const int) +0:129 'c1D' (smooth in lowp float) +0:132 Function Definition: foo324( (void) +0:132 Function Parameters: +0:134 Sequence +0:134 Sequence +0:134 move second child to first child (lowp float) +0:134 'p' (lowp float) +0:134 Constant: +0:134 210.712306 +0:135 add second child into first child (lowp float) +0:135 'p' (lowp float) +0:135 Constant: +0:135 0.389418 +0:136 add second child into first child (lowp float) +0:136 'p' (lowp float) +0:136 Constant: +0:136 5.000000 +0:137 add second child into first child (lowp float) +0:137 'p' (lowp float) +0:137 Constant: +0:137 13.000000 +0:138 Sequence +0:138 move second child to first child (lowp 3-component vector of float) +0:138 'c3' (lowp 3-component vector of float) +0:138 Constant: +0:138 -15.000000 +0:138 -2.000000 +0:138 39.000000 +0:139 add second child into first child (lowp 3-component vector of float) +0:139 'c3' (lowp 3-component vector of float) +0:139 Constant: +0:139 -1.000000 +0:139 -2.000000 +0:139 -3.000000 +0:140 add second child into first child (lowp 3-component vector of float) +0:140 'c3' (lowp 3-component vector of float) +0:140 Constant: +0:140 1.000000 +0:140 2.000000 +0:140 3.000000 +0:141 Sequence +0:141 move second child to first child (lowp 2-component vector of float) +0:141 'c2' (lowp 2-component vector of float) +0:141 Constant: +0:141 1.000000 +0:141 -3.000000 +0:142 add second child into first child (lowp 2-component vector of float) +0:142 'c2' (lowp 2-component vector of float) +0:142 Constant: +0:142 1.000000 +0:142 -3.000000 +0:143 add second child into first child (lowp 2-component vector of float) +0:143 'c2' (lowp 2-component vector of float) +0:143 Constant: +0:143 3.000000 +0:143 -8.544004 +0:144 add second child into first child (lowp 2-component vector of float) +0:144 'c2' (lowp 2-component vector of float) +0:144 Constant: +0:144 0.000000 +0:144 0.000000 +0:145 Sequence +0:145 move second child to first child (lowp 3X2 matrix of float) +0:145 'm32' (lowp 3X2 matrix of float) +0:145 Constant: +0:145 10.000000 +0:145 15.000000 +0:145 14.000000 +0:145 21.000000 +0:145 22.000000 +0:145 33.000000 +0:? Linker Objects +0:? 's2D' (uniform lowp sampler2D) +0:? 's3D' (uniform lowp sampler3D) +0:? 'sCube' (uniform lowp samplerCube) +0:? 'sCubeShadow' (uniform lowp samplerCubeShadow) +0:? 's2DShadow' (uniform lowp sampler2DShadow) +0:? 's2DArray' (uniform lowp sampler2DArray) +0:? 's2DArrayShadow' (uniform lowp sampler2DArrayShadow) +0:? 'is2D' (uniform lowp isampler2D) +0:? 'is3D' (uniform lowp isampler3D) +0:? 'isCube' (uniform lowp isamplerCube) +0:? 'is2DArray' (uniform lowp isampler2DArray) +0:? 'us2D' (uniform lowp usampler2D) +0:? 'us3D' (uniform lowp usampler3D) +0:? 'usCube' (uniform lowp usamplerCube) +0:? 'us2DArray' (uniform lowp usampler2DArray) +0:? 'c1D' (smooth in lowp float) +0:? 'c2D' (smooth in lowp 2-component vector of float) +0:? 'c3D' (smooth in lowp 3-component vector of float) +0:? 'c4D' (smooth lowp 4-component vector of float) +0:? 'ic1D' (flat in mediump int) +0:? 'ic2D' (flat in mediump 2-component vector of int) +0:? 'ic3D' (flat in mediump 3-component vector of int) +0:? 'ic4D' (flat in mediump 4-component vector of int) +0:? 'badv' (noperspective in lowp 4-component vector of float) +0:? 'bads' (smooth in lowp sampler2D) +0:? 'badout' (smooth in structure{mediump int i, lowp sampler2D s}) +0:? 's2' (smooth in structure{lowp 3-component vector of float c, lowp float f}) +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 ) 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 45f2d4a..d9d8c2f 100644 --- a/Test/baseResults/300.vert.out +++ b/Test/baseResults/300.vert.out @@ -283,7 +283,7 @@ ERROR: node is still EOpNull! 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 ) uniform highp float f}) -0:? '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23}) +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) @@ -300,4 +300,256 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:27 Function Definition: main( (void) +0:27 Function Parameters: +0:29 Sequence +0:29 Sequence +0:29 move second child to first child (highp int) +0:29 'id' (highp int) +0:29 add (highp int) +0:29 'gl_VertexID' (gl_VertexId highp int) +0:29 'gl_InstanceID' (gl_InstanceId highp int) +0:31 Sequence +0:31 move second child to first child (highp int) +0:31 'c0' (highp int) +0:31 Constant: +0:31 64 (const int) +0:32 Sequence +0:32 move second child to first child (highp int) +0:32 'c1' (highp int) +0:32 Constant: +0:32 128 (const int) +0:33 Sequence +0:33 move second child to first child (highp int) +0:33 'c2' (highp int) +0:33 Constant: +0:33 16 (const int) +0:34 Sequence +0:34 move second child to first child (highp int) +0:34 'c3' (highp int) +0:34 Constant: +0:34 15 (const int) +0:35 Sequence +0:35 move second child to first child (highp int) +0:35 'c4' (highp int) +0:35 Constant: +0:35 32 (const int) +0:36 Sequence +0:36 move second child to first child (highp int) +0:36 'c5' (highp int) +0:36 Constant: +0:36 80 (const int) +0:37 Sequence +0:37 move second child to first child (highp int) +0:37 'c6' (highp int) +0:37 Constant: +0:37 32 (const int) +0:38 Sequence +0:38 move second child to first child (highp int) +0:38 'c7' (highp int) +0:38 Constant: +0:38 16 (const int) +0:39 Sequence +0:39 move second child to first child (highp int) +0:39 'c8' (highp int) +0:39 Constant: +0:39 32 (const int) +0:40 Sequence +0:40 move second child to first child (highp int) +0:40 'c9' (highp int) +0:40 Constant: +0:40 -8 (const int) +0:41 Sequence +0:41 move second child to first child (highp int) +0:41 'c10' (highp int) +0:41 Constant: +0:41 7 (const int) +0:43 Sequence +0:43 move second child to first child (highp 3X4 matrix of float) +0:43 'tm' (highp 3X4 matrix of float) +0:43 transpose (highp 3X4 matrix of float) +0:43 'm43' (uniform highp 4X3 matrix of float) +0:44 Sequence +0:44 move second child to first child (highp float) +0:44 'dm' (highp float) +0:44 determinant (highp float) +0:44 'm44' (uniform highp 4X4 matrix of float) +0:45 Sequence +0:45 move second child to first child (highp 3X3 matrix of float) +0:45 'im' (highp 3X3 matrix of float) +0:45 inverse (highp 3X3 matrix of float) +0:45 'm33' (uniform highp 3X3 matrix of float) +0:47 Sequence +0:47 move second child to first child (highp 3X2 matrix of float) +0:47 'op' (highp 3X2 matrix of float) +0:47 outer product (highp 3X2 matrix of float) +0:47 'v2' (smooth out highp 2-component vector of float) +0:47 'v3' (in highp 3-component vector of float) +0:49 move second child to first child (highp 4-component vector of float) +0:49 'gl_Position' (gl_Position highp 4-component vector of float) +0:49 direct index (highp 4-component vector of float) +0:49 'm44' (uniform highp 4X4 matrix of float) +0:49 Constant: +0:49 2 (const int) +0:50 move second child to first child (highp float) +0:50 'gl_PointSize' (gl_PointSize highp float) +0:50 direct index (highp float) +0:50 'v2' (smooth out highp 2-component vector of float) +0:50 Constant: +0:50 1 (const int) +0:52 move second child to first child (highp 3-component vector of float) +0:52 c: direct index for structure (highp 3-component vector of float) +0:52 's' (smooth out structure{highp 3-component vector of float c, highp float f}) +0:52 Constant: +0:52 0 (const int) +0:52 'v3' (in highp 3-component vector of float) +0:53 move second child to first child (highp float) +0:53 f: direct index for structure (highp float) +0:53 's' (smooth out structure{highp 3-component vector of float c, highp float f}) +0:53 Constant: +0:53 1 (const int) +0:53 'dm' (highp float) +0:68 Sequence +0:68 move second child to first child (2-element array of highp float) +0:68 'okayA' (2-element array of highp float) +0:68 Constant: +0:68 3.000000 +0:68 4.000000 +0:71 Function Definition: newVFun( (void) +0:71 Function Parameters: +0:73 Sequence +0:73 move second child to first child (highp 3-component vector of float) +0:73 'newV' (smooth out highp 3-component vector of float) +0:73 'v3' (in highp 3-component vector of float) +0:118 Function Definition: foo23( (void) +0:118 Function Parameters: +0:120 Sequence +0:120 Sequence +0:120 move second child to first child (highp 2-component vector of int) +0:120 'x1' (highp 2-component vector of int) +0:120 Function Call: textureSize(s21;i1; (highp 2-component vector of int) +0:120 's2D' (uniform lowp sampler2D) +0:120 Constant: +0:120 2 (const int) +0:121 Constant: +0:121 0.000000 +0:122 Sequence +0:122 move second child to first child (highp 3-component vector of int) +0:122 'x3' (highp 3-component vector of int) +0:122 Function Call: textureSize(sAS21;i1; (highp 3-component vector of int) +0:122 's2DAS' (uniform lowp sampler2DArrayShadow) +0:122 Constant: +0:122 -1 (const int) +0:123 Constant: +0:123 0.000000 +0:124 Sequence +0:124 move second child to first child (highp 4-component vector of float) +0:124 'x4' (highp 4-component vector of float) +0:124 Function Call: texture(s21;vf2; (highp 4-component vector of float) +0:124 's2D' (uniform lowp sampler2D) +0:124 'c2D' (in highp 2-component vector of float) +0:125 Constant: +0:125 0.000000 +0:126 Sequence +0:126 move second child to first child (highp 4-component vector of float) +0:126 'x5' (highp 4-component vector of float) +0:126 Function Call: textureProjOffset(s31;vf4;vi3; (highp 4-component vector of float) +0:126 's3D' (uniform lowp sampler3D) +0:126 Constant: +0:126 0.200000 +0:126 0.200000 +0:126 0.200000 +0:126 0.200000 +0:126 Constant: +0:126 1 (const int) +0:126 1 (const int) +0:126 1 (const int) +0:127 Constant: +0:127 0.000000 +0:128 Sequence +0:128 move second child to first child (highp float) +0:128 'x6' (highp float) +0:128 Function Call: textureProjGradOffset(sS21;vf4;vf2;vf2;vi2; (highp float) +0:128 's2DS' (uniform lowp sampler2DShadow) +0:128 'invIn' (invariant in highp 4-component vector of float) +0:128 Constant: +0:128 4.200000 +0:128 4.200000 +0:128 Constant: +0:128 5.300000 +0:128 5.300000 +0:128 Constant: +0:128 1 (const int) +0:128 1 (const int) +0:137 Function Definition: foo2349( (void) +0:137 Function Parameters: +0:139 Sequence +0:139 Sequence +0:139 move second child to first child (3-element array of highp float) +0:139 'x' (3-element array of highp float) +0:139 Constant: +0:139 1.000000 +0:139 2.000000 +0:139 3.000000 +0:140 Sequence +0:140 move second child to first child (3-element array of highp float) +0:140 'y' (3-element array of highp float) +0:140 'x' (3-element array of highp float) +0:141 Sequence +0:141 move second child to first child (3-element array of highp float) +0:141 'z' (3-element array of highp float) +0:141 'x' (3-element array of highp float) +0:143 move second child to first child (3-element array of highp float) +0:143 'w' (3-element array of highp float) +0:143 'y' (3-element array of highp float) +0:155 Function Definition: gggf(f1; (highp int) +0:155 Function Parameters: +0:155 'f' (in highp float) +0:155 Sequence +0:155 Branch: Return with expression +0:155 Constant: +0:155 2 (const int) +0:158 Function Definition: agggf(f1; (highp int) +0:158 Function Parameters: +0:158 'f' (in highp float) +0:158 Sequence +0:158 Branch: Return with expression +0:158 Constant: +0:158 2 (const int) +0:? Linker Objects +0:? 'm43' (uniform highp 4X3 matrix of float) +0:? 'm33' (uniform highp 3X3 matrix of float) +0:? 'm44' (uniform highp 4X4 matrix of float) +0:? 'v3' (in highp 3-component vector of float) +0:? 'v2' (smooth out highp 2-component vector of float) +0:? 'bad' (in 10-element array of highp 4-component vector of float) +0:? 'badorder' (in highp 4-component vector of float) +0:? 'badorder2' (invariant smooth out highp 4-component vector of float) +0:? 'badorder4' (centroid in highp 4-component vector of float) +0:? 'badorder3' (flat out highp 4-component vector of float) +0:? 'rep' (smooth flat out highp 4-component vector of float) +0:? 'rep2' (centroid smooth sample out highp 4-component vector of float) +0:? 'rep3' (in highp 4-component vector of float) +0:? 's' (smooth out structure{highp 3-component vector of float c, highp float f}) +0:? 'badsize' (1-element array of highp float) +0:? 'badsize2' (1-element array of highp float) +0:? 'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element 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 ) 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) +0:? 's2DAS' (uniform lowp sampler2DArrayShadow) +0:? 'c2D' (in highp 2-component vector of float) +0:? 'ssss' (smooth out structure{highp float f}) +0:? 'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a}) +0:? 'Bfoo' (highp int) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/300BuiltIns.frag.out b/Test/baseResults/300BuiltIns.frag.out index ab66467..a165c6a 100644 --- a/Test/baseResults/300BuiltIns.frag.out +++ b/Test/baseResults/300BuiltIns.frag.out @@ -212,4 +212,205 @@ Linked fragment stage: Shader version: 300 +ERROR: node is still EOpNull! +0:26 Function Definition: main( (void) +0:26 Function Parameters: +0:29 Sequence +0:29 Sequence +0:29 move second child to first child (mediump 3-component vector of float) +0:29 'v' (mediump 3-component vector of float) +0:29 mix (mediump 3-component vector of float) +0:29 'x' (mediump 3-component vector of float) +0:29 'y' (mediump 3-component vector of float) +0:29 'bv' (3-component vector of bool) +0:30 Sequence +0:30 move second child to first child (mediump 4-component vector of int) +0:30 'iv10' (mediump 4-component vector of int) +0:30 Absolute value (mediump 4-component vector of int) +0:30 'iv4a' (mediump 4-component vector of int) +0:31 Sequence +0:31 move second child to first child (mediump 4-component vector of int) +0:31 'iv11' (mediump 4-component vector of int) +0:31 Sign (mediump 4-component vector of int) +0:31 'iv4a' (mediump 4-component vector of int) +0:32 Sequence +0:32 move second child to first child (mediump 4-component vector of int) +0:32 'iv12' (mediump 4-component vector of int) +0:32 min (mediump 4-component vector of int) +0:32 'iv4a' (mediump 4-component vector of int) +0:32 'iv4b' (mediump 4-component vector of int) +0:33 Sequence +0:33 move second child to first child (mediump 4-component vector of int) +0:33 'iv13' (mediump 4-component vector of int) +0:33 min (mediump 4-component vector of int) +0:33 'iv4a' (mediump 4-component vector of int) +0:33 'imin' (mediump int) +0:34 Sequence +0:34 move second child to first child (mediump 2-component vector of uint) +0:34 'u' (mediump 2-component vector of uint) +0:34 min (mediump 2-component vector of uint) +0:34 'uv2x' (mediump 2-component vector of uint) +0:34 'uv2y' (mediump 2-component vector of uint) +0:35 Sequence +0:35 move second child to first child (mediump 4-component vector of uint) +0:35 'uv' (mediump 4-component vector of uint) +0:35 min (mediump 4-component vector of uint) +0:35 'uv4y' (mediump 4-component vector of uint) +0:35 'uy' (mediump uint) +0:36 Sequence +0:36 move second child to first child (mediump 3-component vector of int) +0:36 'iv14' (mediump 3-component vector of int) +0:36 max (mediump 3-component vector of int) +0:36 'iv3a' (mediump 3-component vector of int) +0:36 'iv3b' (mediump 3-component vector of int) +0:37 Sequence +0:37 move second child to first child (mediump 4-component vector of int) +0:37 'iv15' (mediump 4-component vector of int) +0:37 max (mediump 4-component vector of int) +0:37 'iv4a' (mediump 4-component vector of int) +0:37 'imax' (mediump int) +0:38 Sequence +0:38 move second child to first child (mediump 2-component vector of uint) +0:38 'u10' (mediump 2-component vector of uint) +0:38 max (mediump 2-component vector of uint) +0:38 'uv2x' (mediump 2-component vector of uint) +0:38 'uv2y' (mediump 2-component vector of uint) +0:39 Sequence +0:39 move second child to first child (mediump 2-component vector of uint) +0:39 'u11' (mediump 2-component vector of uint) +0:39 max (mediump 2-component vector of uint) +0:39 'uv2x' (mediump 2-component vector of uint) +0:39 'uy' (mediump uint) +0:40 Sequence +0:40 move second child to first child (mediump 4-component vector of int) +0:40 'iv16' (mediump 4-component vector of int) +0:40 clamp (mediump 4-component vector of int) +0:40 'iv4a' (mediump 4-component vector of int) +0:40 'iv4a' (mediump 4-component vector of int) +0:40 'iv4b' (mediump 4-component vector of int) +0:41 Sequence +0:41 move second child to first child (mediump 4-component vector of int) +0:41 'iv17' (mediump 4-component vector of int) +0:41 clamp (mediump 4-component vector of int) +0:41 'iv4a' (mediump 4-component vector of int) +0:41 'imin' (mediump int) +0:41 'imax' (mediump int) +0:42 Sequence +0:42 move second child to first child (mediump 2-component vector of uint) +0:42 'u12' (mediump 2-component vector of uint) +0:42 clamp (mediump 2-component vector of uint) +0:42 'uv2x' (mediump 2-component vector of uint) +0:42 'uv2y' (mediump 2-component vector of uint) +0:42 'uv2c' (mediump 2-component vector of uint) +0:43 Sequence +0:43 move second child to first child (mediump 4-component vector of uint) +0:43 'uv10' (mediump 4-component vector of uint) +0:43 clamp (mediump 4-component vector of uint) +0:43 'uv4y' (mediump 4-component vector of uint) +0:43 'umin' (mediump uint) +0:43 'umax' (mediump uint) +0:47 Sequence +0:47 move second child to first child (mediump 3-component vector of float) +0:47 'v11' (mediump 3-component vector of float) +0:47 modf (mediump 3-component vector of float) +0:47 'x' (mediump 3-component vector of float) +0:47 'modfOut' (mediump 3-component vector of float) +0:49 Sequence +0:49 move second child to first child (mediump float) +0:49 't' (mediump float) +0:49 trunc (mediump float) +0:49 'f' (mediump float) +0:50 Sequence +0:50 move second child to first child (mediump 2-component vector of float) +0:50 'v12' (mediump 2-component vector of float) +0:50 round (mediump 2-component vector of float) +0:50 'v2a' (mediump 2-component vector of float) +0:51 Sequence +0:51 move second child to first child (mediump 2-component vector of float) +0:51 'v13' (mediump 2-component vector of float) +0:51 roundEven (mediump 2-component vector of float) +0:51 'v2a' (mediump 2-component vector of float) +0:52 Sequence +0:52 move second child to first child (2-component vector of bool) +0:52 'b10' (2-component vector of bool) +0:52 isnan (2-component vector of bool) +0:52 'v2a' (mediump 2-component vector of float) +0:53 Sequence +0:53 move second child to first child (4-component vector of bool) +0:53 'b11' (4-component vector of bool) +0:53 isinf (4-component vector of bool) +0:53 'v4' (mediump 4-component vector of float) +0:56 Sequence +0:56 move second child to first child (mediump int) +0:56 'i' (mediump int) +0:56 floatBitsToInt (mediump int) +0:56 'f' (mediump float) +0:57 Sequence +0:57 move second child to first child (mediump 4-component vector of uint) +0:57 'uv11' (mediump 4-component vector of uint) +0:57 floatBitsToUint (mediump 4-component vector of uint) +0:57 'v4' (mediump 4-component vector of float) +0:58 Sequence +0:58 move second child to first child (mediump 4-component vector of float) +0:58 'v14' (mediump 4-component vector of float) +0:58 intBitsToFloat (mediump 4-component vector of float) +0:58 'iv4a' (mediump 4-component vector of int) +0:59 Sequence +0:59 move second child to first child (mediump 2-component vector of float) +0:59 'v15' (mediump 2-component vector of float) +0:59 uintBitsToFloat (mediump 2-component vector of float) +0:59 'uv2c' (mediump 2-component vector of uint) +0:62 Sequence +0:62 move second child to first child (highp uint) +0:62 'u19' (mediump uint) +0:62 packSnorm2x16 (highp uint) +0:62 'v2a' (mediump 2-component vector of float) +0:63 Sequence +0:63 move second child to first child (highp 2-component vector of float) +0:63 'v20' (mediump 2-component vector of float) +0:63 unpackSnorm2x16 (highp 2-component vector of float) +0:63 'uy' (mediump uint) +0:64 Sequence +0:64 move second child to first child (highp uint) +0:64 'u15' (mediump uint) +0:64 packUnorm2x16 (highp uint) +0:64 'v2a' (mediump 2-component vector of float) +0:65 Sequence +0:65 move second child to first child (highp 2-component vector of float) +0:65 'v16' (mediump 2-component vector of float) +0:65 unpackUnorm2x16 (highp 2-component vector of float) +0:65 'uy' (mediump uint) +0:66 Sequence +0:66 move second child to first child (highp uint) +0:66 'u17' (mediump uint) +0:66 packHalf2x16 (highp uint) +0:66 'v2b' (mediump 2-component vector of float) +0:67 Sequence +0:67 move second child to first child (mediump 2-component vector of float) +0:67 'v18' (mediump 2-component vector of float) +0:67 unpackHalf2x16 (mediump 2-component vector of float) +0:67 'uy' (mediump uint) +0:70 Constant: +0:70 0.000000 +0:? Linker Objects +0:? 'imax' (mediump int) +0:? 'imin' (mediump int) +0:? 'umax' (mediump uint) +0:? 'umin' (mediump uint) +0:? 'x' (mediump 3-component vector of float) +0:? 'y' (mediump 3-component vector of float) +0:? 'bv' (3-component vector of bool) +0:? 'uy' (mediump uint) +0:? 'uv2c' (mediump 2-component vector of uint) +0:? 'uv2y' (mediump 2-component vector of uint) +0:? 'uv2x' (mediump 2-component vector of uint) +0:? 'uv4y' (mediump 4-component vector of uint) +0:? 'iv3a' (mediump 3-component vector of int) +0:? 'iv3b' (mediump 3-component vector of int) +0:? 'iv4a' (mediump 4-component vector of int) +0:? 'iv4b' (mediump 4-component vector of int) +0:? 'f' (mediump float) +0:? 'v2a' (mediump 2-component vector of float) +0:? 'v2b' (mediump 2-component vector of float) +0:? 'v4' (mediump 4-component vector of float) diff --git a/Test/baseResults/300block.frag.out b/Test/baseResults/300block.frag.out index 0b21bf7..63c7ab5 100644 --- a/Test/baseResults/300block.frag.out +++ b/Test/baseResults/300block.frag.out @@ -25,7 +25,7 @@ ERROR: node is still EOpNull! 0:44 Convert uint to float (float) 0:44 direct index (mediump uint) 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 '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: @@ -52,14 +52,63 @@ 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 ) 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:? '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}) +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: Shader version: 300 +ERROR: node is still EOpNull! +0:42 Function Definition: main( (void) +0:42 Function Parameters: +0:44 Sequence +0:44 Function Call: texture(is31;vf3; (mediump 4-component vector of int) +0:44 sampler: direct index for structure (lowp isampler3D) +0:44 '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:44 Constant: +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 ) 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 ) 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 ) 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 ) 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}) +0:45 Constant: +0:45 1 (const int) +0:45 Constant: +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 ) 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}) diff --git a/Test/baseResults/300layout.frag.out b/Test/baseResults/300layout.frag.out index 11674a8..a7a7da8 100644 --- a/Test/baseResults/300layout.frag.out +++ b/Test/baseResults/300layout.frag.out @@ -37,4 +37,29 @@ Linked fragment stage: Shader version: 300 +ERROR: node is still EOpNull! +0:10 Function Definition: main( (void) +0:10 Function Parameters: +0:12 Sequence +0:12 move second child to first child (mediump 4-component vector of float) +0:12 'c' (layout(location=1 ) out mediump 4-component vector of float) +0:12 'color' (layout(location=2 ) smooth in mediump 4-component vector of float) +0:13 move second child to first child (mediump 4-component vector of float) +0:13 'p' (layout(location=3 ) out mediump 4-component vector of float) +0:13 'pos' (smooth in mediump 4-component vector of float) +0:14 move second child to first child (mediump 4-component vector of float) +0:14 direct index (layout(location=4 ) mediump 4-component vector of float) +0:14 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float) +0:14 Constant: +0:14 1 (const int) +0:14 'pos' (smooth in mediump 4-component vector of float) +0:? Linker Objects +0:? 'pos' (smooth in mediump 4-component vector of float) +0:? 'color' (layout(location=2 ) smooth in mediump 4-component vector of float) +0:? 'c' (layout(location=1 ) out mediump 4-component vector of float) +0:? 'p' (layout(location=3 ) out mediump 4-component vector of float) +0:? 'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float) +0:? 'ca' (layout(location=40 ) out 4-element array of mediump float) +0:? 'cb' (layout(location=41 ) out 2-element array of mediump float) +0:? 'cc' (layout(location=39 ) out 6-element array of mediump float) diff --git a/Test/baseResults/300layout.vert.out b/Test/baseResults/300layout.vert.out index 302d41d..52de07b 100644 --- a/Test/baseResults/300layout.vert.out +++ b/Test/baseResults/300layout.vert.out @@ -42,15 +42,15 @@ ERROR: node is still EOpNull! 0:46 Constant: 0:46 1 (const int) 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 '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 ) 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 '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 ) 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 '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) @@ -70,8 +70,8 @@ ERROR: node is still EOpNull! 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 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) 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:? '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 ) uniform highp float) @@ -85,4 +85,62 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:44 Function Definition: main( (void) +0:44 Function Parameters: +0:46 Sequence +0:46 move second child to first child (highp 4-component vector of float) +0:46 'pos' (smooth out highp 4-component vector of float) +0:46 vector-times-matrix (highp 4-component vector of float) +0:46 'p' (layout(location=3 ) in highp 4-component vector of float) +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 add (highp 4X4 matrix of float) +0:46 M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:46 Constant: +0:46 0 (const int) +0:46 M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float) +0:46 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:46 Constant: +0:46 1 (const int) +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 ) 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 ) 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 offset=128 ) uniform highp 3X3 matrix of float) +0:47 'tblock' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) uniform highp float bad3}) +0:47 Constant: +0:47 2 (const int) +0:? Linker Objects +0:? 'c' (layout(location=7 ) in highp 3-component vector of float) +0:? 'p' (layout(location=3 ) in highp 4-component vector of float) +0:? 'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float) +0:? 'r' (layout(location=10 ) in 4-element array of structure{highp 4-component vector of float v}) +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 offset=0 ) uniform highp 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float M2, layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float N1, layout(row_major std140 offset=176 ) centroid uniform highp float badf, layout(row_major std140 offset=180 ) uniform highp float badg, layout(row_major std140 offset=184 ) uniform highp float bad1, layout(row_major shared offset=188 ) uniform highp float bad2, layout(row_major packed offset=192 ) 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 ) uniform highp float) +0:? 'cd' (layout(location=40 ) in highp float) +0:? 'ce' (layout(location=37 ) in highp 4X3 matrix of float) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/300link.frag.out b/Test/baseResults/300link.frag.out index e22cd8c..60d55e4 100644 --- a/Test/baseResults/300link.frag.out +++ b/Test/baseResults/300link.frag.out @@ -14,4 +14,10 @@ Linked fragment stage: ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers Shader version: 300 +0:? Sequence +0:8 Function Definition: main( (void) +0:8 Function Parameters: +0:? Linker Objects +0:? 'color1' (out highp 4-component vector of float) +0:? 'color2' (out highp 4-component vector of float) diff --git a/Test/baseResults/300link2.frag.out b/Test/baseResults/300link2.frag.out index 7146bd1..b5938f7 100644 --- a/Test/baseResults/300link2.frag.out +++ b/Test/baseResults/300link2.frag.out @@ -15,4 +15,12 @@ Linked fragment stage: Shader version: 300 +0:? Sequence +0:9 Function Definition: main( (void) +0:9 Function Parameters: +0:? Linker Objects +0:? 'pos' (smooth in mediump 4-component vector of float) +0:? 'c' (layout(location=1 ) out mediump 4-component vector of float) +0:? 'p' (layout(location=5 ) out mediump 4-component vector of float) +0:? 'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float) diff --git a/Test/baseResults/300link3.frag.out b/Test/baseResults/300link3.frag.out index 8cb4c76..f0540de 100644 --- a/Test/baseResults/300link3.frag.out +++ b/Test/baseResults/300link3.frag.out @@ -12,4 +12,9 @@ Linked fragment stage: Shader version: 300 +0:? Sequence +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:? Linker Objects +0:? 'color1' (out highp 4-component vector of float) diff --git a/Test/baseResults/300operations.frag.out b/Test/baseResults/300operations.frag.out index 45995bd..295c1be 100644 --- a/Test/baseResults/300operations.frag.out +++ b/Test/baseResults/300operations.frag.out @@ -241,4 +241,180 @@ Linked fragment stage: Shader version: 300 +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 ) uniform mediump float f}) +0:31 's' (structure{mediump int i}) +0:32 'i' (mediump int) +0:33 'u' (mediump uint) +0:34 'u' (mediump uint) +0:35 'iv3' (mediump 3-component vector of int) +0:36 'iv4' (mediump 4-component vector of int) +0:37 'i' (mediump int) +0:38 'iv3' (mediump 3-component vector of int) +0:39 'a' (5-element array of mediump float) +0:40 'b' (bool) +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 ) 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) +0:50 Constant: +0:50 false (const bool) +0:51 Constant: +0:51 false (const bool) +0:52 Constant: +0:52 false (const bool) +0:53 Constant: +0:53 false (const bool) +0:54 Constant: +0:54 false (const bool) +0:55 Constant: +0:55 false (const bool) +0:57 Constant: +0:57 false (const bool) +0:58 Constant: +0:58 false (const bool) +0:59 Constant: +0:59 false (const bool) +0:60 Constant: +0:60 false (const bool) +0:61 Constant: +0:61 false (const bool) +0:62 Constant: +0:62 false (const bool) +0:64 'u' (mediump uint) +0:65 'i' (mediump int) +0:66 'm2' (mediump 2X2 matrix of float) +0:67 'v3' (mediump 3-component vector of float) +0:68 'a' (5-element array of mediump float) +0:70 'f' (mediump float) +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 ) uniform mediump float f}) +0:76 'i' (mediump int) +0:77 'u' (mediump uint) +0:78 'i' (mediump int) +0:79 'f' (mediump float) +0:80 'm4' (mediump 4X4 matrix of float) +0:81 'a' (5-element array of mediump float) +0:82 'iv3' (mediump 3-component vector of int) +0:84 'i' (mediump int) +0:85 'u' (mediump uint) +0:86 'i' (mediump int) +0:87 'u' (mediump uint) +0:88 'm2' (mediump 2X2 matrix of float) +0:89 's' (structure{mediump int i}) +0:90 move second child to first child (mediump float) +0:90 move second child to first child (mediump float) +0:90 'f' (mediump float) +0:90 'f' (mediump float) +0:90 'f' (mediump float) +0:93 vector-scale (mediump 4-component vector of float) +0:93 'f' (mediump float) +0:93 'v4' (mediump 4-component vector of float) +0:94 add (mediump uint) +0:94 'u' (mediump uint) +0:94 'u' (mediump uint) +0:95 divide (mediump 4-component vector of uint) +0:95 'uv4' (mediump 4-component vector of uint) +0:95 'u' (mediump uint) +0:96 subtract second child into first child (mediump 3-component vector of int) +0:96 'iv3' (mediump 3-component vector of int) +0:96 'iv3' (mediump 3-component vector of int) +0:98 mod second child into first child (mediump int) +0:98 'i' (mediump int) +0:98 Constant: +0:98 3 (const int) +0:99 mod (mediump 3-component vector of uint) +0:99 'uv3' (mediump 3-component vector of uint) +0:99 Constant: +0:99 4 (const uint) +0:100 Pre-Decrement (mediump 2X2 matrix of float) +0:100 'm2' (mediump 2X2 matrix of float) +0:101 Post-Increment (mediump 4-component vector of int) +0:101 'iv4' (mediump 4-component vector of int) +0:103 Compare Not Equal (bool) +0:103 'm4' (mediump 4X4 matrix of float) +0:103 'm4' (mediump 4X4 matrix of float) +0:104 Compare Equal (bool) +0:104 'm2' (mediump 2X2 matrix of float) +0:104 'm2' (mediump 2X2 matrix of float) +0:105 Compare Less Than or Equal (bool) +0:105 'i' (mediump int) +0:105 'i' (mediump int) +0:106 Compare Equal (bool) +0:106 'a' (5-element array of mediump float) +0:106 'a' (5-element array of mediump float) +0:107 Compare Not Equal (bool) +0:107 's' (structure{mediump int i}) +0:107 's' (structure{mediump int i}) +0:109 logical-and (bool) +0:109 'b' (bool) +0:109 'b' (bool) +0:110 logical-or (bool) +0:110 'b' (bool) +0:110 'b' (bool) +0:111 logical-xor (bool) +0:111 'b' (bool) +0:111 'b' (bool) +0:113 Comma (mediump 3-component vector of uint) +0:113 Negate conditional (bool) +0:113 'b' (bool) +0:113 'uv3' (mediump 3-component vector of uint) +0:115 Bitwise not (mediump int) +0:115 'i' (mediump int) +0:116 Bitwise not (mediump uint) +0:116 'u' (mediump uint) +0:117 Bitwise not (mediump 3-component vector of uint) +0:117 'uv3' (mediump 3-component vector of uint) +0:118 Bitwise not (mediump 3-component vector of int) +0:118 'iv3' (mediump 3-component vector of int) +0:120 left shift second child into first child (mediump 3-component vector of uint) +0:120 'uv3' (mediump 3-component vector of uint) +0:120 'i' (mediump int) +0:121 right-shift (mediump int) +0:121 'i' (mediump int) +0:121 'i' (mediump int) +0:122 left-shift (mediump uint) +0:122 'u' (mediump uint) +0:122 'u' (mediump uint) +0:123 right-shift (mediump 3-component vector of int) +0:123 'iv3' (mediump 3-component vector of int) +0:123 'iv3' (mediump 3-component vector of int) +0:125 bitwise and (mediump int) +0:125 'i' (mediump int) +0:125 'i' (mediump int) +0:126 inclusive-or (mediump uint) +0:126 'u' (mediump uint) +0:126 'u' (mediump uint) +0:127 exclusive-or (mediump 3-component vector of int) +0:127 'iv3' (mediump 3-component vector of int) +0:127 'iv3' (mediump 3-component vector of int) +0:128 bitwise and (mediump 3-component vector of uint) +0:128 'u' (mediump uint) +0:128 'uv3' (mediump 3-component vector of uint) +0:129 inclusive-or (mediump 3-component vector of uint) +0:129 'uv3' (mediump 3-component vector of uint) +0:129 'u' (mediump uint) +0:130 and second child into first child (mediump 3-component vector of uint) +0:130 'uv3' (mediump 3-component vector of uint) +0:130 'u' (mediump uint) +0:132 direct index (mediump int) +0:132 'arr' (2-element array of mediump int) +0:132 Constant: +0:132 1 (const int) +0:134 direct index (mediump int) +0:134 'arr2' (3-element array of mediump int) +0:134 Constant: +0:134 2 (const int) +0:? Linker Objects +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/300scope.vert.out b/Test/baseResults/300scope.vert.out index 3dc931b..00c7460 100644 --- a/Test/baseResults/300scope.vert.out +++ b/Test/baseResults/300scope.vert.out @@ -135,4 +135,111 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:3 Function Definition: f(i1;i1;i1; (highp int) +0:3 Function Parameters: +0:3 'a' (in highp int) +0:3 'b' (in highp int) +0:3 'c' (in highp int) +0:? Sequence +0:8 Sequence +0:8 Sequence +0:8 move second child to first child (highp float) +0:8 'a' (highp float) +0:8 add (highp float) +0:8 Convert int to float (highp float) +0:8 'a' (in highp int) +0:8 Constant: +0:8 1.000000 +0:11 Branch: Return with expression +0:11 'a' (in highp int) +0:25 Function Definition: cos(f1; (highp float) +0:25 Function Parameters: +0:25 'x' (in highp float) +0:27 Sequence +0:27 Branch: Return with expression +0:27 Constant: +0:27 1.000000 +0:29 Function Definition: radians(b1; (bool) +0:29 Function Parameters: +0:29 'x' (in bool) +0:31 Sequence +0:31 Branch: Return with expression +0:31 Constant: +0:31 true (const bool) +0:36 Function Definition: main( (void) +0:36 Function Parameters: +0:? Sequence +0:39 Function Call: g( (highp int) +0:42 'sin' (highp float) +0:43 Constant: +0:43 0.000000 +0:44 Function Call: f(i1;i1;i1; (highp int) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 2 (const int) +0:44 Constant: +0:44 3 (const int) +0:47 move second child to first child (highp float) +0:47 'f' (highp float) +0:47 Constant: +0:47 3.000000 +0:49 move second child to first child (highp 4-component vector of float) +0:49 'gl_Position' (invariant gl_Position highp 4-component vector of float) +0:49 Construct vec4 (highp 4-component vector of float) +0:49 'f' (highp float) +0:51 Sequence +0:51 Sequence +0:51 move second child to first child (highp int) +0:51 'f' (highp int) +0:51 Constant: +0:51 0 (const int) +0:51 Loop with condition tested first +0:51 Loop Condition +0:51 Compare Less Than (bool) +0:51 'f' (highp int) +0:51 Constant: +0:51 10 (const int) +0:51 Loop Body +0:52 Pre-Increment (highp int) +0:52 'f' (highp int) +0:51 Loop Terminal Expression +0:51 Pre-Increment (highp int) +0:51 'f' (highp int) +0:54 Sequence +0:54 move second child to first child (highp int) +0:54 'x' (highp int) +0:54 Constant: +0:54 1 (const int) +0:56 Sequence +0:56 Sequence +0:56 move second child to first child (highp float) +0:56 'x' (highp float) +0:56 Constant: +0:56 2.000000 +0:56 move second child to first child (highp float) +0:56 'y' (highp float) +0:56 'x' (highp float) +0:60 Sequence +0:60 Sequence +0:60 move second child to first child (highp int) +0:60 'x' (highp int) +0:60 'x' (highp int) +0:68 Sequence +0:68 Sequence +0:68 move second child to first child (structure{highp int x}) +0:68 'S' (structure{highp int x}) +0:68 Constant: +0:68 0 (const int) +0:69 x: direct index for structure (highp int) +0:69 'S' (structure{highp int x}) +0:69 Constant: +0:69 0 (const int) +0:73 Constant: +0:73 0.000000 +0:? Linker Objects +0:? 'b' (bool) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/330.frag.out b/Test/baseResults/330.frag.out index f70d28e..9995e54 100644 --- a/Test/baseResults/330.frag.out +++ b/Test/baseResults/330.frag.out @@ -1,5 +1,5 @@ 330.frag -Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 330 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:27: 'block declaration' : cannot redeclare block: gl_block ERROR: 0:31: 'gl_name' : identifiers starting with "gl_" are reserved ERROR: 0:32: 'gl_i' : identifiers starting with "gl_" are reserved @@ -58,7 +58,7 @@ ERROR: node is still EOpNull! 0:23 move second child to first child (4-component vector of float) 0:23 'c' (4-component vector of float) 0:23 gl_Color: direct index for structure (in 4-component vector of float) -0:23 '__anon__0' (in block{in 4-component vector of float gl_Color, }) +0:23 'anon@0' (in block{in 4-component vector of float gl_Color, }) 0:23 Constant: 0:23 2 (const uint) 0:24 move second child to first child (4-component vector of float) @@ -68,7 +68,7 @@ ERROR: node is still EOpNull! 0:? 'inVar' (smooth in 4-component vector of float) 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:? 'anon@0' (in block{in 4-component vector of float gl_Color, }) 0:? 'gl_name' (in block{in int gl_i}) 0:? 'start' (const int) 0:? 6 (const int) @@ -77,7 +77,7 @@ ERROR: node is still EOpNull! 0:? 'v20' (smooth in 4-component vector of float) 0:? 'v21' (layout(location=60 ) smooth in float) 0:? 'v22' (layout(location=2 ) smooth in float) -0:? '__anon__1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2}) +0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2}) 0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) 0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float) 0:? 'v4' (smooth in 4-component vector of float) @@ -90,7 +90,7 @@ ERROR: node is still EOpNull! 0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2}) 0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) 0:? 's' (layout(location=33 ) smooth in structure{3-component vector of float a, 2X2 matrix of float b, 2-element array of 4-component vector of float c, 2-component vector of float A}) -0:? '__anon__2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k}) +0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k}) Linked fragment stage: @@ -101,4 +101,62 @@ ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData Shader version: 330 Requested GL_ARB_enhanced_layouts Requested GL_ARB_separate_shader_objects +ERROR: node is still EOpNull! +0:8 Function Definition: main( (void) +0:8 Function Parameters: +0:10 Sequence +0:10 move second child to first child (4-component vector of float) +0:10 'gl_FragColor' (fragColor 4-component vector of float) +0:10 'varyingVar' (smooth in 4-component vector of float) +0:11 move second child to first child (4-component vector of float) +0:11 direct index (4-component vector of float) +0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:11 Constant: +0:11 1 (const int) +0:11 'inVar' (smooth in 4-component vector of float) +0:12 Sequence +0:12 move second child to first child (int) +0:12 'buffer' (int) +0:12 Constant: +0:12 4 (const int) +0:21 Function Definition: foo( (void) +0:21 Function Parameters: +0:23 Sequence +0:23 Sequence +0:23 move second child to first child (4-component vector of float) +0:23 'c' (4-component vector of float) +0:23 gl_Color: direct index for structure (in 4-component vector of float) +0:23 'anon@0' (in block{in 4-component vector of float gl_Color, }) +0:23 Constant: +0:23 2 (const uint) +0:24 move second child to first child (4-component vector of float) +0:24 'outVar' (out 4-component vector of float) +0:24 'inVar' (smooth in 4-component vector of float) +0:? Linker Objects +0:? 'inVar' (smooth in 4-component vector of float) +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{in int gl_i}) +0:? 'start' (const int) +0:? 6 (const int) +0:? 'v1' (smooth in 4-component vector of float) +0:? 'v2' (layout(location=8 ) smooth in 4-component vector of float) +0:? 'v20' (smooth in 4-component vector of float) +0:? 'v21' (layout(location=60 ) smooth in float) +0:? 'v22' (layout(location=2 ) smooth in float) +0:? 'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2}) +0:? 'uinst' (layout(location=1 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) +0:? 'v3' (layout(location=6 ) smooth in 4-component vector of float) +0:? 'v4' (smooth in 4-component vector of float) +0:? 'v5' (smooth in 4-component vector of float) +0:? 'v6' (layout(location=30 ) smooth in 4-component vector of float) +0:? 'v23' (layout(location=61 ) smooth in float) +0:? 'v24' (layout(location=62 ) smooth in float) +0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2, layout(location=26 component=0 ) in 4-component vector of float f3, layout(location=21 ) in structure{float f1, float f2} s2, layout(location=23 component=0 ) in 4-component vector of float f4, layout(location=24 component=0 ) in 4-component vector of float f5}) +0:? 'uinst2' (layout(location=13 column_major shared ) uniform block{layout(column_major shared ) uniform float f1, layout(location=3 column_major shared ) uniform float f2}) +0:? 'in3' (in block{in float f1, layout(location=40 ) in float f2}) +0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) +0:? 's' (layout(location=33 ) smooth in structure{3-component vector of float a, 2X2 matrix of float b, 2-element array of 4-component vector of float c, 2-component vector of float A}) +0:? 'anon@2' (in block{layout(location=44 component=0 ) in 4-component vector of float d, layout(location=45 component=0 ) in 4-component vector of float e, layout(location=47 ) in 4-component vector of float f, layout(location=48 component=0 ) in 4-component vector of float g, layout(location=41 ) in 4-component vector of float h, layout(location=42 component=0 ) in 4-component vector of float i, layout(location=43 component=0 ) in 4-component vector of float j, layout(location=44 component=0 ) in 4-component vector of float k}) diff --git a/Test/baseResults/330comp.frag.out b/Test/baseResults/330comp.frag.out index 3a2aae8..280b577 100644 --- a/Test/baseResults/330comp.frag.out +++ b/Test/baseResults/330comp.frag.out @@ -1,5 +1,5 @@ 330comp.frag -Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 330 is not yet complete; most version-specific features are present, but some are missing. Shader version: 330 0:? Sequence @@ -28,4 +28,23 @@ Linked fragment stage: ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData Shader version: 330 +0:? Sequence +0:8 Function Definition: main( (void) +0:8 Function Parameters: +0:10 Sequence +0:10 move second child to first child (4-component vector of float) +0:10 'gl_FragColor' (fragColor 4-component vector of float) +0:10 'varyingVar' (smooth in 4-component vector of float) +0:11 move second child to first child (4-component vector of float) +0:11 direct index (4-component vector of float) +0:11 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:11 Constant: +0:11 1 (const int) +0:11 vector-times-matrix (4-component vector of float) +0:11 'inVar' (smooth in 4-component vector of float) +0:11 'gl_ModelViewMatrix' (uniform 4X4 matrix of float) +0:? Linker Objects +0:? 'inVar' (smooth in 4-component vector of float) +0:? 'outVar' (out 4-component vector of float) +0:? 'varyingVar' (smooth in 4-component vector of float) diff --git a/Test/baseResults/400.frag.out b/Test/baseResults/400.frag.out index 3ca589b..3cc1c69 100644 --- a/Test/baseResults/400.frag.out +++ b/Test/baseResults/400.frag.out @@ -1,5 +1,5 @@ 400.frag -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument @@ -39,7 +39,7 @@ ERROR: node is still EOpNull! 0:14 Constant: 0:14 0 (const int) 0:14 direct index (smooth float) -0:14 'gl_ClipDistance' (smooth in implicitly-sized array of float) +0:14 'gl_ClipDistance' (smooth in 4-element array of float) 0:14 Constant: 0:14 1 (const int) 0:18 Sequence @@ -228,8 +228,8 @@ ERROR: node is still EOpNull! 0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float) 0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float) 0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float) -0:? '__anon__0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) -0:? '__anon__0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'anon@0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'anon@0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) 0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) 0:? 'u2drs' (uniform sampler2DRectShadow) @@ -244,4 +244,217 @@ Shader version: 400 Requested GL_ARB_separate_shader_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left +ERROR: node is still EOpNull! +0:10 Function Definition: main( (void) +0:10 Function Parameters: +0:? Sequence +0:13 move second child to first child (4-component vector of float) +0:13 'v' (4-component vector of float) +0:13 Function Call: texture(s21;vf2; (4-component vector of float) +0:13 indirect index (sampler2D) +0:13 'arrayedSampler' (uniform 5-element array of sampler2D) +0:13 'i' (flat in int) +0:13 'c2D' (smooth in 2-component vector of float) +0:14 move second child to first child (float) +0:14 direct index (float) +0:14 'outp' (out 4-component vector of float) +0:14 Constant: +0:14 0 (const int) +0:14 direct index (smooth float) +0:14 'gl_ClipDistance' (smooth in 4-element array of float) +0:14 Constant: +0:14 1 (const int) +0:18 Sequence +0:18 move second child to first child (4-component vector of uint) +0:18 'uv4' (4-component vector of uint) +0:18 Function Call: textureGatherOffsets(usR21;vf2;vi2[4];i1; (4-component vector of uint) +0:18 'samp2dr' (uniform usampler2DRect) +0:18 'c2D' (smooth in 2-component vector of float) +0:18 'offsets' (4-element array of 2-component vector of int) +0:18 Constant: +0:18 2 (const int) +0:19 move second child to first child (4-component vector of uint) +0:19 'uv4' (4-component vector of uint) +0:19 Function Call: textureGatherOffsets(usR21;vf2;vi2[4];i1; (4-component vector of uint) +0:19 'samp2dr' (uniform usampler2DRect) +0:19 'c2D' (smooth in 2-component vector of float) +0:19 Constant: +0:19 1 (const int) +0:19 2 (const int) +0:19 3 (const int) +0:19 4 (const int) +0:19 15 (const int) +0:19 16 (const int) +0:19 -2 (const int) +0:19 0 (const int) +0:19 Constant: +0:19 2 (const int) +0:20 Sequence +0:20 move second child to first child (4-component vector of float) +0:20 'v4' (4-component vector of float) +0:20 Function Call: textureGather(s21;vf2; (4-component vector of float) +0:20 direct index (sampler2D) +0:20 'arrayedSampler' (uniform 5-element array of sampler2D) +0:20 Constant: +0:20 0 (const int) +0:20 'c2D' (smooth in 2-component vector of float) +0:21 Sequence +0:21 move second child to first child (4-component vector of int) +0:21 'iv4' (4-component vector of int) +0:21 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int) +0:21 'isamp2DA' (uniform isampler2DArray) +0:21 Constant: +0:21 0.100000 +0:21 0.100000 +0:21 0.100000 +0:21 Constant: +0:21 1 (const int) +0:21 1 (const int) +0:21 Constant: +0:21 3 (const int) +0:22 move second child to first child (4-component vector of int) +0:22 'iv4' (4-component vector of int) +0:22 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int) +0:22 'isamp2DA' (uniform isampler2DArray) +0:22 Constant: +0:22 0.100000 +0:22 0.100000 +0:22 0.100000 +0:22 Constant: +0:22 1 (const int) +0:22 1 (const int) +0:22 'i' (flat in int) +0:23 move second child to first child (4-component vector of int) +0:23 'iv4' (4-component vector of int) +0:23 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int) +0:23 'isamp2DA' (uniform isampler2DArray) +0:23 Constant: +0:23 0.100000 +0:23 0.100000 +0:23 0.100000 +0:23 Constant: +0:23 1 (const int) +0:23 1 (const int) +0:23 Constant: +0:23 4 (const int) +0:24 move second child to first child (4-component vector of int) +0:24 'iv4' (4-component vector of int) +0:24 Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int) +0:24 'isamp2DA' (uniform isampler2DArray) +0:24 Constant: +0:24 0.100000 +0:24 0.100000 +0:24 0.100000 +0:24 Constant: +0:24 1 (const int) +0:24 1 (const int) +0:24 Constant: +0:24 3 (const int) +0:25 move second child to first child (4-component vector of int) +0:25 'iv4' (4-component vector of int) +0:25 Function Call: textureGatherOffset(isA21;vf3;vi2; (4-component vector of int) +0:25 'isamp2DA' (uniform isampler2DArray) +0:25 Constant: +0:25 0.100000 +0:25 0.100000 +0:25 0.100000 +0:25 Construct ivec2 (2-component vector of int) +0:25 'i' (flat in int) +0:27 Sequence +0:27 move second child to first child (4-component vector of float) +0:27 'c' (4-component vector of float) +0:27 'gl_FragCoord' (gl_FragCoord 4-component vector of float) +0:47 Function Definition: foo23( (void) +0:47 Function Parameters: +0:? Sequence +0:51 Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float) +0:51 'u2drs' (uniform sampler2DRectShadow) +0:51 'outp' (out 4-component vector of float) +0:51 Constant: +0:51 0.000000 +0:51 0.000000 +0:51 Constant: +0:51 0.000000 +0:51 0.000000 +0:51 Convert float to int (2-component vector of int) +0:51 'c2D' (smooth in 2-component vector of float) +0:52 Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float) +0:52 'u2drs' (uniform sampler2DRectShadow) +0:52 'outp' (out 4-component vector of float) +0:52 Constant: +0:52 0.000000 +0:52 0.000000 +0:52 Constant: +0:52 0.000000 +0:52 0.000000 +0:52 Constant: +0:52 3 (const int) +0:52 4 (const int) +0:53 Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float) +0:53 'u2drs' (uniform sampler2DRectShadow) +0:53 'outp' (out 4-component vector of float) +0:53 Constant: +0:53 0.000000 +0:53 0.000000 +0:53 Constant: +0:53 0.000000 +0:53 0.000000 +0:53 Constant: +0:53 15 (const int) +0:53 16 (const int) +0:54 Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float) +0:54 'u2drs' (uniform sampler2DRectShadow) +0:54 'outp' (out 4-component vector of float) +0:54 Constant: +0:54 0.000000 +0:54 0.000000 +0:54 Constant: +0:54 0.000000 +0:54 0.000000 +0:54 Constant: +0:54 -10 (const int) +0:54 20 (const int) +0:60 Function Definition: foo24( (void) +0:60 Function Parameters: +0:? Sequence +0:63 move second child to first child (3-component vector of double) +0:63 'df' (3-component vector of double) +0:63 Convert float to double (3-component vector of double) +0:63 Comma (3-component vector of float) +0:63 move second child to first child (3-component vector of float) +0:63 'tempReturn' (3-component vector of float) +0:63 modf (3-component vector of float) +0:63 vector swizzle (3-component vector of float) +0:63 'outp' (out 4-component vector of float) +0:63 Sequence +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 1 (const int) +0:63 Constant: +0:63 2 (const int) +0:63 'tempArg' (3-component vector of float) +0:63 move second child to first child (3-component vector of double) +0:63 'di' (3-component vector of double) +0:63 Convert float to double (3-component vector of double) +0:63 'tempArg' (3-component vector of float) +0:63 'tempReturn' (3-component vector of float) +0:? Linker Objects +0:? 'c2D' (smooth in 2-component vector of float) +0:? 'i' (flat in int) +0:? 'outp' (out 4-component vector of float) +0:? 'arrayedSampler' (uniform 5-element array of sampler2D) +0:? 'samp2dr' (uniform usampler2DRect) +0:? 'isamp2DA' (uniform isampler2DArray) +0:? 'gl_ClipDistance' (smooth in 4-element array of float) +0:? 'vl' (layout(location=4 ) smooth in 4-component vector of float) +0:? 'vl2' (layout(location=6 ) smooth in 4-component vector of float) +0:? 'uv3' (layout(location=3 ) uniform 3-component vector of float) +0:? 'anon@0' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'anon@0' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) +0:? 'gl_FragCoord' (gl_FragCoord 4-component vector of float) +0:? 'u2drs' (uniform sampler2DRectShadow) +0:? 'patchIn' (smooth patch in 4-component vector of float) +0:? 'patchOut' (patch out 4-component vector of float) diff --git a/Test/baseResults/400.geom.out b/Test/baseResults/400.geom.out index bc16de2..a11504f 100644 --- a/Test/baseResults/400.geom.out +++ b/Test/baseResults/400.geom.out @@ -1,5 +1,5 @@ 400.geom -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier ERROR: 0:20: 'patch' : not supported in this stage: geometry ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member @@ -101,4 +101,66 @@ invocations = 4 max_vertices = 127 input primitive = triangles output primitive = none +ERROR: node is still EOpNull! +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:5 Sequence +0:5 EmitStreamVertex (void) +0:5 Constant: +0:5 1 (const int) +0:6 EndStreamPrimitive (void) +0:6 Constant: +0:6 0 (const int) +0:7 EmitVertex (void) +0:8 EndPrimitive (void) +0:9 Sequence +0:9 move second child to first child (int) +0:9 'id' (int) +0:9 'gl_InvocationID' (in int) +0:23 Function Definition: foo( (void) +0:23 Function Parameters: +0:25 Sequence +0:25 Constant: +0:25 1 (const int) +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: +0:26 0 (const int) +0:34 Function Definition: foo2( (void) +0:34 Function Parameters: +0:36 Sequence +0:36 Constant: +0:36 1 (const int) +0:37 Constant: +0:37 3 (const int) +0:46 Function Definition: foo3( (void) +0:46 Function Parameters: +0:48 Sequence +0:48 Constant: +0:48 3 (const int) +0:49 Constant: +0:49 3 (const int) +0:50 Constant: +0:50 3 (const int) +0:51 Constant: +0:51 3 (const int) +0:? Linker Objects +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) +0:? 'colorBad' (in 4-element array of 4-component vector of float) +0:? 'colorbad2' (in 2-element array of 4-component vector of float) +0:? 'cva' (layout(location=4 ) in 3-element array of 4-component vector of float) +0:? 'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float) +0:? 'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float) +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{in int a}) +0:? 'inbla' (in 17-element array of block{in int a}) diff --git a/Test/baseResults/410.geom.out b/Test/baseResults/410.geom.out index 0b82a93..ae3c81e 100644 --- a/Test/baseResults/410.geom.out +++ b/Test/baseResults/410.geom.out @@ -1,5 +1,5 @@ 410.geom -Warning, version 410 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 410 is not yet complete; most version-specific features are present, but some are missing. 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 @@ -38,17 +38,17 @@ ERROR: node is still EOpNull! 0:30 0 (const int) 0:31 move second child to first child (float) 0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float) -0:31 '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) +0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) 0:31 Constant: 0:31 1 (const uint) 0:31 'p' (float) 0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void) -0:33 '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) +0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) 0:33 Constant: 0:33 0 (const uint) 0:? Linker Objects 0:? 'gl_in' (in implicitly-sized array of block{in float gl_PointSize}) -0:? '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) +0:? 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) Linked geometry stage: @@ -62,4 +62,38 @@ invocations = 0 max_vertices = 0 input primitive = none output primitive = none +ERROR: node is still EOpNull! +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:5 Sequence +0:5 move second child to first child (int) +0:5 'gl_ViewportIndex' (layout(stream=0 ) out int) +0:5 Constant: +0:5 7 (const int) +0:28 Function Definition: foo( (void) +0:28 Function Parameters: +0:30 Sequence +0:30 Sequence +0:30 move second child to first child (float) +0:30 'p' (float) +0:30 gl_PointSize: direct index for structure (in float) +0:30 direct index (block{in float gl_PointSize}) +0:30 'gl_in' (in 2-element array of block{in float gl_PointSize}) +0:30 Constant: +0:30 1 (const int) +0:30 Constant: +0:30 0 (const int) +0:31 move second child to first child (float) +0:31 gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float) +0:31 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) +0:31 Constant: +0:31 1 (const uint) +0:31 'p' (float) +0:33 gl_Position: direct index for structure (layout(stream=0 ) gl_Position void) +0:33 'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, }) +0:33 Constant: +0:33 0 (const uint) +0:? Linker Objects +0:? 'gl_in' (in 2-element 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 14f7ebb..6ed558b 100644 --- a/Test/baseResults/420.geom.out +++ b/Test/baseResults/420.geom.out @@ -1,5 +1,5 @@ 420.geom -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:9: 'length' : array must first be sized by a redeclaration or layout qualifier ERROR: 0:11: '[' : array must be sized by a redeclaration or layout qualifier before being indexed with a variable ERROR: 0:42: 'assign' : l-value required (can't modify a const) @@ -121,7 +121,7 @@ ERROR: node is still EOpNull! 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 ) out implicitly-sized 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 implicitly-sized array of float gl_ClipDistance}) Linked geometry stage: @@ -135,4 +135,112 @@ invocations = 0 max_vertices = 0 input primitive = triangles output primitive = none +ERROR: node is still EOpNull! +0:7 Function Definition: foo( (void) +0:7 Function Parameters: +0:9 Sequence +0:9 Constant: +0:9 1 (const int) +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 1-element 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 1-element 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 (in 4-component vector of float) +0:11 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) +0:11 'i' (int) +0:11 Constant: +0:11 0 (const int) +0:18 Function Definition: foo3( (void) +0:18 Function Parameters: +0:20 Sequence +0:20 Constant: +0:20 3 (const int) +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 1-element 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 1-element array of float gl_ClipDistance}) +0:21 'i' (int) +0:21 Constant: +0:21 0 (const int) +0:22 Constant: +0:22 3 (const int) +0:29 Function Definition: foo4( (void) +0:29 Function Parameters: +0:? Sequence +0:40 Sequence +0:40 move second child to first child (4-component vector of float) +0:40 'v' (4-component vector of float) +0:40 Function Call: textureGatherOffset(s21;vf2;vi2; (4-component vector of float) +0:40 's2D' (uniform sampler2D) +0:40 direct index (2-component vector of float) +0:40 'coord' (in 3-element array of 2-component vector of float) +0:40 Constant: +0:40 0 (const int) +0:40 vector swizzle (2-component vector of int) +0:40 indirect index (2-component vector of int) +0:40 Constant: +0:40 0 (const int) +0:40 1 (const int) +0:40 1 (const int) +0:40 -2 (const int) +0:40 0 (const int) +0:40 3 (const int) +0:40 -3 (const int) +0:40 0 (const int) +0:40 2 (const int) +0:40 1 (const int) +0:40 'i' (int) +0:40 Sequence +0:40 Constant: +0:40 0 (const int) +0:40 Constant: +0:40 1 (const int) +0:42 move second child to first child (2-component vector of int) +0:42 vector swizzle (2-component vector of int) +0:42 indirect index (2-component vector of int) +0:42 Constant: +0:42 0 (const int) +0:42 1 (const int) +0:42 1 (const int) +0:42 -2 (const int) +0:42 0 (const int) +0:42 3 (const int) +0:42 -3 (const int) +0:42 0 (const int) +0:42 2 (const int) +0:42 1 (const int) +0:42 'i' (int) +0:42 Sequence +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 1 (const int) +0:42 Constant: +0:42 3 (const int) +0:42 3 (const int) +0:43 move second child to first child (float) +0:43 direct index (float) +0:43 'v4' (uniform 4-component vector of float) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 3.200000 +0:44 vector swizzle (2-component vector of float) +0:44 'v4' (uniform 4-component vector of float) +0:44 Sequence +0:44 Constant: +0:44 0 (const int) +0:44 Constant: +0:44 1 (const int) +0:? Linker Objects +0:? 'i' (int) +0:? 'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 ) out 1-element array of float gl_ClipDistance}) diff --git a/Test/baseResults/420.vert.out b/Test/baseResults/420.vert.out index dd5b898..93a649c 100644 --- a/Test/baseResults/420.vert.out +++ b/Test/baseResults/420.vert.out @@ -1,5 +1,5 @@ 420.vert -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:2: '#version' : must occur first in shader WARNING: 0:3: varying deprecated in version 130; may be removed in future release ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420 @@ -126,15 +126,15 @@ ERROR: node is still EOpNull! 0:? 'dx' (const float) 0:? 4.200000 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:? '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{out implicitly-sized array of float gl_ClipDistance, }) +0:? 'anon@3' (out block{out implicitly-sized 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) @@ -145,4 +145,108 @@ Linked vertex stage: Shader version: 420 +ERROR: node is still EOpNull! +0:20 Function Definition: foo( (const int) +0:20 Function Parameters: +0:? Sequence +0:23 Sequence +0:23 move second child to first child (int) +0:23 'b' (const (read only) int) +0:23 'anonconst' (int) +0:25 Sequence +0:25 move second child to first child (int) +0:25 'd' (const (read only) int) +0:25 'b' (const (read only) int) +0:29 Branch: Return with expression +0:29 'b' (const (read only) int) +0:32 Function Definition: main( (void) +0:32 Function Parameters: +0:? Sequence +0:35 Test condition and select (void) +0:35 Condition +0:35 Compare Equal (bool) +0:35 'i' (int) +0:35 Constant: +0:35 3 (const int) +0:35 true case +0:36 Sequence +0:36 move second child to first child (int) +0:36 'j' (int) +0:36 'i' (int) +0:42 Loop with condition tested first +0:42 Loop Condition +0:42 Constant: +0:42 true (const bool) +0:42 No loop body +0:50 Function Definition: bar(vf4; (void) +0:50 Function Parameters: +0:50 'v' (in 4-component vector of float) +0:? Sequence +0:53 's' (int) +0:54 's' (int) +0:55 Test condition and select (void) +0:55 Condition +0:55 Compare Equal (bool) +0:55 direct index (float) +0:55 direct index (4-component vector of float) +0:55 'bad' (in 10-element array of 4-component vector of float) +0:55 Constant: +0:55 0 (const int) +0:55 Constant: +0:55 0 (const int) +0:55 Constant: +0:55 4.200000 +0:55 true case is null +0:57 Test condition and select (void) +0:57 Condition +0:57 Constant: +0:57 true (const bool) +0:57 true case +0:58 move second child to first child (4-component vector of float) +0:58 'badorder3' (flat out 4-component vector of float) +0:58 direct index (4-component vector of float) +0:58 'bad' (in 10-element array of 4-component vector of float) +0:58 Constant: +0:58 0 (const int) +0:61 Sequence +0:61 move second child to first child (3-component vector of float) +0:61 'smeared' (3-component vector of float) +0:61 Construct vec3 (3-component vector of float) +0:61 'f' (float) +0:62 'f' (float) +0:63 'f' (float) +0:? Linker Objects +0:? 'v2' (smooth out 2-component vector of float) +0:? 'bad' (in 10-element array of 4-component vector of float) +0:? 'badorder' (in 4-component vector of float) +0:? 'badorder2' (invariant smooth out 4-component vector of float) +0:? 'badorder4' (centroid in 4-component vector of float) +0:? 'badorder3' (flat out 4-component vector of float) +0:? 'rep' (smooth flat out 4-component vector of float) +0:? 'rep2' (centroid smooth sample out 4-component vector of float) +0:? 'rep3' (in 4-component vector of float) +0:? 'anonconst' (int) +0:? 'aconst' (const int) +0:? 5 (const int) +0:? 'a' (const int) +0:? 5 (const int) +0:? 'b' (int) +0:? 'cx' (const float) +0:? 4.200000 +0:? 'dx' (const float) +0:? 4.200000 +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{out 1-element 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) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/420_size_gl_in.geom.out b/Test/baseResults/420_size_gl_in.geom.out index 5bac60d..ed318dd 100644 --- a/Test/baseResults/420_size_gl_in.geom.out +++ b/Test/baseResults/420_size_gl_in.geom.out @@ -1,5 +1,5 @@ 420_size_gl_in.geom -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use ERROR: 1 compilation errors. No code generated. @@ -48,4 +48,30 @@ invocations = 0 max_vertices = 0 input primitive = triangles output primitive = none +ERROR: node is still EOpNull! +0:11 Function Definition: foo( (void) +0:11 Function Parameters: +0:13 Sequence +0:13 Constant: +0:13 3 (const int) +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 1-element 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 1-element 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 (in 4-component vector of float) +0:16 indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element 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 1-element array of float gl_ClipDistance}) +0:16 'i' (int) +0:16 Constant: +0:16 0 (const int) +0:? Linker Objects +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{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance}) diff --git a/Test/baseResults/430.comp.out b/Test/baseResults/430.comp.out index 2621bf9..d8f981a 100644 --- a/Test/baseResults/430.comp.out +++ b/Test/baseResults/430.comp.out @@ -1,5 +1,5 @@ 430.comp -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:12: 'location qualifier on input' : not supported in this stage: compute ERROR: 1 compilation errors. No code generated. @@ -22,4 +22,15 @@ Linked compute stage: Shader version: 430 +ERROR: node is still EOpNull! +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:5 Sequence +0:5 MemoryBarrierAtomicCounter (void) +0:6 MemoryBarrierBuffer (void) +0:7 MemoryBarrierShared (void) +0:8 MemoryBarrierImage (void) +0:9 GroupMemoryBarrier (void) +0:? Linker Objects +0:? 'v3' (layout(location=2 ) in 3-component vector of float) diff --git a/Test/baseResults/430.vert.out b/Test/baseResults/430.vert.out index 7c40c96..2706e88 100644 --- a/Test/baseResults/430.vert.out +++ b/Test/baseResults/430.vert.out @@ -1,5 +1,5 @@ 430.vert -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:3: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions ERROR: 0:8: 'location qualifier on in/out block' : not supported for this version or the enabled extensions @@ -57,7 +57,7 @@ ERROR: node is still EOpNull! 0:16 move second child to first child (float) 0:16 direct index (float) 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 'anon@0' (out block{out 17-element array of float gl_ClipDistance, }) 0:16 Constant: 0:16 2 (const uint) 0:16 Constant: @@ -75,7 +75,7 @@ ERROR: node is still EOpNull! 0:? 'uv4' (layout(location=4 ) uniform 4-component vector of float) 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:? '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) @@ -122,4 +122,65 @@ ERROR: xfb_buffer 3, xfb_stride 64, minimum stride needed: 80 Shader version: 430 Requested GL_ARB_enhanced_layouts in xfb mode +ERROR: node is still EOpNull! +0:14 Function Definition: foo( (void) +0:14 Function Parameters: +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 (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: +0:16 2 (const int) +0:16 Constant: +0:16 3.700000 +0:31 Function Definition: foo3(vf4;vf3;vf2;vf3; (void) +0:31 Function Parameters: +0:31 'v4' (in 4-component vector of float) +0:31 'v3' (in 3-component vector of float) +0:31 'v2' (in 2-component vector of float) +0:31 'cv3' (in 3-component vector of float) +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{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) +0:? 'alias1' (layout(location=10 ) in 4-component vector of float) +0:? 'alias2' (layout(location=10 ) in 4-component vector of float) +0:? 'v6e' (layout(location=0 ) in 4-component vector of float) +0:? 'ininst2e' (in block{layout(location=25 ) in float f2}) +0:? 'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) +0:? 'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) +0:? 'inst9e' (layout(column_major shared align=32 ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f, layout(column_major shared offset=20 ) uniform float g}) +0:? 'spinste' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b}) +0:? 'aconste' (4-element array of int) +0:? 'bconste' (64-element array of int) +0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) +0:? 'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) +0:? 'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float) +0:? 'bbinst4e' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2}) +0:? 'bbinst5e' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2}) +0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) +0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g}) +0:? 'spinst' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b}) +0:? 'aconst' (4-element array of int) +0:? 'bconst' (64-element array of int) +0:? 'start2' (const int) +0:? 5 (const int) +0:? 'v6' (layout(location=19 ) in 4-component vector of float) +0:? 'ininst2' (in block{layout(location=28 component=0 ) in bool b1, layout(location=29 component=0 ) in float f1, layout(location=25 ) in float f2}) +0:? 'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2}) +0:? 'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv}) +0:? 'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) +0:? 'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float) +0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1}) +0:? 'bbinst5' (out block{layout(xfb_buffer=1 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=1 xfb_offset=64 xfb_stride=80 ) out 4-component vector of float bbv2}) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/430scope.vert.out b/Test/baseResults/430scope.vert.out index 768ba1a..802c8f3 100644 --- a/Test/baseResults/430scope.vert.out +++ b/Test/baseResults/430scope.vert.out @@ -1,5 +1,5 @@ 430scope.vert -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:5: 'a' : redefinition ERROR: 0:17: 'b' : function name is redeclaration of existing name ERROR: 0:20: 'c' : redefinition @@ -64,7 +64,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, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:49 'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 0:49 Constant: 0:49 0 (const uint) 0:49 Construct vec4 (4-component vector of float) @@ -129,4 +129,115 @@ Linked vertex stage: Shader version: 430 +ERROR: node is still EOpNull! +0:3 Function Definition: f(i1;i1;i1; (int) +0:3 Function Parameters: +0:3 'a' (in int) +0:3 'b' (in int) +0:3 'c' (in int) +0:? Sequence +0:8 Sequence +0:8 Sequence +0:8 move second child to first child (float) +0:8 'a' (float) +0:8 add (float) +0:8 Convert int to float (float) +0:8 'a' (in int) +0:8 Constant: +0:8 1.000000 +0:11 Branch: Return with expression +0:11 'a' (in int) +0:25 Function Definition: cos(f1; (float) +0:25 Function Parameters: +0:25 'x' (in float) +0:27 Sequence +0:27 Branch: Return with expression +0:27 Constant: +0:27 1.000000 +0:29 Function Definition: radians(b1; (bool) +0:29 Function Parameters: +0:29 'x' (in bool) +0:31 Sequence +0:31 Branch: Return with expression +0:31 Constant: +0:31 true (const bool) +0:36 Function Definition: main( (void) +0:36 Function Parameters: +0:? Sequence +0:39 Function Call: g( (int) +0:42 'sin' (float) +0:43 Constant: +0:43 0.000000 +0:44 Function Call: f(i1;i1;i1; (int) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 2 (const int) +0:44 Constant: +0:44 3 (const int) +0:47 move second child to first child (float) +0:47 'f' (float) +0:47 Constant: +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, out 1-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 1-element 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) +0:49 'f' (float) +0:51 Sequence +0:51 Sequence +0:51 move second child to first child (int) +0:51 'f' (int) +0:51 Constant: +0:51 0 (const int) +0:51 Loop with condition tested first +0:51 Loop Condition +0:51 Compare Less Than (bool) +0:51 'f' (int) +0:51 Constant: +0:51 10 (const int) +0:51 Loop Body +0:52 Pre-Increment (int) +0:52 'f' (int) +0:51 Loop Terminal Expression +0:51 Pre-Increment (int) +0:51 'f' (int) +0:54 Sequence +0:54 move second child to first child (int) +0:54 'x' (int) +0:54 Constant: +0:54 1 (const int) +0:56 Sequence +0:56 Sequence +0:56 move second child to first child (float) +0:56 'x' (float) +0:56 Constant: +0:56 2.000000 +0:56 move second child to first child (float) +0:56 'y' (float) +0:56 'x' (float) +0:60 Sequence +0:60 Sequence +0:60 move second child to first child (int) +0:60 'x' (int) +0:60 'x' (int) +0:68 Sequence +0:68 Sequence +0:68 move second child to first child (structure{int x}) +0:68 'S' (structure{int x}) +0:68 Constant: +0:68 0 (const int) +0:69 x: direct index for structure (int) +0:69 'S' (structure{int x}) +0:69 Constant: +0:69 0 (const int) +0:73 Constant: +0:73 0.000000 +0:? Linker Objects +0:? 'b' (bool) +0:? 'tan' (float) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/440.frag.out b/Test/baseResults/440.frag.out index 158871b..eb5632a 100644 --- a/Test/baseResults/440.frag.out +++ b/Test/baseResults/440.frag.out @@ -1,5 +1,5 @@ 440.frag -Warning, version 440 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 440 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:11: 'location' : overlapping use of location 4 ERROR: 0:13: 'component' : type overflows the available 4 components ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30 @@ -92,4 +92,40 @@ Linked fragment stage: ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point Shader version: 440 +ERROR: node is still EOpNull! +0:? Linker Objects +0:? 'a' (layout(location=4 component=2 ) smooth in 2-component vector of float) +0:? 'b' (layout(location=4 component=1 ) smooth in float) +0:? 'h' (layout(location=4 component=2 ) smooth in 2-component vector of float) +0:? 'c' (layout(location=3 component=2 ) smooth in 3-component vector of float) +0:? 'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float) +0:? 'f' (layout(location=20 component=3 ) smooth in 6-element array of float) +0:? 'be' (layout(location=30 component=3 ) out int) +0:? 'bf' (layout(location=30 component=0 ) out 3-component vector of float) +0:? 'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a}) +0:? 'inst2' (layout(offset=12 ) in block{in int a}) +0:? 'inst3' (layout(offset=12 ) out block{out int a}) +0:? 'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a}) +0:? 'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a}) +0:? 'inst5' (layout(align=16 ) in block{in int a}) +0:? 'inst6' (layout(align=16 ) out block{out int a}) +0:? 'v1' (layout(offset=12 ) uniform 4-component vector of float) +0:? 'v2' (layout(offset=12 ) smooth in 4-component vector of float) +0:? 'v3' (layout(offset=12 ) out 4-component vector of float) +0:? 'v4' (layout(align=16 ) uniform 4-component vector of float) +0:? 'v5' (layout(align=16 ) smooth in 4-component vector of float) +0:? 'v6' (layout(align=16 ) out 4-component vector of float) +0:? 'v7' (layout(std140 ) uniform 4-component vector of float) +0:? 'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f}) +0:? 'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g}) +0:? 'inst9' (layout(column_major std430 align=32 ) uniform block{layout(column_major std430 align=32 ) uniform float e, layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 offset=20 align=32 ) uniform float g, layout(column_major std430 align=32 ) uniform float h}) +0:? 'inst11' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=12 align=4 ) uniform float f, layout(column_major std430 ) uniform float g}) +0:? 'specExampleErrors' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float c, layout(column_major std140 offset=56 ) uniform double g, layout(column_major std140 offset=72 ) uniform double h}) +0:? 'specExample' (layout(column_major std140 ) uniform block{layout(column_major std140 offset=0 ) uniform 4-component vector of float a, layout(column_major std140 offset=32 ) uniform 3-component vector of float b, layout(column_major std140 offset=48 ) uniform 2-component vector of float d, layout(column_major std140 offset=64 align=16 ) uniform float e, layout(column_major std140 offset=72 align=2 ) uniform double f, layout(column_major std140 offset=80 ) uniform float h, layout(column_major std140 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std140 offset=168 align=8 ) uniform float j}) +0:? 'specExampleErrors430' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform 4-component vector of float a, layout(column_major std430 offset=32 ) uniform 3-component vector of float b, layout(column_major std430 offset=48 ) uniform 2-component vector of float c, layout(column_major std430 offset=56 ) uniform double g, layout(column_major std430 offset=72 ) uniform double h}) +0:? 'specExample430' (layout(column_major std430 ) uniform block{layout(column_major std430 offset=0 ) uniform 4-component vector of float a, layout(column_major std430 offset=32 ) uniform 3-component vector of float b, layout(column_major std430 offset=48 ) uniform 2-component vector of float d, layout(column_major std430 offset=64 align=16 ) uniform float e, layout(column_major std430 offset=72 align=2 ) uniform double f, layout(column_major std430 offset=80 ) uniform float h, layout(column_major std430 offset=128 align=64 ) uniform 3-component vector of double i, layout(column_major std430 offset=168 align=8 ) uniform float j}) +0:? 'specExample4300' (layout(column_major std430 align=128 ) uniform block{layout(column_major std430 offset=0 align=128 ) uniform 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) uniform 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) uniform 2-component vector of float d, layout(column_major std430 offset=384 align=128 ) uniform float e, layout(column_major std430 offset=512 align=128 ) uniform double f, layout(column_major std430 offset=640 align=128 ) uniform float h, layout(column_major std430 offset=768 align=128 ) uniform 3-component vector of double i}) +0:? 'specExample4301' (layout(column_major std430 align=128 ) uniform block{layout(column_major std430 offset=0 align=128 ) uniform 4-component vector of float a, layout(column_major std430 offset=128 align=128 ) uniform 3-component vector of float b, layout(column_major std430 offset=256 align=128 ) uniform 2-component vector of float d, layout(column_major std430 offset=512 align=128 ) uniform float e, layout(column_major std430 offset=520 align=8 ) uniform double f, layout(column_major std430 offset=640 align=128 ) uniform float h, layout(column_major std430 offset=768 align=128 ) uniform 3-component vector of double i}) +0:? 'aconst' (4-element array of int) +0:? 'bconst' (64-element array of int) diff --git a/Test/baseResults/440.vert.out b/Test/baseResults/440.vert.out index 3d3f582..5bf7670 100644 --- a/Test/baseResults/440.vert.out +++ b/Test/baseResults/440.vert.out @@ -1,5 +1,5 @@ 440.vert -Warning, version 440 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 440 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:8: 'component' : type overflows the available 4 components ERROR: 0:15: 'component' : component is too large ERROR: 0:23: 'location' : overlapping use of location 4 @@ -115,4 +115,56 @@ ERROR: xfb_buffer 7, components (1/4 stride) needed are 66, gl_MaxTransformF Shader version: 440 in xfb mode +ERROR: node is still EOpNull! +0:? Linker Objects +0:? 'a' (layout(location=2 component=2 ) in 2-component vector of float) +0:? 'b' (layout(location=2 component=1 ) in float) +0:? 'c' (layout(location=3 component=2 ) in 3-component vector of float) +0:? 'd' (layout(location=0 component=3 ) in 4-element array of float) +0:? 'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float) +0:? 'f' (layout(location=4 component=3 ) in 5-element array of float) +0:? 'g' (layout(location=9 ) in 6-element array of float) +0:? 'h' (layout(location=4 component=2 ) in 2-component vector of float) +0:? 'i' (layout(location=3 component=2 ) smooth out 2-component vector of float) +0:? 'j' (layout(location=3 component=0 ) smooth out 2-component vector of float) +0:? 'k' (layout(location=4 component=2 ) smooth out 2-component vector of float) +0:? 'm' (layout(location=4 component=2 ) smooth out 2-component vector of float) +0:? 'n' (layout(location=2 component=2 ) smooth out 2-component vector of float) +0:? 'p' (layout(location=2 component=0 ) smooth out 3-component vector of float) +0:? 'q' (layout(location=10 component=3 ) smooth out 6-element array of float) +0:? 'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float) +0:? 's' (layout(location=15 component=3 ) smooth out float) +0:? 't' (layout(location=10 component=1 ) smooth out float) +0:? 'u' (layout(location=20 component=2 ) smooth out float) +0:? 'v' (layout(location=20 component=0 ) smooth out float) +0:? 'w' (layout(location=20 component=3 ) smooth out float) +0:? 'x' (layout(location=20 component=1 ) smooth out 2-component vector of float) +0:? 'y' (layout(location=30 component=3 ) smooth out 2-component vector of float) +0:? 'z' (layout(location=31 component=1 ) smooth out 4-component vector of float) +0:? 'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float) +0:? 'Ss' (layout(location=33 component=1 ) smooth out structure{int a}) +0:? 'bb' (layout(location=34 component=1 ) out block{out int a}) +0:? 'bc' (layout(location=63 component=1 ) smooth out float) +0:? 'bd' (out block{layout(location=40 component=2 ) out float u, layout(location=40 component=0 ) out float v, layout(location=40 component=3 ) out float w, layout(location=40 component=1 ) out 2-component vector of float x, layout(location=41 component=3 ) out 2-component vector of float y, layout(location=42 component=1 ) out 4-component vector of float z, layout(location=42 component=1 ) out 4X4 matrix of float ba, layout(location=43 component=1 ) out structure{int a} Ss}) +0:? 'be' (layout(location=50 component=3 ) smooth out int) +0:? 'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float) +0:? 'bbinst1' (out block{out 4-component vector of float bbv}) +0:? 'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv}) +0:? 'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv}) +0:? 'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv}) +0:? 'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float) +0:? 'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float) +0:? 'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=2 xfb_offset=16 ) out 4-component vector of float bbv1, layout(xfb_buffer=2 xfb_offset=32 ) out 4-component vector of float bbv2}) +0:? 'bbinst5' (out block{layout(xfb_buffer=3 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=48 xfb_stride=64 ) out 4-component vector of float bbv2, out 4-component vector of float bbv3}) +0:? 'bbinst6' (out block{layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv1, layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) out 4-component vector of float bbv2, layout(xfb_buffer=2 xfb_offset=0 ) out 4-component vector of float bbv3, out 4-component vector of float bbv5, layout(xfb_buffer=2 xfb_offset=24 ) out float bbf6}) +0:? 'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float) +0:? 'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int) +0:? 'bl' (layout(xfb_stride=48 ) smooth out float) +0:? 'bbinst7' (layout(xfb_stride=48 ) out block{layout(xfb_stride=64 ) out 4-component vector of float bbv1, layout(xfb_stride=32 ) out 4-component vector of float bbv2}) +0:? 'bbinst8' (layout(xfb_stride=92 ) out block{layout(xfb_buffer=0 xfb_offset=0 ) out bool b, layout(xfb_buffer=0 xfb_offset=8 ) out structure{bool b, structure{int i, double d, float f} s, 2-component vector of float v2} t, layout(xfb_buffer=0 xfb_offset=48 ) out int i, layout(xfb_buffer=0 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=0 xfb_offset=88 ) out float f, layout(xfb_buffer=0 xfb_offset=92 ) out float g}) +0:? 'bbinst9' (out block{layout(xfb_buffer=4 xfb_offset=1 ) out bool b, layout(xfb_buffer=4 xfb_offset=12 ) out structure{bool b, structure{int i, double d, float f} s, 2-component vector of float v2} t, layout(xfb_buffer=4 xfb_offset=52 ) out 3X3 matrix of float m3, layout(xfb_buffer=4 xfb_offset=90 ) out int i, layout(xfb_buffer=4 xfb_offset=98 ) out double d, layout(xfb_buffer=4 xfb_offset=108 ) out structure{int a} s}) +0:? 'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float) +0:? 'bbinst10' (out block{layout(xfb_buffer=7 xfb_offset=0 ) out 4X4 matrix of double m1, layout(xfb_buffer=7 xfb_offset=128 ) out 4X4 matrix of double m2, layout(xfb_buffer=7 xfb_offset=256 ) out float f}) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/Operations.frag.out b/Test/baseResults/Operations.frag.out index e0834bd..5381959 100644 --- a/Test/baseResults/Operations.frag.out +++ b/Test/baseResults/Operations.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/Operations.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. Shader version: 130 0:? Sequence @@ -439,4 +438,435 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:15 Function Definition: main( (void) +0:15 Function Parameters: +0:? Sequence +0:27 move second child to first child (4-component vector of float) +0:27 'v' (4-component vector of float) +0:27 radians (4-component vector of float) +0:27 'uv4' (uniform 4-component vector of float) +0:28 add second child into first child (4-component vector of float) +0:28 'v' (4-component vector of float) +0:28 degrees (4-component vector of float) +0:28 'v' (4-component vector of float) +0:29 add second child into first child (4-component vector of float) +0:29 'v' (4-component vector of float) +0:29 Comma (4-component vector of float) +0:29 move second child to first child (int) +0:29 'i' (int) +0:29 component-wise multiply (int) +0:29 'ui' (uniform int) +0:29 'ui' (uniform int) +0:29 sine (4-component vector of float) +0:29 'v' (4-component vector of float) +0:30 add second child into first child (4-component vector of float) +0:30 'v' (4-component vector of float) +0:30 cosine (4-component vector of float) +0:30 'v' (4-component vector of float) +0:31 add second child into first child (4-component vector of float) +0:31 'v' (4-component vector of float) +0:31 tangent (4-component vector of float) +0:31 'v' (4-component vector of float) +0:32 add second child into first child (4-component vector of float) +0:32 'v' (4-component vector of float) +0:32 arc sine (4-component vector of float) +0:32 'v' (4-component vector of float) +0:33 add second child into first child (4-component vector of float) +0:33 'v' (4-component vector of float) +0:33 arc cosine (4-component vector of float) +0:33 'v' (4-component vector of float) +0:35 add second child into first child (4-component vector of float) +0:35 'v' (4-component vector of float) +0:35 arc tangent (4-component vector of float) +0:35 'v' (4-component vector of float) +0:36 add second child into first child (4-component vector of float) +0:36 'v' (4-component vector of float) +0:36 hyp. sine (4-component vector of float) +0:36 'v' (4-component vector of float) +0:37 add second child into first child (4-component vector of float) +0:37 'v' (4-component vector of float) +0:37 hyp. cosine (4-component vector of float) +0:37 'v' (4-component vector of float) +0:38 add second child into first child (4-component vector of float) +0:38 'v' (4-component vector of float) +0:38 hyp. tangent (4-component vector of float) +0:38 'v' (4-component vector of float) +0:39 add second child into first child (4-component vector of float) +0:39 'v' (4-component vector of float) +0:39 arc hyp. sine (4-component vector of float) +0:39 'v' (4-component vector of float) +0:40 add second child into first child (4-component vector of float) +0:40 'v' (4-component vector of float) +0:40 arc hyp. cosine (4-component vector of float) +0:40 'v' (4-component vector of float) +0:41 add second child into first child (4-component vector of float) +0:41 'v' (4-component vector of float) +0:41 arc hyp. tangent (4-component vector of float) +0:41 'v' (4-component vector of float) +0:43 add second child into first child (4-component vector of float) +0:43 'v' (4-component vector of float) +0:43 pow (4-component vector of float) +0:43 'v' (4-component vector of float) +0:43 'v' (4-component vector of float) +0:44 add second child into first child (4-component vector of float) +0:44 'v' (4-component vector of float) +0:44 exp (4-component vector of float) +0:44 'v' (4-component vector of float) +0:45 add second child into first child (4-component vector of float) +0:45 'v' (4-component vector of float) +0:45 log (4-component vector of float) +0:45 'v' (4-component vector of float) +0:46 add second child into first child (4-component vector of float) +0:46 'v' (4-component vector of float) +0:46 exp2 (4-component vector of float) +0:46 'v' (4-component vector of float) +0:47 add second child into first child (4-component vector of float) +0:47 'v' (4-component vector of float) +0:47 log2 (4-component vector of float) +0:47 'v' (4-component vector of float) +0:48 add second child into first child (4-component vector of float) +0:48 'v' (4-component vector of float) +0:48 sqrt (4-component vector of float) +0:48 'v' (4-component vector of float) +0:49 add second child into first child (4-component vector of float) +0:49 'v' (4-component vector of float) +0:49 inverse sqrt (4-component vector of float) +0:49 'v' (4-component vector of float) +0:50 add second child into first child (4-component vector of float) +0:50 'v' (4-component vector of float) +0:50 Absolute value (4-component vector of float) +0:50 'v' (4-component vector of float) +0:51 add second child into first child (4-component vector of float) +0:51 'v' (4-component vector of float) +0:51 Sign (4-component vector of float) +0:51 'v' (4-component vector of float) +0:52 add second child into first child (4-component vector of float) +0:52 'v' (4-component vector of float) +0:52 Floor (4-component vector of float) +0:52 'v' (4-component vector of float) +0:60 add second child into first child (4-component vector of float) +0:60 'v' (4-component vector of float) +0:60 Ceiling (4-component vector of float) +0:60 'v' (4-component vector of float) +0:61 add second child into first child (4-component vector of float) +0:61 'v' (4-component vector of float) +0:61 Fraction (4-component vector of float) +0:61 'v' (4-component vector of float) +0:62 add second child into first child (4-component vector of float) +0:62 'v' (4-component vector of float) +0:62 mod (4-component vector of float) +0:62 'v' (4-component vector of float) +0:62 'v' (4-component vector of float) +0:63 add second child into first child (4-component vector of float) +0:63 'v' (4-component vector of float) +0:63 mod (4-component vector of float) +0:63 'v' (4-component vector of float) +0:63 direct index (float) +0:63 'v' (4-component vector of float) +0:63 Constant: +0:63 0 (const int) +0:69 add second child into first child (4-component vector of float) +0:69 'v' (4-component vector of float) +0:69 min (4-component vector of float) +0:69 'v' (4-component vector of float) +0:69 'uv4' (uniform 4-component vector of float) +0:70 add second child into first child (4-component vector of float) +0:70 'v' (4-component vector of float) +0:70 max (4-component vector of float) +0:70 'v' (4-component vector of float) +0:70 'uv4' (uniform 4-component vector of float) +0:71 add second child into first child (4-component vector of float) +0:71 'v' (4-component vector of float) +0:71 clamp (4-component vector of float) +0:71 'v' (4-component vector of float) +0:71 'uv4' (uniform 4-component vector of float) +0:71 'uv4' (uniform 4-component vector of float) +0:72 add second child into first child (4-component vector of float) +0:72 'v' (4-component vector of float) +0:72 mix (4-component vector of float) +0:72 'v' (4-component vector of float) +0:72 'v' (4-component vector of float) +0:72 'v' (4-component vector of float) +0:86 add second child into first child (4-component vector of float) +0:86 'v' (4-component vector of float) +0:86 step (4-component vector of float) +0:86 'v' (4-component vector of float) +0:86 'v' (4-component vector of float) +0:87 add second child into first child (4-component vector of float) +0:87 'v' (4-component vector of float) +0:87 smoothstep (4-component vector of float) +0:87 'v' (4-component vector of float) +0:87 'v' (4-component vector of float) +0:87 'v' (4-component vector of float) +0:88 add second child into first child (4-component vector of float) +0:88 'v' (4-component vector of float) +0:88 step (4-component vector of float) +0:88 'uf' (uniform float) +0:88 'v' (4-component vector of float) +0:89 add second child into first child (4-component vector of float) +0:89 'v' (4-component vector of float) +0:89 smoothstep (4-component vector of float) +0:89 'uf' (uniform float) +0:89 'uf' (uniform float) +0:89 'v' (4-component vector of float) +0:90 add second child into first child (4-component vector of float) +0:90 'v' (4-component vector of float) +0:90 normalize (4-component vector of float) +0:90 'v' (4-component vector of float) +0:91 add second child into first child (4-component vector of float) +0:91 'v' (4-component vector of float) +0:91 face-forward (4-component vector of float) +0:91 'v' (4-component vector of float) +0:91 'v' (4-component vector of float) +0:91 'v' (4-component vector of float) +0:92 add second child into first child (4-component vector of float) +0:92 'v' (4-component vector of float) +0:92 reflect (4-component vector of float) +0:92 'v' (4-component vector of float) +0:92 'v' (4-component vector of float) +0:93 add second child into first child (4-component vector of float) +0:93 'v' (4-component vector of float) +0:93 refract (4-component vector of float) +0:93 'v' (4-component vector of float) +0:93 'v' (4-component vector of float) +0:93 'uf' (uniform float) +0:94 add second child into first child (4-component vector of float) +0:94 'v' (4-component vector of float) +0:94 dPdx (4-component vector of float) +0:94 'v' (4-component vector of float) +0:95 add second child into first child (4-component vector of float) +0:95 'v' (4-component vector of float) +0:95 dPdy (4-component vector of float) +0:95 'v' (4-component vector of float) +0:96 add second child into first child (4-component vector of float) +0:96 'v' (4-component vector of float) +0:96 fwidth (4-component vector of float) +0:96 'v' (4-component vector of float) +0:130 move second child to first child (bool) +0:130 'b' (bool) +0:130 any (bool) +0:130 Compare Less Than (4-component vector of bool) +0:130 'v' (4-component vector of float) +0:130 'uv4' (uniform 4-component vector of float) +0:131 move second child to first child (bool) +0:131 'b' (bool) +0:131 logical-and (bool) +0:131 'b' (bool) +0:131 any (bool) +0:131 Compare Less Than or Equal (4-component vector of bool) +0:131 'v' (4-component vector of float) +0:131 'uv4' (uniform 4-component vector of float) +0:132 move second child to first child (bool) +0:132 'b' (bool) +0:132 logical-and (bool) +0:132 'b' (bool) +0:132 any (bool) +0:132 Compare Greater Than (4-component vector of bool) +0:132 'v' (4-component vector of float) +0:132 'uv4' (uniform 4-component vector of float) +0:133 move second child to first child (bool) +0:133 'b' (bool) +0:133 logical-and (bool) +0:133 'b' (bool) +0:133 any (bool) +0:133 Compare Greater Than or Equal (4-component vector of bool) +0:133 'v' (4-component vector of float) +0:133 'uv4' (uniform 4-component vector of float) +0:134 move second child to first child (bool) +0:134 'b' (bool) +0:134 logical-and (bool) +0:134 'b' (bool) +0:134 any (bool) +0:134 Equal (4-component vector of bool) +0:134 'ub41' (uniform 4-component vector of bool) +0:134 'ub42' (uniform 4-component vector of bool) +0:135 move second child to first child (bool) +0:135 'b' (bool) +0:135 logical-and (bool) +0:135 'b' (bool) +0:135 any (bool) +0:135 NotEqual (4-component vector of bool) +0:135 'ub41' (uniform 4-component vector of bool) +0:135 'ub42' (uniform 4-component vector of bool) +0:136 move second child to first child (bool) +0:136 'b' (bool) +0:136 logical-and (bool) +0:136 'b' (bool) +0:136 any (bool) +0:136 'ub41' (uniform 4-component vector of bool) +0:137 move second child to first child (bool) +0:137 'b' (bool) +0:137 logical-and (bool) +0:137 'b' (bool) +0:137 all (bool) +0:137 'ub41' (uniform 4-component vector of bool) +0:138 move second child to first child (bool) +0:138 'b' (bool) +0:138 logical-and (bool) +0:138 'b' (bool) +0:138 any (bool) +0:138 Negate conditional (4-component vector of bool) +0:138 'ub41' (uniform 4-component vector of bool) +0:140 move second child to first child (int) +0:140 'i' (int) +0:140 divide (int) +0:140 subtract (int) +0:140 component-wise multiply (int) +0:140 add (int) +0:140 'i' (int) +0:140 'ui' (uniform int) +0:140 'i' (int) +0:140 'ui' (uniform int) +0:140 'i' (int) +0:141 move second child to first child (int) +0:141 'i' (int) +0:141 mod (int) +0:141 'i' (int) +0:141 'ui' (uniform int) +0:142 Test condition and select (void) +0:142 Condition +0:142 logical-or (bool) +0:142 Compare Equal (bool) +0:142 'i' (int) +0:142 'ui' (uniform int) +0:142 logical-xor (bool) +0:142 logical-and (bool) +0:142 Compare Not Equal (bool) +0:142 'i' (int) +0:142 'ui' (uniform int) +0:142 Compare Equal (bool) +0:142 'i' (int) +0:142 'ui' (uniform int) +0:142 Compare Not Equal (bool) +0:142 'i' (int) +0:142 Constant: +0:142 2 (const int) +0:142 true case +0:143 Pre-Increment (int) +0:143 'i' (int) +0:145 move second child to first child (float) +0:145 'f' (float) +0:145 divide (float) +0:145 subtract (float) +0:145 component-wise multiply (float) +0:145 add (float) +0:145 'uf' (uniform float) +0:145 'uf' (uniform float) +0:145 'uf' (uniform float) +0:145 'uf' (uniform float) +0:145 'uf' (uniform float) +0:147 add second child into first child (float) +0:147 'f' (float) +0:147 length (float) +0:147 'v' (4-component vector of float) +0:148 add second child into first child (float) +0:148 'f' (float) +0:148 distance (float) +0:148 'v' (4-component vector of float) +0:148 'v' (4-component vector of float) +0:149 add second child into first child (float) +0:149 'f' (float) +0:149 dot-product (float) +0:149 'v' (4-component vector of float) +0:149 'v' (4-component vector of float) +0:150 add second child into first child (float) +0:150 'f' (float) +0:150 dot-product (float) +0:150 'f' (float) +0:150 'uf' (uniform float) +0:151 add second child into first child (float) +0:151 'f' (float) +0:151 direct index (float) +0:151 cross-product (3-component vector of float) +0:151 vector swizzle (3-component vector of float) +0:151 'v' (4-component vector of float) +0:151 Sequence +0:151 Constant: +0:151 0 (const int) +0:151 Constant: +0:151 1 (const int) +0:151 Constant: +0:151 2 (const int) +0:151 vector swizzle (3-component vector of float) +0:151 'v' (4-component vector of float) +0:151 Sequence +0:151 Constant: +0:151 0 (const int) +0:151 Constant: +0:151 1 (const int) +0:151 Constant: +0:151 2 (const int) +0:151 Constant: +0:151 0 (const int) +0:153 Test condition and select (void) +0:153 Condition +0:153 logical-or (bool) +0:153 Compare Equal (bool) +0:153 'f' (float) +0:153 'uf' (uniform float) +0:153 logical-and (bool) +0:153 Compare Not Equal (bool) +0:153 'f' (float) +0:153 'uf' (uniform float) +0:153 Compare Not Equal (bool) +0:153 'f' (float) +0:153 Constant: +0:153 2.000000 +0:153 true case +0:154 Pre-Increment (float) +0:154 'f' (float) +0:156 and second child into first child (int) +0:156 'i' (int) +0:156 'ui' (uniform int) +0:157 or second child into first child (int) +0:157 'i' (int) +0:157 Constant: +0:157 66 (const int) +0:158 exclusive or second child into first child (int) +0:158 'i' (int) +0:158 'ui' (uniform int) +0:159 mod second child into first child (int) +0:159 'i' (int) +0:159 Constant: +0:159 17 (const int) +0:160 right shift second child into first child (int) +0:160 'i' (int) +0:160 Constant: +0:160 2 (const int) +0:161 left shift second child into first child (int) +0:161 'i' (int) +0:161 'ui' (uniform int) +0:162 move second child to first child (int) +0:162 'i' (int) +0:162 Bitwise not (int) +0:162 'i' (int) +0:163 move second child to first child (bool) +0:163 'b' (bool) +0:163 Negate conditional (bool) +0:163 'b' (bool) +0:165 move second child to first child (4-component vector of float) +0:165 'gl_FragColor' (fragColor 4-component vector of float) +0:165 Test condition and select (4-component vector of float) +0:165 Condition +0:165 'b' (bool) +0:165 true case +0:165 add (4-component vector of float) +0:165 add (4-component vector of float) +0:165 Construct vec4 (4-component vector of float) +0:165 Convert int to float (float) +0:165 'i' (int) +0:165 Construct vec4 (4-component vector of float) +0:165 'f' (float) +0:165 'v' (4-component vector of float) +0:165 false case +0:165 'v' (4-component vector of float) +0:? Linker Objects +0:? 'uiv4' (uniform 4-component vector of int) +0:? 'uv4' (uniform 4-component vector of float) +0:? 'ub' (uniform bool) +0:? 'ub41' (uniform 4-component vector of bool) +0:? 'ub42' (uniform 4-component vector of bool) +0:? 'uf' (uniform float) +0:? 'ui' (uniform int) diff --git a/Test/baseResults/aggOps.frag.out b/Test/baseResults/aggOps.frag.out index b3916c6..d6b717c 100644 --- a/Test/baseResults/aggOps.frag.out +++ b/Test/baseResults/aggOps.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/aggOps.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:6: varying deprecated in version 130; may be removed in future release @@ -153,4 +152,147 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:23 Function Definition: main( (void) +0:23 Function Parameters: +0:? Sequence +0:27 move second child to first child (3-element array of structure{int i, float f}) +0:27 'a' (3-element array of structure{int i, float f}) +0:27 Construct structure (3-element array of structure{int i, float f}) +0:27 Construct structure (structure{int i, float f}) +0:27 Convert float to int (int) +0:27 direct index (float) +0:27 'u' (smooth in 4-component vector of float) +0:27 Constant: +0:27 0 (const int) +0:27 direct index (float) +0:27 'u' (smooth in 4-component vector of float) +0:27 Constant: +0:27 1 (const int) +0:27 Construct structure (structure{int i, float f}) +0:27 Convert float to int (int) +0:27 direct index (float) +0:27 'u' (smooth in 4-component vector of float) +0:27 Constant: +0:27 2 (const int) +0:27 direct index (float) +0:27 'u' (smooth in 4-component vector of float) +0:27 Constant: +0:27 3 (const int) +0:27 Constant: +0:27 14 (const int) +0:27 14.000000 +0:28 move second child to first child (3-element array of structure{int i, float f}) +0:28 'b' (3-element array of structure{int i, float f}) +0:28 Construct structure (3-element array of structure{int i, float f}) +0:28 Constant: +0:28 17 (const int) +0:28 17.000000 +0:28 Construct structure (structure{int i, float f}) +0:28 Convert float to int (int) +0:28 direct index (float) +0:28 'w' (smooth in 4-component vector of float) +0:28 Constant: +0:28 0 (const int) +0:28 direct index (float) +0:28 'w' (smooth in 4-component vector of float) +0:28 Constant: +0:28 1 (const int) +0:28 Construct structure (structure{int i, float f}) +0:28 Convert float to int (int) +0:28 direct index (float) +0:28 'w' (smooth in 4-component vector of float) +0:28 Constant: +0:28 2 (const int) +0:28 direct index (float) +0:28 'w' (smooth in 4-component vector of float) +0:28 Constant: +0:28 3 (const int) +0:30 Test condition and select (void) +0:30 Condition +0:30 Compare Equal (bool) +0:30 'foo2a' (uniform structure{int i, float f, structure{int i, float f} s1_1}) +0:30 'foo2b' (uniform structure{int i, float f, structure{int i, float f} s1_1}) +0:30 true case +0:31 move second child to first child (4-component vector of float) +0:31 'v' (4-component vector of float) +0:31 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:31 'sampler' (uniform sampler2D) +0:31 'coord' (smooth in 2-component vector of float) +0:30 false case +0:33 move second child to first child (4-component vector of float) +0:33 'v' (4-component vector of float) +0:33 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:33 'sampler' (uniform sampler2D) +0:33 vector-scale (2-component vector of float) +0:33 Constant: +0:33 2.000000 +0:33 'coord' (smooth in 2-component vector of float) +0:35 Test condition and select (void) +0:35 Condition +0:35 Compare Equal (bool) +0:35 'u' (smooth in 4-component vector of float) +0:35 'v' (4-component vector of float) +0:35 true case +0:36 vector scale second child into first child (4-component vector of float) +0:36 'v' (4-component vector of float) +0:36 Constant: +0:36 3.000000 +0:38 Test condition and select (void) +0:38 Condition +0:38 Compare Not Equal (bool) +0:38 'u' (smooth in 4-component vector of float) +0:38 'v' (4-component vector of float) +0:38 true case +0:39 vector scale second child into first child (4-component vector of float) +0:39 'v' (4-component vector of float) +0:39 Constant: +0:39 4.000000 +0:41 Test condition and select (void) +0:41 Condition +0:41 Compare Equal (bool) +0:41 'coord' (smooth in 2-component vector of float) +0:41 vector swizzle (2-component vector of float) +0:41 'v' (4-component vector of float) +0:41 Sequence +0:41 Constant: +0:41 1 (const int) +0:41 Constant: +0:41 3 (const int) +0:41 true case +0:42 vector scale second child into first child (4-component vector of float) +0:42 'v' (4-component vector of float) +0:42 Constant: +0:42 5.000000 +0:44 Test condition and select (void) +0:44 Condition +0:44 Compare Equal (bool) +0:44 'a' (3-element array of structure{int i, float f}) +0:44 'b' (3-element array of structure{int i, float f}) +0:44 true case +0:45 vector scale second child into first child (4-component vector of float) +0:45 'v' (4-component vector of float) +0:45 Constant: +0:45 6.000000 +0:47 Test condition and select (void) +0:47 Condition +0:47 Compare Not Equal (bool) +0:47 'a' (3-element array of structure{int i, float f}) +0:47 'b' (3-element array of structure{int i, float f}) +0:47 true case +0:48 vector scale second child into first child (4-component vector of float) +0:48 'v' (4-component vector of float) +0:48 Constant: +0:48 7.000000 +0:50 move second child to first child (4-component vector of float) +0:50 'gl_FragColor' (fragColor 4-component vector of float) +0:50 'v' (4-component vector of float) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) +0:? 'u' (smooth in 4-component vector of float) +0:? 'w' (smooth in 4-component vector of float) +0:? 'foo1' (uniform structure{int i, float f}) +0:? 'foo2a' (uniform structure{int i, float f, structure{int i, float f} s1_1}) +0:? 'foo2b' (uniform structure{int i, float f, structure{int i, float f} s1_1}) diff --git a/Test/baseResults/always-discard.frag.out b/Test/baseResults/always-discard.frag.out index ba2c58e..c190049 100644 --- a/Test/baseResults/always-discard.frag.out +++ b/Test/baseResults/always-discard.frag.out @@ -122,4 +122,119 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:4 Function Definition: main( (void) +0:4 Function Parameters: +0:6 Sequence +0:6 Sequence +0:6 move second child to first child (4-component vector of float) +0:6 'white' (4-component vector of float) +0:6 Constant: +0:6 1.000000 +0:6 1.000000 +0:6 1.000000 +0:6 1.000000 +0:7 Sequence +0:7 move second child to first child (4-component vector of float) +0:7 'black' (4-component vector of float) +0:7 Constant: +0:7 0.200000 +0:7 0.200000 +0:7 0.200000 +0:7 0.200000 +0:8 Sequence +0:8 move second child to first child (4-component vector of float) +0:8 'color' (4-component vector of float) +0:8 'white' (4-component vector of float) +0:11 Sequence +0:11 move second child to first child (float) +0:11 'x' (float) +0:11 subtract (float) +0:11 component-wise multiply (float) +0:11 direct index (float) +0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 2.000000 +0:11 Constant: +0:11 1.000000 +0:12 Sequence +0:12 move second child to first child (float) +0:12 'y' (float) +0:12 subtract (float) +0:12 component-wise multiply (float) +0:12 direct index (float) +0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 Constant: +0:12 1 (const int) +0:12 Constant: +0:12 2.000000 +0:12 Constant: +0:12 1.000000 +0:14 Sequence +0:14 move second child to first child (float) +0:14 'radius' (float) +0:14 sqrt (float) +0:14 add (float) +0:14 component-wise multiply (float) +0:14 'x' (float) +0:14 'x' (float) +0:14 component-wise multiply (float) +0:14 'y' (float) +0:14 'y' (float) +0:15 Test condition and select (void) +0:15 Condition +0:15 Compare Greater Than (bool) +0:15 'radius' (float) +0:15 Constant: +0:15 1.000000 +0:15 true case +0:16 Sequence +0:16 Test condition and select (void) +0:16 Condition +0:16 Compare Greater Than (bool) +0:16 'radius' (float) +0:16 Constant: +0:16 1.100000 +0:16 true case +0:17 Sequence +0:17 Pre-Increment (4-component vector of float) +0:17 'color' (4-component vector of float) +0:20 move second child to first child (4-component vector of float) +0:20 'gl_FragColor' (fragColor 4-component vector of float) +0:20 'color' (4-component vector of float) +0:22 Test condition and select (void) +0:22 Condition +0:22 Compare Greater Than (bool) +0:22 'radius' (float) +0:22 Constant: +0:22 1.200000 +0:22 true case +0:23 Sequence +0:23 Pre-Increment (4-component vector of float) +0:23 'color' (4-component vector of float) +0:28 Branch: Kill +0:31 Test condition and select (void) +0:31 Condition +0:31 Compare Greater Than or Equal (bool) +0:31 'radius' (float) +0:31 Constant: +0:31 0.750000 +0:31 true case +0:32 subtract second child into first child (4-component vector of float) +0:32 'color' (4-component vector of float) +0:32 Absolute value (float) +0:32 divide (float) +0:32 pow (float) +0:32 'radius' (float) +0:32 Constant: +0:32 16.000000 +0:32 Constant: +0:32 2.000000 +0:34 move second child to first child (4-component vector of float) +0:34 'gl_FragColor' (fragColor 4-component vector of float) +0:34 'color' (4-component vector of float) +0:? Linker Objects +0:? 'tex_coord' (smooth in 2-component vector of float) diff --git a/Test/baseResults/always-discard2.frag.out b/Test/baseResults/always-discard2.frag.out index 199d1ae..c656faf 100644 --- a/Test/baseResults/always-discard2.frag.out +++ b/Test/baseResults/always-discard2.frag.out @@ -63,4 +63,60 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:4 Function Definition: main( (void) +0:4 Function Parameters: +0:6 Sequence +0:6 Sequence +0:6 move second child to first child (4-component vector of float) +0:6 'white' (4-component vector of float) +0:6 Constant: +0:6 1.000000 +0:6 1.000000 +0:6 1.000000 +0:6 1.000000 +0:7 Sequence +0:7 move second child to first child (4-component vector of float) +0:7 'black' (4-component vector of float) +0:7 Constant: +0:7 0.200000 +0:7 0.200000 +0:7 0.200000 +0:7 0.200000 +0:8 Sequence +0:8 move second child to first child (4-component vector of float) +0:8 'color' (4-component vector of float) +0:8 'white' (4-component vector of float) +0:11 Sequence +0:11 move second child to first child (float) +0:11 'x' (float) +0:11 subtract (float) +0:11 component-wise multiply (float) +0:11 direct index (float) +0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 2.000000 +0:11 Constant: +0:11 1.000000 +0:12 Sequence +0:12 move second child to first child (float) +0:12 'y' (float) +0:12 subtract (float) +0:12 component-wise multiply (float) +0:12 direct index (float) +0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 Constant: +0:12 1 (const int) +0:12 Constant: +0:12 2.000000 +0:12 Constant: +0:12 1.000000 +0:14 Branch: Kill +0:17 move second child to first child (4-component vector of float) +0:17 'gl_FragColor' (fragColor 4-component vector of float) +0:17 'color' (4-component vector of float) +0:? Linker Objects +0:? 'tex_coord' (smooth in 2-component vector of float) diff --git a/Test/baseResults/array.frag.out b/Test/baseResults/array.frag.out index ac66a63..f4c167b 100644 --- a/Test/baseResults/array.frag.out +++ b/Test/baseResults/array.frag.out @@ -1,5 +1,4 @@ array.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. ERROR: 0:21: '[' : array index out of range '2' ERROR: 0:27: '[' : array must be redeclared with a size before being indexed with a variable ERROR: 0:30: 'assign' : cannot convert from '4-element array of float' to '5-element array of float' @@ -17,7 +16,13 @@ ERROR: 0:58: '[]' : scalar integer expression required ERROR: 0:61: '' : array size required ERROR: 0:62: '' : array size required ERROR: 0:63: '' : array size required -ERROR: 17 compilation errors. No code generated. +ERROR: 0:66: '=' : cannot convert from '3-component vector of float' to 'float' +ERROR: 0:76: 'bar' : no matching overloaded function found +ERROR: 0:79: '' : array size required +ERROR: 0:84: 'return' : function return is not matching type: +ERROR: 0:93: 'length' : array must be declared with a size before using this method +ERROR: 0:101: '[' : array index out of range '5' +ERROR: 23 compilation errors. No code generated. Shader version: 130 @@ -186,15 +191,321 @@ ERROR: node is still EOpNull! 0:58 1 (const int) 0:58 Constant: 0:58 4 (const int) +0:68 Function Definition: foo( (void) +0:68 Function Parameters: +0:? Sequence +0:71 move second child to first child (int) +0:71 direct index (int) +0:71 'uns' (implicitly-sized array of int) +0:71 Constant: +0:71 3 (const int) +0:71 Constant: +0:71 40 (const int) +0:72 move second child to first child (int) +0:72 direct index (int) +0:72 'uns' (implicitly-sized array of int) +0:72 Constant: +0:72 1 (const int) +0:72 Constant: +0:72 30 (const int) +0:73 move second child to first child (3-component vector of float) +0:73 direct index (3-component vector of float) +0:73 'guns' (implicitly-sized array of 3-component vector of float) +0:73 Constant: +0:73 2 (const int) +0:73 Constant: +0:73 2.400000 +0:73 2.400000 +0:73 2.400000 +0:76 Constant: +0:76 0.000000 +0:79 Function Definition: foo2( (implicitly-sized array of float) +0:79 Function Parameters: +0:? Sequence +0:82 Branch: Return with expression +0:82 'f' (implicitly-sized array of float) +0:84 Branch: Return with expression +0:84 'g' (9-element array of float) +0:89 Function Definition: foo3( (void) +0:89 Function Parameters: +0:? Sequence +0:92 move second child to first child (float) +0:92 direct index (float) +0:92 'resize1' (3-element array of float) +0:92 Constant: +0:92 2 (const int) +0:92 Constant: +0:92 4.000000 +0:93 Constant: +0:93 1 (const int) +0:95 Constant: +0:95 3 (const int) +0:98 move second child to first child (float) +0:98 direct index (float) +0:98 'resize2' (5-element array of float) +0:98 Constant: +0:98 5 (const int) +0:98 Constant: +0:98 4.000000 +0:100 Constant: +0:100 5 (const int) +0:101 move second child to first child (float) +0:101 direct index (float) +0:101 'resize2' (5-element array of float) +0:101 Constant: +0:101 5 (const int) +0:101 Constant: +0:101 4.000000 0:? Linker Objects 0:? 'gu' (implicitly-sized array of float) 0:? 'g4' (4-element array of float) 0:? 'g5' (5-element array of float) 0:? 'a' (uniform int) +0:? 'guns' (implicitly-sized array of 3-component vector of float) +0:? 'f' (float) +0:? 'gUnusedUnsized' (implicitly-sized array of float) Linked fragment stage: Shader version: 130 +ERROR: node is still EOpNull! +0:9 Function Definition: foo(f1[5]; (4-element array of float) +0:9 Function Parameters: +0:9 'a' (in 5-element array of float) +0:11 Sequence +0:11 Branch: Return with expression +0:11 Construct float (4-element array of float) +0:11 direct index (float) +0:11 'a' (in 5-element array of float) +0:11 Constant: +0:11 0 (const int) +0:11 direct index (float) +0:11 'a' (in 5-element array of float) +0:11 Constant: +0:11 1 (const int) +0:11 direct index (float) +0:11 'a' (in 5-element array of float) +0:11 Constant: +0:11 2 (const int) +0:11 direct index (float) +0:11 'a' (in 5-element array of float) +0:11 Constant: +0:11 3 (const int) +0:14 Function Definition: bar(f1[5]; (void) +0:14 Function Parameters: +0:14 '' (in 5-element array of float) +0:16 Function Definition: main( (void) +0:16 Function Parameters: +0:? Sequence +0:? Sequence +0:21 move second child to first child (float) +0:21 direct index (float) +0:21 'gu' (2-element array of float) +0:21 Constant: +0:21 2 (const int) +0:21 Constant: +0:21 4.000000 +0:24 move second child to first child (float) +0:24 direct index (float) +0:24 'gu' (4-element array of float) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 4.000000 +0:26 move second child to first child (float) +0:26 direct index (float) +0:26 'gu' (4-element array of float) +0:26 Constant: +0:26 3 (const int) +0:26 Constant: +0:26 3.000000 +0:27 move second child to first child (float) +0:27 indirect index (float) +0:27 'gu' (4-element array of float) +0:27 'a' (uniform int) +0:27 Constant: +0:27 5.000000 +0:29 move second child to first child (4-element array of float) +0:29 'g4' (4-element array of float) +0:29 Function Call: foo(f1[5]; (4-element array of float) +0:29 'g5' (5-element array of float) +0:30 'g5' (5-element array of float) +0:31 'gu' (4-element array of float) +0:33 Constant: +0:33 0.000000 +0:34 Function Call: bar(f1[5]; (void) +0:34 'g5' (5-element array of float) +0:36 Test condition and select (void) +0:36 Condition +0:36 Compare Equal (bool) +0:36 Constant: +0:36 1.000000 +0:36 2.000000 +0:36 3.000000 +0:36 4.000000 +0:36 'g4' (4-element array of float) +0:36 true case +0:37 move second child to first child (float) +0:37 direct index (float) +0:37 'gu' (4-element array of float) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 2.000000 +0:40 move second child to first child (float) +0:40 direct index (float) +0:40 'u' (5-element array of float) +0:40 Constant: +0:40 2 (const int) +0:40 Constant: +0:40 3.000000 +0:42 move second child to first child (float) +0:42 direct index (float) +0:42 'u' (5-element array of float) +0:42 Constant: +0:42 5 (const int) +0:42 Constant: +0:42 5.000000 +0:43 Function Call: foo(f1[5]; (4-element array of float) +0:43 'u' (5-element array of float) +0:45 move second child to first child (4-component vector of float) +0:45 direct index (4-component vector of float) +0:45 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:45 Constant: +0:45 1000 (const int) +0:45 Constant: +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:45 1.000000 +0:46 move second child to first child (4-component vector of float) +0:46 direct index (4-component vector of float) +0:46 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:46 Constant: +0:46 -1 (const int) +0:46 Constant: +0:46 1.000000 +0:46 1.000000 +0:46 1.000000 +0:46 1.000000 +0:47 move second child to first child (4-component vector of float) +0:47 direct index (4-component vector of float) +0:47 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:47 Constant: +0:47 3 (const int) +0:47 Constant: +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 +0:47 1.000000 +0:50 Sequence +0:50 move second child to first child (int) +0:50 'sum' (int) +0:50 Constant: +0:50 3 (const int) +0:51 add second child into first child (int) +0:51 'sum' (int) +0:51 Constant: +0:51 2 (const int) +0:52 add second child into first child (int) +0:52 'sum' (int) +0:52 Constant: +0:52 2 (const int) +0:55 Sequence +0:55 move second child to first child (2-element array of int) +0:55 'ica' (2-element array of int) +0:55 Constant: +0:55 3 (const int) +0:55 2 (const int) +0:57 move second child to first child (int) +0:57 direct index (int) +0:57 'ica' (2-element array of int) +0:57 Constant: +0:57 3.100000 +0:57 Constant: +0:57 3 (const int) +0:58 move second child to first child (int) +0:58 indirect index (int) +0:58 'ica' (2-element array of int) +0:58 direct index (float) +0:58 'u' (5-element array of float) +0:58 Constant: +0:58 1 (const int) +0:58 Constant: +0:58 4 (const int) +0:68 Function Definition: foo( (void) +0:68 Function Parameters: +0:? Sequence +0:71 move second child to first child (int) +0:71 direct index (int) +0:71 'uns' (4-element array of int) +0:71 Constant: +0:71 3 (const int) +0:71 Constant: +0:71 40 (const int) +0:72 move second child to first child (int) +0:72 direct index (int) +0:72 'uns' (4-element array of int) +0:72 Constant: +0:72 1 (const int) +0:72 Constant: +0:72 30 (const int) +0:73 move second child to first child (3-component vector of float) +0:73 direct index (3-component vector of float) +0:73 'guns' (8-element array of 3-component vector of float) +0:73 Constant: +0:73 2 (const int) +0:73 Constant: +0:73 2.400000 +0:73 2.400000 +0:73 2.400000 +0:76 Constant: +0:76 0.000000 +0:79 Function Definition: foo2( (implicitly-sized array of float) +0:79 Function Parameters: +0:? Sequence +0:82 Branch: Return with expression +0:82 'f' (1-element array of float) +0:84 Branch: Return with expression +0:84 'g' (9-element array of float) +0:89 Function Definition: foo3( (void) +0:89 Function Parameters: +0:? Sequence +0:92 move second child to first child (float) +0:92 direct index (float) +0:92 'resize1' (3-element array of float) +0:92 Constant: +0:92 2 (const int) +0:92 Constant: +0:92 4.000000 +0:93 Constant: +0:93 1 (const int) +0:95 Constant: +0:95 3 (const int) +0:98 move second child to first child (float) +0:98 direct index (float) +0:98 'resize2' (5-element array of float) +0:98 Constant: +0:98 5 (const int) +0:98 Constant: +0:98 4.000000 +0:100 Constant: +0:100 5 (const int) +0:101 move second child to first child (float) +0:101 direct index (float) +0:101 'resize2' (5-element array of float) +0:101 Constant: +0:101 5 (const int) +0:101 Constant: +0:101 4.000000 +0:? Linker Objects +0:? 'gu' (4-element array of float) +0:? 'g4' (4-element array of float) +0:? 'g5' (5-element array of float) +0:? 'a' (uniform int) +0:? 'guns' (8-element array of 3-component vector of float) +0:? 'f' (float) +0:? 'gUnusedUnsized' (1-element array of float) diff --git a/Test/baseResults/array100.frag.out b/Test/baseResults/array100.frag.out index 7a5996d..cc31468 100644 --- a/Test/baseResults/array100.frag.out +++ b/Test/baseResults/array100.frag.out @@ -162,4 +162,135 @@ Linked fragment stage: Shader version: 100 +ERROR: node is still EOpNull! +0:9 Function Definition: foo(f1[5]; (4-element array of mediump float) +0:9 Function Parameters: +0:9 'a' (in 5-element array of mediump float) +0:11 Sequence +0:11 Branch: Return with expression +0:11 Construct float (4-element array of float) +0:11 direct index (mediump float) +0:11 'a' (in 5-element array of mediump float) +0:11 Constant: +0:11 0 (const int) +0:11 direct index (mediump float) +0:11 'a' (in 5-element array of mediump float) +0:11 Constant: +0:11 1 (const int) +0:11 direct index (mediump float) +0:11 'a' (in 5-element array of mediump float) +0:11 Constant: +0:11 2 (const int) +0:11 direct index (mediump float) +0:11 'a' (in 5-element array of mediump float) +0:11 Constant: +0:11 3 (const int) +0:14 Function Definition: bar(f1[5]; (void) +0:14 Function Parameters: +0:14 '' (in 5-element array of mediump float) +0:16 Function Definition: main( (void) +0:16 Function Parameters: +0:? Sequence +0:? Sequence +0:21 move second child to first child (mediump float) +0:21 direct index (mediump float) +0:21 'gu' (2-element array of mediump float) +0:21 Constant: +0:21 2 (const int) +0:21 Constant: +0:21 4.000000 +0:24 move second child to first child (4-element array of mediump float) +0:24 'g4' (4-element array of mediump float) +0:24 Function Call: foo(f1[5]; (4-element array of mediump float) +0:24 'g5' (5-element array of mediump float) +0:25 'g5' (5-element array of mediump float) +0:26 'gu' (1-element array of mediump float) +0:28 Constant: +0:28 0.000000 +0:29 Function Call: bar(f1[5]; (void) +0:29 'g5' (5-element array of mediump float) +0:31 Test condition and select (void) +0:31 Condition +0:31 Compare Equal (bool) +0:31 Constant: +0:31 1.000000 +0:31 2.000000 +0:31 3.000000 +0:31 4.000000 +0:31 'g4' (4-element array of mediump float) +0:31 true case +0:32 move second child to first child (mediump float) +0:32 direct index (mediump float) +0:32 'gu' (1-element array of mediump float) +0:32 Constant: +0:32 0 (const int) +0:32 Constant: +0:32 2.000000 +0:35 move second child to first child (mediump float) +0:35 direct index (mediump float) +0:35 'u' (5-element array of mediump float) +0:35 Constant: +0:35 5 (const int) +0:35 Constant: +0:35 5.000000 +0:36 Function Call: foo(f1[5]; (4-element array of mediump float) +0:36 'u' (5-element array of mediump float) +0:38 move second child to first child (mediump 4-component vector of float) +0:38 direct index (mediump 4-component vector of float) +0:38 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float) +0:38 Constant: +0:38 1000 (const int) +0:38 Constant: +0:38 1.000000 +0:38 1.000000 +0:38 1.000000 +0:38 1.000000 +0:39 move second child to first child (mediump 4-component vector of float) +0:39 direct index (mediump 4-component vector of float) +0:39 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float) +0:39 Constant: +0:39 -1 (const int) +0:39 Constant: +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:39 1.000000 +0:40 move second child to first child (mediump 4-component vector of float) +0:40 direct index (mediump 4-component vector of float) +0:40 'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float) +0:40 Constant: +0:40 3 (const int) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:53 Function Definition: bar9( (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:53 Function Parameters: +0:? Sequence +0:56 Branch: Return with expression +0:56 's' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:59 Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (void) +0:59 Function Parameters: +0:59 's' (in structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:63 Function Definition: bar11( (void) +0:63 Function Parameters: +0:? Sequence +0:66 move second child to first child (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:66 's1' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:66 's2' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:67 Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (void) +0:67 's1' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:68 move second child to first child (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:68 's2' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:68 Function Call: bar9( (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:69 Sequence +0:69 move second child to first child (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:69 'initSb' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:69 's1' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa}) +0:? Linker Objects +0:? 'gu' (1-element array of mediump float) +0:? 'g4' (4-element array of mediump float) +0:? 'g5' (5-element array of mediump float) +0:? 'a' (uniform mediump int) diff --git a/Test/baseResults/comment.frag.out b/Test/baseResults/comment.frag.out index 4a9247d..3c8de13 100644 --- a/Test/baseResults/comment.frag.out +++ b/Test/baseResults/comment.frag.out @@ -1,5 +1,5 @@ comment.frag -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment @@ -15,4 +15,9 @@ Linked fragment stage: Shader version: 430 +0:? Sequence +0:17 Function Definition: main( (void) +0:17 Function Parameters: +0:? Linker Objects +0:? 'v' (smooth in 4-component vector of float) diff --git a/Test/baseResults/conditionalDiscard.frag.out b/Test/baseResults/conditionalDiscard.frag.out index 0bdc74c..50197c8 100644 --- a/Test/baseResults/conditionalDiscard.frag.out +++ b/Test/baseResults/conditionalDiscard.frag.out @@ -34,4 +34,31 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:6 Function Definition: main( (void) +0:6 Function Parameters: +0:8 Sequence +0:8 Sequence +0:8 move second child to first child (4-component vector of float) +0:8 'v' (4-component vector of float) +0:8 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:8 'tex' (uniform sampler2D) +0:8 'coord' (smooth in 2-component vector of float) +0:10 Test condition and select (void) +0:10 Condition +0:10 Compare Equal (bool) +0:10 'v' (4-component vector of float) +0:10 Constant: +0:10 0.100000 +0:10 0.200000 +0:10 0.300000 +0:10 0.400000 +0:10 true case +0:11 Branch: Kill +0:13 move second child to first child (4-component vector of float) +0:13 'gl_FragColor' (fragColor 4-component vector of float) +0:13 'v' (4-component vector of float) +0:? Linker Objects +0:? 'tex' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) diff --git a/Test/baseResults/constErrors.frag.out b/Test/baseResults/constErrors.frag.out index de219e5..461bede 100644 --- a/Test/baseResults/constErrors.frag.out +++ b/Test/baseResults/constErrors.frag.out @@ -1,5 +1,5 @@ constErrors.frag -Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 330 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions ERROR: 0:17: '' : constant expression required ERROR: 0:17: '' : array size must be a constant integer expression @@ -37,4 +37,22 @@ Linked fragment stage: Shader version: 330 +ERROR: node is still EOpNull! +0:10 Function Definition: main( (void) +0:10 Function Parameters: +0:? Sequence +0:14 Sequence +0:14 move second child to first child (int) +0:14 'a3' (const (read only) int) +0:14 'uniformInt' (uniform int) +0:? Linker Objects +0:? 'inVar' (smooth in 4-component vector of float) +0:? 'outVar' (out 4-component vector of float) +0:? 'constInt' (const int) +0:? 3 (const int) +0:? 'uniformInt' (uniform int) +0:? 's' (structure{3-component vector of float v3, 2-component vector of int iv2}) +0:? 's2' (structure{3-component vector of float v3, 2-component vector of int iv2, 2X4 matrix of float m}) +0:? 'f' (const float) +0:? 3.000000 diff --git a/Test/baseResults/constFold.frag.out b/Test/baseResults/constFold.frag.out index 84c2661..12a94fc 100644 --- a/Test/baseResults/constFold.frag.out +++ b/Test/baseResults/constFold.frag.out @@ -1,5 +1,5 @@ constFold.frag -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:109: '[' : index out of range '-1' ERROR: 0:110: '[' : vector index out of range '4' ERROR: 0:111: '[' : index out of range '-2' @@ -311,4 +311,299 @@ Linked fragment stage: Shader version: 430 +ERROR: node is still EOpNull! +0:28 Function Definition: main( (void) +0:28 Function Parameters: +0:30 Sequence +0:30 Sequence +0:30 move second child to first child (4-component vector of float) +0:30 'dx' (4-component vector of float) +0:30 dPdx (4-component vector of float) +0:30 'inv' (smooth in 4-component vector of float) +0:37 move second child to first child (4-component vector of float) +0:37 'FragColor' (out 4-component vector of float) +0:37 Constant: +0:37 2.000000 +0:37 6.000000 +0:37 3.000000 +0:37 171.887339 +0:42 move second child to first child (4-component vector of float) +0:42 'FragColor' (out 4-component vector of float) +0:42 Constant: +0:42 3.000000 +0:42 2.000000 +0:42 0.001593 +0:42 -0.999999 +0:43 move second child to first child (2-component vector of float) +0:43 'out2' (out 2-component vector of float) +0:43 Constant: +0:43 5.600000 +0:43 5.800000 +0:44 move second child to first child (4-component vector of float) +0:44 'out3' (out 4-component vector of float) +0:44 Constant: +0:44 20.085537 +0:44 2.302585 +0:44 16.000000 +0:44 8.000000 +0:45 move second child to first child (4-component vector of float) +0:45 'out4' (out 4-component vector of float) +0:45 Constant: +0:45 10.000000 +0:45 0.100000 +0:45 4.700000 +0:45 10.900000 +0:46 move second child to first child (4-component vector of int) +0:46 'out5' (out 4-component vector of int) +0:46 Constant: +0:46 8 (const int) +0:46 17 (const int) +0:46 -1 (const int) +0:46 1 (const int) +0:47 move second child to first child (3-component vector of float) +0:47 'out6' (out 3-component vector of float) +0:47 Constant: +0:47 -1.000000 +0:47 1.000000 +0:47 0.000000 +0:48 move second child to first child (4-component vector of float) +0:48 'out7' (out 4-component vector of float) +0:48 Constant: +0:48 4.000000 +0:48 -4.000000 +0:48 5.000000 +0:48 -5.000000 +0:49 move second child to first child (4-component vector of float) +0:49 'out8' (out 4-component vector of float) +0:49 Constant: +0:49 4.000000 +0:49 5.000000 +0:49 4.000000 +0:49 -6.000000 +0:50 move second child to first child (4-component vector of float) +0:50 'out9' (out 4-component vector of float) +0:50 Constant: +0:50 8.000000 +0:50 -4.000000 +0:50 0.345000 +0:50 0.400000 +0:51 move second child to first child (4-component vector of float) +0:51 'out10' (out 4-component vector of float) +0:51 Constant: +0:51 1.000000 +0:51 1.000000 +0:51 0.000000 +0:51 0.000000 +0:52 move second child to first child (4-component vector of float) +0:52 'out11' (out 4-component vector of float) +0:52 Constant: +0:52 0.000000 +0:52 0.000000 +0:52 1.000000 +0:52 0.000000 +0:53 move second child to first child (4-component vector of float) +0:53 'out11' (out 4-component vector of float) +0:53 Constant: +0:53 1.029639 +0:53 0.799690 +0:53 0.674741 +0:53 1.570696 +0:54 move second child to first child (4-component vector of float) +0:54 'out11' (out 4-component vector of float) +0:54 Constant: +0:54 0.000000 +0:54 0.523599 +0:54 1.570796 +0:54 1.047198 +0:58 move second child to first child (4-component vector of float) +0:58 'out11' (out 4-component vector of float) +0:58 Constant: +0:58 1.373401 +0:58 0.000000 +0:58 0.896055 +0:58 -0.380506 +0:62 move second child to first child (2-component vector of int) +0:62 'out12' (out 2-component vector of int) +0:62 Constant: +0:62 15 (const int) +0:62 16 (const int) +0:63 move second child to first child (2-component vector of int) +0:63 'out12' (out 2-component vector of int) +0:63 Constant: +0:63 17 (const int) +0:63 17 (const int) +0:64 move second child to first child (2-component vector of float) +0:64 'out2' (out 2-component vector of float) +0:64 Constant: +0:64 871.421253 +0:64 4913.000000 +0:65 move second child to first child (3-component vector of uint) +0:65 'out13' (out 3-component vector of uint) +0:65 Constant: +0:65 10 (const uint) +0:65 20 (const uint) +0:65 30 (const uint) +0:66 move second child to first child (2-component vector of float) +0:66 'out2' (out 2-component vector of float) +0:66 Constant: +0:66 3.000000 +0:66 6.000000 +0:67 move second child to first child (2-component vector of float) +0:67 'out2' (out 2-component vector of float) +0:67 Constant: +0:67 3.500000 +0:67 4.500000 +0:68 move second child to first child (2-component vector of float) +0:68 'out2' (out 2-component vector of float) +0:68 Constant: +0:68 0.000000 +0:68 1.000000 +0:69 move second child to first child (4-component vector of float) +0:69 'out11' (out 4-component vector of float) +0:69 Constant: +0:69 0.000000 +0:69 0.028000 +0:69 0.500000 +0:69 1.000000 +0:78 Function Definition: foo( (void) +0:78 Function Parameters: +0:? Sequence +0:81 move second child to first child (float) +0:81 direct index (float) +0:81 'a' (3-element array of float) +0:81 Constant: +0:81 0 (const int) +0:81 Constant: +0:81 7.000000 +0:82 Constant: +0:82 2 (const int) +0:83 Constant: +0:83 2147483647 (const int) +0:84 Constant: +0:84 1.#INF00 +0:88 Constant: +0:88 2 (const uint) +0:88 3 (const uint) +0:89 Constant: +0:89 0 (const uint) +0:90 Constant: +0:90 6 (const uint) +0:90 7 (const uint) +0:103 Function Definition: foo2( (void) +0:103 Function Parameters: +0:105 Sequence +0:105 direct index (float) +0:105 'a1' (1-element array of float) +0:105 Constant: +0:105 0 (const int) +0:106 direct index (float) +0:106 'a2' (2-element array of float) +0:106 Constant: +0:106 0 (const int) +0:107 direct index (float) +0:107 'a3' (4-element array of float) +0:107 Constant: +0:107 0 (const int) +0:108 direct index (float) +0:108 'a4' (2-element array of float) +0:108 Constant: +0:108 0 (const int) +0:109 Constant: +0:109 1.000000 +0:110 Constant: +0:110 5.000000 +0:111 Constant: +0:111 2.000000 +0:112 Constant: +0:112 3.000000 +0:113 Constant: +0:113 0.000000 +0:114 Constant: +0:114 0.000000 +0:116 move second child to first child (int) +0:116 'p' (int) +0:116 Constant: +0:116 2147483647 (const int) +0:117 move second child to first child (int) +0:117 'p' (int) +0:117 Constant: +0:117 -2147483648 (const int) +0:118 move second child to first child (int) +0:118 'p' (int) +0:118 Constant: +0:118 -2147483647 (const int) +0:? Linker Objects +0:? 'a' (const int) +0:? 1 (const int) +0:? 'b' (const int) +0:? 2 (const int) +0:? 'c' (const int) +0:? 3 (const int) +0:? 'd' (const int) +0:? 2 (const int) +0:? 'e' (const float) +0:? 2.000000 +0:? 'f' (const float) +0:? 6.000000 +0:? 'g' (const float) +0:? 3.000000 +0:? 'pytho' (const 2-component vector of float) +0:? 3.000000 +0:? 4.000000 +0:? 'inv' (smooth in 4-component vector of float) +0:? 'FragColor' (out 4-component vector of float) +0:? 'out2' (out 2-component vector of float) +0:? 'out3' (out 4-component vector of float) +0:? 'out4' (out 4-component vector of float) +0:? 'out5' (out 4-component vector of int) +0:? 'out6' (out 3-component vector of float) +0:? 'out7' (out 4-component vector of float) +0:? 'out8' (out 4-component vector of float) +0:? 'out9' (out 4-component vector of float) +0:? 'out10' (out 4-component vector of float) +0:? 'out11' (out 4-component vector of float) +0:? 'out12' (out 2-component vector of int) +0:? 'out13' (out 3-component vector of uint) +0:? 's' (const structure{3-component vector of float v3, 2-component vector of int iv2, 2X4 matrix of float m}) +0:? 3.000000 +0:? 3.000000 +0:? 3.000000 +0:? 3 (const int) +0:? 3 (const int) +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:? 5.000000 +0:? 6.000000 +0:? 7.000000 +0:? 8.000000 +0:? 'm2' (const 2X2 matrix of float) +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:? 5.000000 +0:? 'm3' (const 3X3 matrix of float) +0:? 2.000000 +0:? 3.000000 +0:? 0.000000 +0:? 4.000000 +0:? 5.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 1.000000 +0:? 'mc' (const int) +0:? 1 (const int) +0:? 'a1' (1-element array of float) +0:? 'a2' (2-element array of float) +0:? 'a3' (4-element array of float) +0:? 'v2' (const 2-component vector of float) +0:? 1.000000 +0:? 2.000000 +0:? 'v3' (const 3-component vector of float) +0:? 3.000000 +0:? 4.000000 +0:? 5.000000 +0:? 'a4' (2-element array of float) diff --git a/Test/baseResults/conversion.frag.out b/Test/baseResults/conversion.frag.out index f2a4291..7320a1f 100644 --- a/Test/baseResults/conversion.frag.out +++ b/Test/baseResults/conversion.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/conversion.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. Shader version: 130 0:? Sequence @@ -481,4 +480,477 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:33 Function Definition: main( (void) +0:33 Function Parameters: +0:35 Sequence +0:35 Sequence +0:35 move second child to first child (bool) +0:35 'b' (bool) +0:35 logical-xor (bool) +0:35 Convert int to bool (bool) +0:35 'u_i' (uniform int) +0:35 Convert float to bool (bool) +0:35 'u_f' (uniform float) +0:36 Sequence +0:36 move second child to first child (2-component vector of bool) +0:36 'b2' (2-component vector of bool) +0:36 Construct bvec2 (2-component vector of bool) +0:36 Convert int to bool (bool) +0:36 'u_i' (uniform int) +0:36 Convert float to bool (bool) +0:36 'u_f' (uniform float) +0:37 Sequence +0:37 move second child to first child (3-component vector of bool) +0:37 'b3' (3-component vector of bool) +0:37 Construct bvec3 (3-component vector of bool) +0:37 Convert int to bool (bool) +0:37 'u_i' (uniform int) +0:37 Convert float to bool (bool) +0:37 'u_f' (uniform float) +0:37 Convert int to bool (bool) +0:37 'i_i' (flat in int) +0:38 Sequence +0:38 move second child to first child (4-component vector of bool) +0:38 'b4' (4-component vector of bool) +0:38 Construct bvec4 (4-component vector of bool) +0:38 Convert int to bool (bool) +0:38 'u_i' (uniform int) +0:38 Convert float to bool (bool) +0:38 'u_f' (uniform float) +0:38 Convert int to bool (bool) +0:38 'i_i' (flat in int) +0:38 Convert float to bool (bool) +0:38 'i_f' (smooth in float) +0:40 Sequence +0:40 move second child to first child (int) +0:40 'i' (int) +0:40 add (int) +0:40 Convert float to int (int) +0:40 'u_f' (uniform float) +0:40 Convert bool to int (int) +0:40 'b' (bool) +0:41 Sequence +0:41 move second child to first child (2-component vector of int) +0:41 'i2' (2-component vector of int) +0:41 add (2-component vector of int) +0:41 Convert float to int (2-component vector of int) +0:41 'u_f2' (uniform 2-component vector of float) +0:41 Convert bool to int (2-component vector of int) +0:41 'b2' (2-component vector of bool) +0:42 Sequence +0:42 move second child to first child (3-component vector of int) +0:42 'i3' (3-component vector of int) +0:42 add (3-component vector of int) +0:42 Convert float to int (3-component vector of int) +0:42 'u_f3' (uniform 3-component vector of float) +0:42 Convert bool to int (3-component vector of int) +0:42 'b3' (3-component vector of bool) +0:43 Sequence +0:43 move second child to first child (4-component vector of int) +0:43 'i4' (4-component vector of int) +0:43 add (4-component vector of int) +0:43 Convert float to int (4-component vector of int) +0:43 'u_f4' (uniform 4-component vector of float) +0:43 Convert bool to int (4-component vector of int) +0:43 'b4' (4-component vector of bool) +0:45 Sequence +0:45 move second child to first child (float) +0:45 'f' (float) +0:45 Convert int to float (float) +0:45 'i' (int) +0:46 Sequence +0:46 move second child to first child (2-component vector of float) +0:46 'f2' (2-component vector of float) +0:46 Convert int to float (2-component vector of float) +0:46 'i2' (2-component vector of int) +0:47 Sequence +0:47 move second child to first child (3-component vector of float) +0:47 'f3' (3-component vector of float) +0:47 Convert int to float (3-component vector of float) +0:47 'i3' (3-component vector of int) +0:48 Sequence +0:48 move second child to first child (4-component vector of float) +0:48 'f4' (4-component vector of float) +0:48 Convert int to float (4-component vector of float) +0:48 'i4' (4-component vector of int) +0:50 add second child into first child (float) +0:50 'f' (float) +0:50 add (float) +0:50 Convert int to float (float) +0:50 'i' (int) +0:50 Convert bool to float (float) +0:50 'b' (bool) +0:51 subtract second child into first child (2-component vector of float) +0:51 'f2' (2-component vector of float) +0:51 add (2-component vector of float) +0:51 Convert int to float (2-component vector of float) +0:51 'i2' (2-component vector of int) +0:51 Convert bool to float (2-component vector of float) +0:51 'b2' (2-component vector of bool) +0:52 divide second child into first child (3-component vector of float) +0:52 'f3' (3-component vector of float) +0:52 add (3-component vector of float) +0:52 Convert int to float (3-component vector of float) +0:52 'i3' (3-component vector of int) +0:52 Convert bool to float (3-component vector of float) +0:52 'b3' (3-component vector of bool) +0:53 add second child into first child (4-component vector of float) +0:53 'f4' (4-component vector of float) +0:53 add (4-component vector of float) +0:53 Convert int to float (4-component vector of float) +0:53 'i4' (4-component vector of int) +0:53 Convert bool to float (4-component vector of float) +0:53 'b4' (4-component vector of bool) +0:55 add second child into first child (4-component vector of float) +0:55 'f4' (4-component vector of float) +0:55 Convert bool to float (4-component vector of float) +0:55 Convert int to bool (4-component vector of bool) +0:55 'i_i4' (flat in 4-component vector of int) +0:56 add second child into first child (4-component vector of float) +0:56 'f4' (4-component vector of float) +0:56 Convert bool to float (4-component vector of float) +0:56 Convert float to bool (4-component vector of bool) +0:56 'u_f4' (uniform 4-component vector of float) +0:58 add second child into first child (float) +0:58 'f' (float) +0:58 subtract (float) +0:58 'f' (float) +0:58 Convert int to float (float) +0:58 'i' (int) +0:59 add second child into first child (2-component vector of float) +0:59 'f2' (2-component vector of float) +0:59 add (2-component vector of float) +0:59 Construct vec2 (2-component vector of float) +0:59 'f' (float) +0:59 Convert int to float (float) +0:59 'i' (int) +0:59 Convert int to float (2-component vector of float) +0:59 'i2' (2-component vector of int) +0:60 add second child into first child (3-component vector of float) +0:60 'f3' (3-component vector of float) +0:60 add (3-component vector of float) +0:60 Convert int to float (3-component vector of float) +0:60 'i3' (3-component vector of int) +0:60 Construct vec3 (3-component vector of float) +0:60 'f' (float) +0:60 Convert int to float (float) +0:60 'i' (int) +0:60 'f' (float) +0:61 add second child into first child (4-component vector of float) +0:61 'f4' (4-component vector of float) +0:61 add (4-component vector of float) +0:61 Construct vec4 (4-component vector of float) +0:61 Convert bool to float (float) +0:61 'b' (bool) +0:61 Convert int to float (float) +0:61 'i' (int) +0:61 'f' (float) +0:61 Convert int to float (float) +0:61 'i' (int) +0:61 Convert int to float (4-component vector of float) +0:61 'i4' (4-component vector of int) +0:63 add second child into first child (2-component vector of float) +0:63 'f2' (2-component vector of float) +0:63 vector-scale (2-component vector of float) +0:63 Construct vec2 (2-component vector of float) +0:63 'f' (float) +0:63 Convert int to float (float) +0:63 'i' (int) +0:63 Convert int to float (float) +0:63 'i' (int) +0:64 add second child into first child (3-component vector of float) +0:64 'f3' (3-component vector of float) +0:64 add (3-component vector of float) +0:64 Construct vec3 (3-component vector of float) +0:64 'f' (float) +0:64 Convert int to float (float) +0:64 'i' (int) +0:64 'f' (float) +0:64 Convert int to float (float) +0:64 'i' (int) +0:65 add second child into first child (4-component vector of float) +0:65 'f4' (4-component vector of float) +0:65 subtract (4-component vector of float) +0:65 Convert int to float (float) +0:65 'i' (int) +0:65 Construct vec4 (4-component vector of float) +0:65 Convert bool to float (float) +0:65 'b' (bool) +0:65 Convert int to float (float) +0:65 'i' (int) +0:65 'f' (float) +0:65 Convert int to float (float) +0:65 'i' (int) +0:67 add second child into first child (2-component vector of int) +0:67 'i2' (2-component vector of int) +0:67 Construct ivec2 (2-component vector of int) +0:67 Convert float to int (int) +0:67 'f' (float) +0:67 'i' (int) +0:68 add second child into first child (3-component vector of int) +0:68 'i3' (3-component vector of int) +0:68 Construct ivec3 (3-component vector of int) +0:68 Convert float to int (int) +0:68 'f' (float) +0:68 'i' (int) +0:68 Convert float to int (int) +0:68 'f' (float) +0:69 add second child into first child (4-component vector of int) +0:69 'i4' (4-component vector of int) +0:69 Construct ivec4 (4-component vector of int) +0:69 Convert bool to int (int) +0:69 'b' (bool) +0:69 'i' (int) +0:69 Convert float to int (int) +0:69 'f' (float) +0:69 'i' (int) +0:71 Test condition and select (void) +0:71 Condition +0:72 logical-or (bool) +0:71 logical-or (bool) +0:71 logical-or (bool) +0:71 Compare Less Than (bool) +0:71 'f' (float) +0:71 Convert int to float (float) +0:71 'i' (int) +0:71 Compare Less Than (bool) +0:71 Convert int to float (float) +0:71 'i' (int) +0:71 'f' (float) +0:72 Compare Equal (bool) +0:72 'f2' (2-component vector of float) +0:72 Convert int to float (2-component vector of float) +0:72 'i2' (2-component vector of int) +0:73 Compare Not Equal (bool) +0:73 Convert int to float (3-component vector of float) +0:73 'i3' (3-component vector of int) +0:73 'f3' (3-component vector of float) +0:71 true case +0:74 move second child to first child (float) +0:74 'f' (float) +0:74 add (float) +0:74 Test condition and select (float) +0:74 Condition +0:74 'b' (bool) +0:74 true case +0:74 Convert int to float (float) +0:74 'i' (int) +0:74 false case +0:74 direct index (float) +0:74 'f2' (2-component vector of float) +0:74 Constant: +0:74 0 (const int) +0:74 Test condition and select (float) +0:74 Condition +0:74 direct index (bool) +0:74 'b2' (2-component vector of bool) +0:74 Constant: +0:74 0 (const int) +0:74 true case +0:74 direct index (float) +0:74 'f3' (3-component vector of float) +0:74 Constant: +0:74 0 (const int) +0:74 false case +0:74 Convert int to float (float) +0:74 direct index (int) +0:74 'i2' (2-component vector of int) +0:74 Constant: +0:74 1 (const int) +0:76 move second child to first child (4-component vector of float) +0:76 'gl_FragColor' (fragColor 4-component vector of float) +0:86 Test condition and select (4-component vector of float) +0:86 Condition +0:85 logical-or (bool) +0:84 logical-or (bool) +0:83 logical-or (bool) +0:82 logical-or (bool) +0:81 logical-or (bool) +0:80 logical-or (bool) +0:79 logical-or (bool) +0:78 logical-or (bool) +0:77 logical-or (bool) +0:77 'b' (bool) +0:78 direct index (bool) +0:78 'b2' (2-component vector of bool) +0:78 Constant: +0:78 0 (const int) +0:79 direct index (bool) +0:79 'b2' (2-component vector of bool) +0:79 Constant: +0:79 1 (const int) +0:80 direct index (bool) +0:80 'b3' (3-component vector of bool) +0:80 Constant: +0:80 0 (const int) +0:81 direct index (bool) +0:81 'b3' (3-component vector of bool) +0:81 Constant: +0:81 1 (const int) +0:82 direct index (bool) +0:82 'b3' (3-component vector of bool) +0:82 Constant: +0:82 2 (const int) +0:83 direct index (bool) +0:83 'b4' (4-component vector of bool) +0:83 Constant: +0:83 0 (const int) +0:84 direct index (bool) +0:84 'b4' (4-component vector of bool) +0:84 Constant: +0:84 1 (const int) +0:85 direct index (bool) +0:85 'b4' (4-component vector of bool) +0:85 Constant: +0:85 2 (const int) +0:86 direct index (bool) +0:86 'b4' (4-component vector of bool) +0:86 Constant: +0:86 3 (const int) +0:86 true case +0:105 Construct vec4 (4-component vector of float) +0:105 add (float) +0:104 add (float) +0:103 add (float) +0:102 add (float) +0:101 add (float) +0:100 add (float) +0:99 add (float) +0:98 add (float) +0:97 add (float) +0:96 add (float) +0:95 Convert int to float (float) +0:95 add (int) +0:94 add (int) +0:93 add (int) +0:92 add (int) +0:91 add (int) +0:90 add (int) +0:89 add (int) +0:88 add (int) +0:87 add (int) +0:87 'i' (int) +0:88 direct index (int) +0:88 'i2' (2-component vector of int) +0:88 Constant: +0:88 0 (const int) +0:89 direct index (int) +0:89 'i2' (2-component vector of int) +0:89 Constant: +0:89 1 (const int) +0:90 direct index (int) +0:90 'i3' (3-component vector of int) +0:90 Constant: +0:90 0 (const int) +0:91 direct index (int) +0:91 'i3' (3-component vector of int) +0:91 Constant: +0:91 1 (const int) +0:92 direct index (int) +0:92 'i3' (3-component vector of int) +0:92 Constant: +0:92 2 (const int) +0:93 direct index (int) +0:93 'i4' (4-component vector of int) +0:93 Constant: +0:93 0 (const int) +0:94 direct index (int) +0:94 'i4' (4-component vector of int) +0:94 Constant: +0:94 1 (const int) +0:95 direct index (int) +0:95 'i4' (4-component vector of int) +0:95 Constant: +0:95 2 (const int) +0:96 direct index (int) +0:96 'i4' (4-component vector of int) +0:96 Constant: +0:96 3 (const int) +0:97 'f' (float) +0:98 direct index (float) +0:98 'f2' (2-component vector of float) +0:98 Constant: +0:98 0 (const int) +0:99 direct index (float) +0:99 'f2' (2-component vector of float) +0:99 Constant: +0:99 1 (const int) +0:100 direct index (float) +0:100 'f3' (3-component vector of float) +0:100 Constant: +0:100 0 (const int) +0:101 direct index (float) +0:101 'f3' (3-component vector of float) +0:101 Constant: +0:101 1 (const int) +0:102 direct index (float) +0:102 'f3' (3-component vector of float) +0:102 Constant: +0:102 2 (const int) +0:103 direct index (float) +0:103 'f4' (4-component vector of float) +0:103 Constant: +0:103 0 (const int) +0:104 direct index (float) +0:104 'f4' (4-component vector of float) +0:104 Constant: +0:104 1 (const int) +0:105 direct index (float) +0:105 'f4' (4-component vector of float) +0:105 Constant: +0:105 2 (const int) +0:106 direct index (float) +0:106 'f4' (4-component vector of float) +0:106 Constant: +0:106 3 (const int) +0:86 false case +0:106 Constant: +0:106 1.000000 +0:106 1.000000 +0:106 1.000000 +0:106 1.000000 +0:109 Sequence +0:109 move second child to first child (4-component vector of int) +0:109 'cv2' (4-component vector of int) +0:109 Constant: +0:109 1 (const int) +0:109 1 (const int) +0:109 1 (const int) +0:109 1 (const int) +0:110 Sequence +0:110 move second child to first child (4-component vector of bool) +0:110 'cv5' (4-component vector of bool) +0:110 Convert int to bool (4-component vector of bool) +0:110 'cv2' (4-component vector of int) +0:111 add second child into first child (4-component vector of float) +0:111 'gl_FragColor' (fragColor 4-component vector of float) +0:111 Construct float (float) +0:111 Convert bool to float (4-component vector of float) +0:111 'cv5' (4-component vector of bool) +0:? Linker Objects +0:? 'u_b' (uniform bool) +0:? 'u_b2' (uniform 2-component vector of bool) +0:? 'u_b3' (uniform 3-component vector of bool) +0:? 'u_b4' (uniform 4-component vector of bool) +0:? 'u_i' (uniform int) +0:? 'u_i2' (uniform 2-component vector of int) +0:? 'u_i3' (uniform 3-component vector of int) +0:? 'u_i4' (uniform 4-component vector of int) +0:? 'u_f' (uniform float) +0:? 'u_f2' (uniform 2-component vector of float) +0:? 'u_f3' (uniform 3-component vector of float) +0:? 'u_f4' (uniform 4-component vector of float) +0:? 'i_b' (uniform bool) +0:? 'i_b2' (uniform 2-component vector of bool) +0:? 'i_b3' (uniform 3-component vector of bool) +0:? 'i_b4' (uniform 4-component vector of bool) +0:? 'i_i' (flat in int) +0:? 'i_i2' (flat in 2-component vector of int) +0:? 'i_i3' (flat in 3-component vector of int) +0:? 'i_i4' (flat in 4-component vector of int) +0:? 'i_f' (smooth in float) +0:? 'i_f2' (smooth in 2-component vector of float) +0:? 'i_f3' (smooth in 3-component vector of float) +0:? 'i_f4' (smooth in 4-component vector of float) diff --git a/Test/baseResults/cppComplexExpr.vert.out b/Test/baseResults/cppComplexExpr.vert.out index e72230e..e5f8701 100644 --- a/Test/baseResults/cppComplexExpr.vert.out +++ b/Test/baseResults/cppComplexExpr.vert.out @@ -114,4 +114,74 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:4 Sequence +0:4 move second child to first child (highp float) +0:4 'sum' (highp float) +0:4 Constant: +0:4 0.000000 +0:6 Function Definition: main( (void) +0:6 Function Parameters: +0:10 Sequence +0:10 add second child into first child (highp float) +0:10 'sum' (highp float) +0:10 Constant: +0:10 1.000000 +0:15 add second child into first child (highp float) +0:15 'sum' (highp float) +0:15 Constant: +0:15 20.000000 +0:30 add second child into first child (highp float) +0:30 'sum' (highp float) +0:30 Constant: +0:30 300.000000 +0:39 move second child to first child (highp 4-component vector of float) +0:39 'gl_Position' (gl_Position highp 4-component vector of float) +0:39 Construct vec4 (highp 4-component vector of float) +0:39 'sum' (highp float) +0:44 Function Definition: foo( (highp float) +0:44 Function Parameters: +0:46 Sequence +0:46 Branch: Return with expression +0:46 add (highp float) +0:46 add (highp float) +0:46 direct index (highp float) +0:46 'gl_Position' (gl_Position highp 4-component vector of float) +0:46 Constant: +0:46 0 (const int) +0:46 Constant: +0:46 3.000000 +0:46 add (highp float) +0:46 direct index (highp float) +0:46 'gl_Position' (gl_Position highp 4-component vector of float) +0:46 Constant: +0:46 0 (const int) +0:46 Constant: +0:46 3.000000 +0:47 Branch: Return with expression +0:47 add (highp float) +0:47 add (highp float) +0:47 direct index (highp float) +0:47 'gl_Position' (gl_Position highp 4-component vector of float) +0:47 Constant: +0:47 1 (const int) +0:47 Constant: +0:47 3.000000 +0:47 add (highp float) +0:47 direct index (highp float) +0:47 'gl_Position' (gl_Position highp 4-component vector of float) +0:47 Constant: +0:47 1 (const int) +0:47 Constant: +0:47 3.000000 +0:97 Sequence +0:97 move second child to first child (highp float) +0:97 'c' (highp float) +0:98 Constant: +0:98 3.300000 +0:? Linker Objects +0:? 'sum' (highp float) +0:? 'c' (highp float) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/cppIndent.vert.out b/Test/baseResults/cppIndent.vert.out index 3ac19ca..bc36e8e 100644 --- a/Test/baseResults/cppIndent.vert.out +++ b/Test/baseResults/cppIndent.vert.out @@ -46,4 +46,39 @@ Linked vertex stage: Shader version: 110 +ERROR: node is still EOpNull! +0:5 Sequence +0:5 move second child to first child (float) +0:5 'sum' (float) +0:5 Constant: +0:5 0.000000 +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:12 Sequence +0:12 add second child into first child (float) +0:12 'sum' (float) +0:12 Constant: +0:12 1.000000 +0:22 add second child into first child (float) +0:22 'sum' (float) +0:22 Constant: +0:22 300.000000 +0:37 add second child into first child (float) +0:37 'sum' (float) +0:37 Constant: +0:37 600000.000000 +0:47 add second child into first child (float) +0:47 'sum' (float) +0:47 Constant: +0:47 80000000.000000 +0:52 add second child into first child (float) +0:52 'sum' (float) +0:52 Constant: +0:52 900000000.000000 +0:56 move second child to first child (4-component vector of float) +0:56 'gl_Position' (gl_Position 4-component vector of float) +0:56 Construct vec4 (4-component vector of float) +0:56 'sum' (float) +0:? Linker Objects +0:? 'sum' (float) diff --git a/Test/baseResults/cppNest.vert.out b/Test/baseResults/cppNest.vert.out index d2b00ad..d6d320e 100644 --- a/Test/baseResults/cppNest.vert.out +++ b/Test/baseResults/cppNest.vert.out @@ -77,4 +77,66 @@ Linked vertex stage: Shader version: 110 +ERROR: node is still EOpNull! +0:5 Sequence +0:5 move second child to first child (float) +0:5 'sum' (float) +0:5 Constant: +0:5 0.000000 +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:12 Sequence +0:12 add second child into first child (float) +0:12 'sum' (float) +0:12 Constant: +0:12 1.000000 +0:21 add second child into first child (float) +0:21 'sum' (float) +0:21 Constant: +0:21 300.000000 +0:61 add second child into first child (float) +0:61 'sum' (float) +0:61 Constant: +0:61 600000.000000 +0:65 add second child into first child (float) +0:65 'sum' (float) +0:65 Constant: +0:65 80000000.000000 +0:69 add second child into first child (float) +0:69 'sum' (float) +0:69 Constant: +0:69 900000000.000000 +0:76 add second child into first child (float) +0:76 'sum' (float) +0:76 Constant: +0:76 7000000.000000 +0:86 move second child to first child (4-component vector of float) +0:86 'gl_Position' (gl_Position 4-component vector of float) +0:86 Construct vec4 (4-component vector of float) +0:86 'sum' (float) +0:103 Sequence +0:103 move second child to first child (int) +0:103 'selected4' (int) +0:103 Constant: +0:103 4 (const int) +0:115 Sequence +0:115 move second child to first child (int) +0:115 'selected2' (int) +0:115 Constant: +0:115 2 (const int) +0:133 Sequence +0:133 move second child to first child (int) +0:133 'selected3' (int) +0:133 Constant: +0:133 3 (const int) +0:175 Function Definition: foo985( (void) +0:175 Function Parameters: +0:175 Sequence +0:175 Constant: +0:175 6 (const int) +0:? Linker Objects +0:? 'sum' (float) +0:? 'selected4' (int) +0:? 'selected2' (int) +0:? 'selected3' (int) diff --git a/Test/baseResults/cppSimple.vert.out b/Test/baseResults/cppSimple.vert.out index 77e03f9..4bc0870 100644 --- a/Test/baseResults/cppSimple.vert.out +++ b/Test/baseResults/cppSimple.vert.out @@ -1,5 +1,5 @@ cppSimple.vert -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:77: '#error' : good1 ERROR: 0:81: '#error' : good2 ERROR: 0:85: '#error' : good3 @@ -126,7 +126,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, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:69 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 0:69 Constant: 0:69 0 (const uint) 0:69 Construct vec4 (4-component vector of float) @@ -166,7 +166,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, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +12:20034 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 12:20034 Constant: 12:20034 0 (const uint) 12:20034 Constant: @@ -198,4 +198,109 @@ Linked vertex stage: Shader version: 400 +ERROR: node is still EOpNull! +0:5 Sequence +0:5 move second child to first child (float) +0:5 'sum' (float) +0:5 Constant: +0:5 0.000000 +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:12 Sequence +0:12 add second child into first child (float) +0:12 'sum' (float) +0:12 Constant: +0:12 1.000000 +0:22 add second child into first child (float) +0:22 'sum' (float) +0:22 Constant: +0:22 300.000000 +0:37 add second child into first child (float) +0:37 'sum' (float) +0:37 Constant: +0:37 600000.000000 +0:48 add second child into first child (float) +0:48 'sum' (float) +0:48 Constant: +0:48 7000000.000000 +0:53 add second child into first child (float) +0:53 'sum' (float) +0:53 Constant: +0:53 80000000.000000 +0:58 add second child into first child (float) +0:58 'sum' (float) +0:58 Constant: +0:58 900000000.000000 +0:65 add second child into first child (float) +0:65 'sum' (float) +0:65 Constant: +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, out 1-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 1-element 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) +0:69 'sum' (float) +0:124 Sequence +0:124 move second child to first child (int) +0:124 'linenumber' (int) +0:124 Constant: +0:124 124 (const int) +0:125 Sequence +0:125 move second child to first child (int) +0:125 'filenumber' (int) +0:125 Constant: +0:125 0 (const int) +0:126 Sequence +0:126 move second child to first child (int) +0:126 'version' (int) +0:126 Constant: +0:126 400 (const int) +0:130 Sequence +0:130 move second child to first child (float) +0:130 'twoPi' (float) +0:130 Constant: +0:130 6.280000 +0:199 Sequence +0:199 move second child to first child (int) +0:199 'n' (int) +0:199 Constant: +0:199 15 (const int) +0:202 Sequence +0:202 move second child to first child (double) +0:202 'f' (double) +0:202 Constant: +0:202 0.000800 +12:20032 Function Definition: foo234( (void) +12:20032 Function Parameters: +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, out 1-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 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +12:20034 Constant: +12:20034 0 (const uint) +12:20034 Constant: +12:20034 6.000000 +12:20034 6.000000 +12:20034 6.000000 +12:20034 6.000000 +12:9012 Sequence +12:9012 move second child to first child (int) +12:9012 'R1' (int) +12:9012 'RECURSE' (int) +0:? Linker Objects +0:? 'sum' (float) +0:? 'linenumber' (int) +0:? 'filenumber' (int) +0:? 'version' (int) +0:? 'twoPi' (float) +0:? 'a' (int) +0:? 'n' (int) +0:? 'f' (double) +0:? 'RECURSE' (int) +0:? 'R1' (int) +0:? 'aoeua' (int) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/dataOut.frag.out b/Test/baseResults/dataOut.frag.out index 60cc7e2..eca985e 100644 --- a/Test/baseResults/dataOut.frag.out +++ b/Test/baseResults/dataOut.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/dataOut.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -21,4 +20,16 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:5 Function Definition: main( (void) +0:5 Function Parameters: +0:7 Sequence +0:7 move second child to first child (4-component vector of float) +0:7 direct index (4-component vector of float) +0:7 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:7 Constant: +0:7 1 (const int) +0:7 'Color' (smooth in 4-component vector of float) +0:? Linker Objects +0:? 'Color' (smooth in 4-component vector of float) diff --git a/Test/baseResults/dataOutIndirect.frag.out b/Test/baseResults/dataOutIndirect.frag.out index aa454d1..f61ba1c 100644 --- a/Test/baseResults/dataOutIndirect.frag.out +++ b/Test/baseResults/dataOutIndirect.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/dataOutIndirect.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -21,4 +20,16 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:9 Sequence +0:9 move second child to first child (4-component vector of float) +0:9 indirect index (4-component vector of float) +0:9 'gl_FragData' (fragColor 32-element array of 4-component vector of float) +0:9 'i' (uniform int) +0:9 'Color' (smooth in 4-component vector of float) +0:? Linker Objects +0:? 'Color' (smooth in 4-component vector of float) +0:? 'i' (uniform int) diff --git a/Test/baseResults/dce.frag.out b/Test/baseResults/dce.frag.out index 5756f3c..0b99f98 100644 --- a/Test/baseResults/dce.frag.out +++ b/Test/baseResults/dce.frag.out @@ -1,5 +1,5 @@ dce.frag -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. Shader version: 400 0:? Sequence @@ -141,4 +141,136 @@ Linked fragment stage: ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point Shader version: 400 +0:? Sequence +0:5 Sequence +0:5 move second child to first child (int) +0:5 'c' (int) +0:5 Constant: +0:5 0 (const int) +0:7 Function Definition: bar( (void) +0:7 Function Parameters: +0:9 Sequence +0:9 Test condition and select (void) +0:9 Condition +0:9 Constant: +0:9 false (const bool) +0:9 true case +0:10 Pre-Increment (int) +0:10 'c' (int) +0:9 false case +0:12 Pre-Increment (int) +0:12 'c' (int) +0:14 Test condition and select (int) +0:14 Condition +0:14 Constant: +0:14 false (const bool) +0:14 true case +0:14 Pre-Increment (int) +0:14 'c' (int) +0:14 false case +0:14 Pre-Increment (int) +0:14 'c' (int) +0:16 switch +0:16 condition +0:16 'c' (int) +0:16 body +0:16 Sequence +0:17 case: with expression +0:17 Constant: +0:17 1 (const int) +0:? Sequence +0:18 Pre-Increment (int) +0:18 'c' (int) +0:19 Branch: Break +0:20 Pre-Increment (int) +0:20 'c' (int) +0:21 case: with expression +0:21 Constant: +0:21 2 (const int) +0:? Sequence +0:22 Branch: Break +0:23 Pre-Increment (int) +0:23 'c' (int) +0:24 default: +0:? Sequence +0:25 Branch: Break +0:28 Sequence +0:28 Sequence +0:28 move second child to first child (int) +0:28 'i' (int) +0:28 Constant: +0:28 0 (const int) +0:28 Loop with condition tested first +0:28 Loop Condition +0:28 Compare Less Than (bool) +0:28 'i' (int) +0:28 Constant: +0:28 0 (const int) +0:28 Loop Body +0:29 Pre-Increment (int) +0:29 'c' (int) +0:28 Loop Terminal Expression +0:28 Pre-Increment (int) +0:28 'i' (int) +0:31 Sequence +0:31 Sequence +0:31 move second child to first child (int) +0:31 'i' (int) +0:31 Constant: +0:31 0 (const int) +0:31 Loop with condition tested first +0:31 Loop Condition +0:31 Compare Less Than (bool) +0:31 'i' (int) +0:31 Constant: +0:31 10 (const int) +0:31 Loop Body +0:32 Sequence +0:32 Test condition and select (void) +0:32 Condition +0:32 Compare Less Than (bool) +0:32 'c' (int) +0:32 Constant: +0:32 3 (const int) +0:32 true case +0:33 Sequence +0:33 Branch: Break +0:34 Pre-Increment (int) +0:34 'c' (int) +0:32 false case +0:36 Sequence +0:36 Branch: Continue +0:37 Pre-Increment (int) +0:37 'c' (int) +0:31 Loop Terminal Expression +0:31 Pre-Increment (int) +0:31 'i' (int) +0:41 Branch: Return +0:43 Pre-Increment (int) +0:43 'c' (int) +0:46 Function Definition: foo( (int) +0:46 Function Parameters: +0:48 Sequence +0:48 Test condition and select (void) +0:48 Condition +0:48 Compare Greater Than (bool) +0:48 'c' (int) +0:48 Constant: +0:48 4 (const int) +0:48 true case +0:49 Sequence +0:49 Branch: Return with expression +0:49 Constant: +0:49 4 (const int) +0:50 Pre-Increment (int) +0:50 'c' (int) +0:53 Branch: Return with expression +0:53 Constant: +0:53 5 (const int) +0:55 Pre-Increment (int) +0:55 'c' (int) +0:? Linker Objects +0:? 'flag' (const bool) +0:? false (const bool) +0:? 'c' (int) diff --git a/Test/baseResults/decls.frag.out b/Test/baseResults/decls.frag.out index eb3e6da..16501b5 100644 --- a/Test/baseResults/decls.frag.out +++ b/Test/baseResults/decls.frag.out @@ -273,4 +273,243 @@ Linked fragment stage: Shader version: 120 +ERROR: node is still EOpNull! +0:5 Sequence +0:5 move second child to first child (int) +0:5 'd1' (int) +0:5 Constant: +0:5 1 (const int) +0:6 Sequence +0:6 move second child to first child (int) +0:6 'e2' (int) +0:6 Constant: +0:6 2 (const int) +0:7 Sequence +0:7 move second child to first child (int) +0:7 'h3' (int) +0:7 Constant: +0:7 3 (const int) +0:14 Sequence +0:14 move second child to first child (4-element array of int) +0:14 'ii4' (4-element array of int) +0:14 Constant: +0:14 1 (const int) +0:14 2 (const int) +0:14 3 (const int) +0:14 4 (const int) +0:15 Sequence +0:15 move second child to first child (5-element array of int) +0:15 'ik5' (5-element array of int) +0:15 Constant: +0:15 5 (const int) +0:15 6 (const int) +0:15 7 (const int) +0:15 8 (const int) +0:15 9 (const int) +0:16 Sequence +0:16 move second child to first child (2-element array of int) +0:16 'im2' (2-element array of int) +0:16 Constant: +0:16 10 (const int) +0:16 11 (const int) +0:16 move second child to first child (3-element array of int) +0:16 'im3' (3-element array of int) +0:16 Constant: +0:16 12 (const int) +0:16 13 (const int) +0:16 14 (const int) +0:17 Sequence +0:17 move second child to first child (4-element array of int) +0:17 'in8' (4-element array of int) +0:17 Constant: +0:17 21 (const int) +0:17 22 (const int) +0:17 23 (const int) +0:17 24 (const int) +0:34 Sequence +0:34 move second child to first child (4-element array of int) +0:34 'gl_vi4' (4-element array of int) +0:34 Constant: +0:34 1 (const int) +0:34 2 (const int) +0:34 3 (const int) +0:34 4 (const int) +0:35 Sequence +0:35 move second child to first child (5-element array of int) +0:35 'gl_vk5' (5-element array of int) +0:35 Constant: +0:35 5 (const int) +0:35 6 (const int) +0:35 7 (const int) +0:35 8 (const int) +0:35 9 (const int) +0:36 Sequence +0:36 move second child to first child (2-element array of int) +0:36 'gl_vm2' (2-element array of int) +0:36 Constant: +0:36 10 (const int) +0:36 11 (const int) +0:36 move second child to first child (3-element array of int) +0:36 'gl_vm3' (3-element array of int) +0:36 Constant: +0:36 12 (const int) +0:36 13 (const int) +0:36 14 (const int) +0:37 Sequence +0:37 move second child to first child (4-element array of int) +0:37 'gl_vn8' (4-element array of int) +0:37 Constant: +0:37 21 (const int) +0:37 22 (const int) +0:37 23 (const int) +0:37 24 (const int) +0:39 Function Definition: main( (void) +0:39 Function Parameters: +0:41 Sequence +0:41 Loop with condition tested first +0:41 Loop Condition +0:41 move second child to first child (bool) +0:41 'cond' (bool) +0:41 Compare Less Than (bool) +0:41 'b' (int) +0:41 'c' (int) +0:41 No loop body +0:42 Loop with condition tested first +0:42 Loop Condition +0:42 move second child to first child (int) +0:42 'icond' (int) +0:42 'b' (int) +0:42 No loop body +0:43 Loop with condition tested first +0:43 Loop Condition +0:43 move second child to first child (bool) +0:43 'gl_cond' (bool) +0:43 Compare Less Than (bool) +0:43 'b' (int) +0:43 'c' (int) +0:43 No loop body +0:46 Sequence +0:46 move second child to first child (4-element array of int) +0:46 'foob__vi4' (4-element array of int) +0:46 Constant: +0:46 1 (const int) +0:46 2 (const int) +0:46 3 (const int) +0:46 4 (const int) +0:47 Sequence +0:47 move second child to first child (5-element array of int) +0:47 'foob__vk5' (5-element array of int) +0:47 Constant: +0:47 5 (const int) +0:47 6 (const int) +0:47 7 (const int) +0:47 8 (const int) +0:47 9 (const int) +0:48 Sequence +0:48 move second child to first child (2-element array of int) +0:48 '__foobvm2' (2-element array of int) +0:48 Constant: +0:48 10 (const int) +0:48 11 (const int) +0:48 move second child to first child (3-element array of int) +0:48 '__foobvm3' (3-element array of int) +0:48 Constant: +0:48 12 (const int) +0:48 13 (const int) +0:48 14 (const int) +0:49 Sequence +0:49 move second child to first child (4-element array of int) +0:49 'foob__vn8' (4-element array of int) +0:49 Constant: +0:49 21 (const int) +0:49 22 (const int) +0:49 23 (const int) +0:49 24 (const int) +0:? Linker Objects +0:? 'a' (int) +0:? 'b' (int) +0:? 'c' (int) +0:? 'd1' (int) +0:? 'e2' (int) +0:? 'f' (int) +0:? 'g' (int) +0:? 'h3' (int) +0:? 'i4' (4-element array of int) +0:? 'j' (int) +0:? 'k5' (5-element array of int) +0:? 'm6' (6-element array of int) +0:? 'm7' (7-element array of int) +0:? 'n8' (8-element array of int) +0:? 'p' (int) +0:? 'ii4' (4-element array of int) +0:? 'ij' (int) +0:? 'ik5' (5-element array of int) +0:? 'im2' (2-element array of int) +0:? 'im3' (3-element array of int) +0:? 'in8' (4-element array of int) +0:? 'ip' (int) +0:? 'cii4' (const 4-element array of int) +0:? 1 (const int) +0:? 2 (const int) +0:? 3 (const int) +0:? 4 (const int) +0:? 'cij' (int) +0:? 'cik5' (const 5-element array of int) +0:? 5 (const int) +0:? 6 (const int) +0:? 7 (const int) +0:? 8 (const int) +0:? 9 (const int) +0:? 'cim2' (const 2-element array of int) +0:? 10 (const int) +0:? 11 (const int) +0:? 'cim3' (const 3-element array of int) +0:? 12 (const int) +0:? 13 (const int) +0:? 14 (const int) +0:? 'cin8' (const 4-element array of int) +0:? 21 (const int) +0:? 22 (const int) +0:? 23 (const int) +0:? 24 (const int) +0:? 'cip' (int) +0:? 'uii4' (uniform 4-element array of int) +0:? 1 (const int) +0:? 2 (const int) +0:? 3 (const int) +0:? 4 (const int) +0:? 'uij' (uniform int) +0:? 'uik5' (uniform 5-element array of int) +0:? 5 (const int) +0:? 6 (const int) +0:? 7 (const int) +0:? 8 (const int) +0:? 9 (const int) +0:? 'uim2' (uniform 2-element array of int) +0:? 10 (const int) +0:? 11 (const int) +0:? 'uim3' (uniform 3-element array of int) +0:? 12 (const int) +0:? 13 (const int) +0:? 14 (const int) +0:? 'uin8' (uniform 4-element array of int) +0:? 21 (const int) +0:? 22 (const int) +0:? 23 (const int) +0:? 24 (const int) +0:? 'uip' (uniform int) +0:? 'gl_vi4' (4-element array of int) +0:? 'gl_vj' (int) +0:? 'gl_vk5' (5-element array of int) +0:? 'gl_vm2' (2-element array of int) +0:? 'gl_vm3' (3-element array of int) +0:? 'gl_vn8' (4-element array of int) +0:? 'gl_vp' (int) +0:? 'foob__vi4' (4-element array of int) +0:? 'foob__vj' (int) +0:? 'foob__vk5' (5-element array of int) +0:? '__foobvm2' (2-element array of int) +0:? '__foobvm3' (3-element array of int) +0:? 'foob__vn8' (4-element array of int) +0:? 'foob__vp' (int) diff --git a/Test/baseResults/deepRvalue.frag.out b/Test/baseResults/deepRvalue.frag.out index d10c0bd..2c6557c 100644 --- a/Test/baseResults/deepRvalue.frag.out +++ b/Test/baseResults/deepRvalue.frag.out @@ -145,4 +145,142 @@ Linked fragment stage: Shader version: 120 +0:? Sequence +0:5 Sequence +0:5 move second child to first child (4-component vector of float) +0:5 'v1' (4-component vector of float) +0:5 Constant: +0:5 2.000000 +0:5 3.000000 +0:5 5.000000 +0:5 7.000000 +0:6 Sequence +0:6 move second child to first child (4-component vector of float) +0:6 'v2' (4-component vector of float) +0:6 Constant: +0:6 11.000000 +0:6 13.000000 +0:6 17.000000 +0:6 19.000000 +0:7 Sequence +0:7 move second child to first child (4-component vector of float) +0:7 'v3' (4-component vector of float) +0:7 Constant: +0:7 23.000000 +0:7 29.000000 +0:7 31.000000 +0:7 37.000000 +0:8 Sequence +0:8 move second child to first child (4-component vector of float) +0:8 'v4' (4-component vector of float) +0:8 Constant: +0:8 41.000000 +0:8 43.000000 +0:8 47.000000 +0:8 53.000000 +0:16 Function Definition: main( (void) +0:16 Function Parameters: +0:18 Sequence +0:18 Sequence +0:18 move second child to first child (4X4 matrix of float) +0:18 'm' (4X4 matrix of float) +0:18 Construct mat4 (4X4 matrix of float) +0:18 'v1' (4-component vector of float) +0:18 'v2' (4-component vector of float) +0:18 'v3' (4-component vector of float) +0:18 'v4' (4-component vector of float) +0:20 Sequence +0:20 move second child to first child (4X4 matrix of float) +0:20 'mm' (4X4 matrix of float) +0:20 component-wise multiply (4X4 matrix of float) +0:20 'm' (4X4 matrix of float) +0:20 'm' (4X4 matrix of float) +0:21 Sequence +0:21 move second child to first child (float) +0:21 'f' (float) +0:21 direct index (float) +0:21 direct index (4-component vector of float) +0:21 'mm' (4X4 matrix of float) +0:21 Constant: +0:21 1 (const int) +0:21 Constant: +0:21 3 (const int) +0:24 Sequence +0:24 move second child to first child (float) +0:24 'g' (float) +0:24 direct index (float) +0:24 direct index (4-component vector of float) +0:24 component-wise multiply (4X4 matrix of float) +0:24 'm' (4X4 matrix of float) +0:24 'm' (4X4 matrix of float) +0:24 Constant: +0:24 2 (const int) +0:24 Constant: +0:24 1 (const int) +0:26 Sequence +0:26 move second child to first child (float) +0:26 'h' (float) +0:26 Constant: +0:26 5.000000 +0:28 Sequence +0:28 move second child to first child (float) +0:28 'i' (float) +0:28 direct index (float) +0:28 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:28 'sampler' (uniform sampler2D) +0:28 Constant: +0:28 0.500000 +0:28 0.500000 +0:28 Constant: +0:28 1 (const int) +0:30 add second child into first child (float) +0:30 'i' (float) +0:30 direct index (float) +0:30 Test condition and select (4-component vector of float) +0:30 Condition +0:30 Compare Greater Than (bool) +0:30 'i' (float) +0:30 Constant: +0:30 0.100000 +0:30 true case +0:30 'v1' (4-component vector of float) +0:30 false case +0:30 'v2' (4-component vector of float) +0:30 Constant: +0:30 3 (const int) +0:33 add second child into first child (float) +0:33 'i' (float) +0:33 direct index (float) +0:33 direct index (2-component vector of float) +0:33 b: direct index for structure (3-element array of 2-component vector of float) +0:33 move second child to first child (structure{int a, 3-element array of 2-component vector of float b, bool c}) +0:33 't' (structure{int a, 3-element array of 2-component vector of float b, bool c}) +0:33 Constant: +0:33 1 (const int) +0:33 2.000000 +0:33 3.000000 +0:33 4.000000 +0:33 5.000000 +0:33 6.000000 +0:33 7.000000 +0:33 true (const bool) +0:33 Constant: +0:33 1 (const int) +0:33 Constant: +0:33 2 (const int) +0:33 Constant: +0:33 1 (const int) +0:35 move second child to first child (4-component vector of float) +0:35 'gl_FragColor' (fragColor 4-component vector of float) +0:35 Construct vec4 (4-component vector of float) +0:35 'f' (float) +0:35 'g' (float) +0:35 'h' (float) +0:35 'i' (float) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'v1' (4-component vector of float) +0:? 'v2' (4-component vector of float) +0:? 'v3' (4-component vector of float) +0:? 'v4' (4-component vector of float) diff --git a/Test/baseResults/depthOut.frag.out b/Test/baseResults/depthOut.frag.out index 7401c07..c70365f 100644 --- a/Test/baseResults/depthOut.frag.out +++ b/Test/baseResults/depthOut.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/depthOut.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release WARNING: 0:4: varying deprecated in version 130; may be removed in future release @@ -23,4 +22,17 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:6 Function Definition: main( (void) +0:6 Function Parameters: +0:8 Sequence +0:8 move second child to first child (float) +0:8 'gl_FragDepth' (gl_FragDepth float) +0:8 'Depth' (smooth in float) +0:9 move second child to first child (4-component vector of float) +0:9 'gl_FragColor' (fragColor 4-component vector of float) +0:9 'Color' (smooth in 4-component vector of float) +0:? Linker Objects +0:? 'Color' (smooth in 4-component vector of float) +0:? 'Depth' (smooth in float) diff --git a/Test/baseResults/discard-dce.frag.out b/Test/baseResults/discard-dce.frag.out index 7329ca1..446eabc 100644 --- a/Test/baseResults/discard-dce.frag.out +++ b/Test/baseResults/discard-dce.frag.out @@ -122,4 +122,119 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:4 Function Definition: main( (void) +0:4 Function Parameters: +0:6 Sequence +0:6 Sequence +0:6 move second child to first child (4-component vector of float) +0:6 'white' (4-component vector of float) +0:6 Constant: +0:6 1.000000 +0:6 1.000000 +0:6 1.000000 +0:6 1.000000 +0:7 Sequence +0:7 move second child to first child (4-component vector of float) +0:7 'black' (4-component vector of float) +0:7 Constant: +0:7 0.200000 +0:7 0.200000 +0:7 0.200000 +0:7 0.200000 +0:8 Sequence +0:8 move second child to first child (4-component vector of float) +0:8 'color' (4-component vector of float) +0:8 'white' (4-component vector of float) +0:11 Sequence +0:11 move second child to first child (float) +0:11 'x' (float) +0:11 subtract (float) +0:11 component-wise multiply (float) +0:11 direct index (float) +0:11 'tex_coord' (smooth in 2-component vector of float) +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 2.000000 +0:11 Constant: +0:11 1.000000 +0:12 Sequence +0:12 move second child to first child (float) +0:12 'y' (float) +0:12 subtract (float) +0:12 component-wise multiply (float) +0:12 direct index (float) +0:12 'tex_coord' (smooth in 2-component vector of float) +0:12 Constant: +0:12 1 (const int) +0:12 Constant: +0:12 2.000000 +0:12 Constant: +0:12 1.000000 +0:14 Sequence +0:14 move second child to first child (float) +0:14 'radius' (float) +0:14 sqrt (float) +0:14 add (float) +0:14 component-wise multiply (float) +0:14 'x' (float) +0:14 'x' (float) +0:14 component-wise multiply (float) +0:14 'y' (float) +0:14 'y' (float) +0:15 Test condition and select (void) +0:15 Condition +0:15 Compare Greater Than (bool) +0:15 'radius' (float) +0:15 Constant: +0:15 1.000000 +0:15 true case +0:16 Sequence +0:16 Test condition and select (void) +0:16 Condition +0:16 Compare Greater Than (bool) +0:16 'radius' (float) +0:16 Constant: +0:16 1.100000 +0:16 true case +0:17 Sequence +0:17 Pre-Increment (4-component vector of float) +0:17 'color' (4-component vector of float) +0:20 move second child to first child (4-component vector of float) +0:20 'gl_FragColor' (fragColor 4-component vector of float) +0:20 'color' (4-component vector of float) +0:22 Test condition and select (void) +0:22 Condition +0:22 Compare Greater Than (bool) +0:22 'radius' (float) +0:22 Constant: +0:22 1.200000 +0:22 true case +0:23 Sequence +0:23 Pre-Increment (4-component vector of float) +0:23 'color' (4-component vector of float) +0:26 Branch: Kill +0:30 Test condition and select (void) +0:30 Condition +0:30 Compare Greater Than or Equal (bool) +0:30 'radius' (float) +0:30 Constant: +0:30 0.750000 +0:30 true case +0:31 subtract second child into first child (4-component vector of float) +0:31 'color' (4-component vector of float) +0:31 Absolute value (float) +0:31 divide (float) +0:31 pow (float) +0:31 'radius' (float) +0:31 Constant: +0:31 16.000000 +0:31 Constant: +0:31 2.000000 +0:33 move second child to first child (4-component vector of float) +0:33 'gl_FragColor' (fragColor 4-component vector of float) +0:33 'color' (4-component vector of float) +0:? Linker Objects +0:? 'tex_coord' (smooth in 2-component vector of float) diff --git a/Test/baseResults/doWhileLoop.frag.out b/Test/baseResults/doWhileLoop.frag.out index fdb4237..b9f2c4b 100644 --- a/Test/baseResults/doWhileLoop.frag.out +++ b/Test/baseResults/doWhileLoop.frag.out @@ -35,4 +35,32 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:9 Sequence +0:9 Sequence +0:9 move second child to first child (4-component vector of float) +0:9 'color' (4-component vector of float) +0:9 'BaseColor' (smooth in 4-component vector of float) +0:13 Loop with condition not tested first +0:13 Loop Condition +0:13 Compare Less Than (bool) +0:13 direct index (float) +0:13 'color' (4-component vector of float) +0:13 Constant: +0:13 0 (const int) +0:13 'd' (uniform float) +0:13 Loop Body +0:12 Sequence +0:12 add second child into first child (4-component vector of float) +0:12 'color' (4-component vector of float) +0:12 'bigColor' (uniform 4-component vector of float) +0:15 move second child to first child (4-component vector of float) +0:15 'gl_FragColor' (fragColor 4-component vector of float) +0:15 'color' (4-component vector of float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) diff --git a/Test/baseResults/earlyReturnDiscard.frag.out b/Test/baseResults/earlyReturnDiscard.frag.out index c7e8a81..ff44572 100644 --- a/Test/baseResults/earlyReturnDiscard.frag.out +++ b/Test/baseResults/earlyReturnDiscard.frag.out @@ -131,4 +131,128 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:19 Function Definition: main( (void) +0:19 Function Parameters: +0:21 Sequence +0:21 Sequence +0:21 move second child to first child (4-component vector of float) +0:21 'color' (4-component vector of float) +0:21 'BaseColor' (smooth in 4-component vector of float) +0:24 move second child to first child (4-component vector of float) +0:24 'color2' (4-component vector of float) +0:24 'otherColor' (uniform 4-component vector of float) +0:26 Test condition and select (void) +0:26 Condition +0:26 Compare Greater Than (bool) +0:26 'c' (smooth in float) +0:26 'd' (uniform float) +0:26 true case +0:27 add second child into first child (4-component vector of float) +0:27 'color' (4-component vector of float) +0:27 'bigColor' (uniform 4-component vector of float) +0:26 false case +0:29 add second child into first child (4-component vector of float) +0:29 'color' (4-component vector of float) +0:29 'smallColor' (uniform 4-component vector of float) +0:31 Test condition and select (void) +0:31 Condition +0:31 Compare Less Than (bool) +0:31 direct index (float) +0:31 'color' (4-component vector of float) +0:31 Constant: +0:31 2 (const int) +0:31 'minimum' (uniform float) +0:31 true case +0:32 Branch: Return +0:34 Post-Increment (float) +0:34 direct index (float) +0:34 'color' (4-component vector of float) +0:34 Constant: +0:34 2 (const int) +0:36 Test condition and select (void) +0:36 Condition +0:36 Compare Greater Than (bool) +0:36 direct index (float) +0:36 'color' (4-component vector of float) +0:36 Constant: +0:36 2 (const int) +0:36 'threshhold' (uniform float) +0:36 true case +0:37 Branch: Kill +0:39 Post-Increment (4-component vector of float) +0:39 'color' (4-component vector of float) +0:42 Test condition and select (void) +0:42 Condition +0:42 Compare Greater Than (bool) +0:42 direct index (float) +0:42 'color' (4-component vector of float) +0:42 Constant: +0:42 3 (const int) +0:42 'threshhold2' (uniform float) +0:42 true case +0:43 Sequence +0:43 Test condition and select (void) +0:43 Condition +0:43 Compare Greater Than (bool) +0:43 direct index (float) +0:43 'color' (4-component vector of float) +0:43 Constant: +0:43 2 (const int) +0:43 'threshhold2' (uniform float) +0:43 true case +0:44 Branch: Return +0:43 false case +0:45 Test condition and select (void) +0:45 Condition +0:45 'b' (uniform bool) +0:45 true case +0:46 Post-Increment (float) +0:46 direct index (float) +0:46 'color' (4-component vector of float) +0:46 Constant: +0:46 2 (const int) +0:45 false case +0:48 Sequence +0:48 Test condition and select (void) +0:48 Condition +0:48 Compare Less Than (bool) +0:48 direct index (float) +0:48 'color' (4-component vector of float) +0:48 Constant: +0:48 0 (const int) +0:48 'minimum' (uniform float) +0:48 true case +0:49 Sequence +0:49 Branch: Kill +0:48 false case +0:51 Sequence +0:51 Post-Increment (4-component vector of float) +0:51 'color' (4-component vector of float) +0:42 false case +0:55 Sequence +0:55 Test condition and select (void) +0:55 Condition +0:55 'b' (uniform bool) +0:55 true case +0:56 Branch: Kill +0:55 false case +0:58 Branch: Return +0:101 move second child to first child (4-component vector of float) +0:101 'gl_FragColor' (fragColor 4-component vector of float) +0:101 component-wise multiply (4-component vector of float) +0:101 'color' (4-component vector of float) +0:101 'color2' (4-component vector of float) +0:? Linker Objects +0:? 'd' (uniform float) +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'smallColor' (uniform 4-component vector of float) +0:? 'otherColor' (uniform 4-component vector of float) +0:? 'c' (smooth in float) +0:? 'threshhold' (uniform float) +0:? 'threshhold2' (uniform float) +0:? 'threshhold3' (uniform float) +0:? 'minimum' (uniform float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'b' (uniform bool) diff --git a/Test/baseResults/errors.frag.out b/Test/baseResults/errors.frag.out index 215f235..4b08a46 100644 --- a/Test/baseResults/errors.frag.out +++ b/Test/baseResults/errors.frag.out @@ -20,4 +20,13 @@ Linked fragment stage: Shader version: 100 +ERROR: node is still EOpNull! +0:1 Function Definition: main(i1; (mediump int) +0:1 Function Parameters: +0:1 'foo' (in mediump int) +0:3 Sequence +0:3 Branch: Return with expression +0:3 Constant: +0:3 1 (const int) +0:? Linker Objects diff --git a/Test/baseResults/flowControl.frag.out b/Test/baseResults/flowControl.frag.out index cf1c016..21e12d6 100644 --- a/Test/baseResults/flowControl.frag.out +++ b/Test/baseResults/flowControl.frag.out @@ -43,4 +43,40 @@ Linked fragment stage: Shader version: 120 +0:? Sequence +0:10 Function Definition: main( (void) +0:10 Function Parameters: +0:12 Sequence +0:12 Sequence +0:12 move second child to first child (4-component vector of float) +0:12 'color' (4-component vector of float) +0:12 'BaseColor' (smooth in 4-component vector of float) +0:15 move second child to first child (4-component vector of float) +0:15 'color2' (4-component vector of float) +0:15 'otherColor' (uniform 4-component vector of float) +0:17 Test condition and select (void) +0:17 Condition +0:17 Compare Greater Than (bool) +0:17 'c' (smooth in float) +0:17 'd' (uniform float) +0:17 true case +0:18 add second child into first child (4-component vector of float) +0:18 'color' (4-component vector of float) +0:18 'bigColor' (uniform 4-component vector of float) +0:17 false case +0:20 add second child into first child (4-component vector of float) +0:20 'color' (4-component vector of float) +0:20 'smallColor' (uniform 4-component vector of float) +0:22 move second child to first child (4-component vector of float) +0:22 'gl_FragColor' (fragColor 4-component vector of float) +0:22 component-wise multiply (4-component vector of float) +0:22 'color' (4-component vector of float) +0:22 'color2' (4-component vector of float) +0:? Linker Objects +0:? 'd' (uniform float) +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'smallColor' (uniform 4-component vector of float) +0:? 'otherColor' (uniform 4-component vector of float) +0:? 'c' (smooth in float) +0:? 'BaseColor' (smooth in 4-component vector of float) diff --git a/Test/baseResults/forLoop.frag.out b/Test/baseResults/forLoop.frag.out index dbb1bdb..59b4aad 100644 --- a/Test/baseResults/forLoop.frag.out +++ b/Test/baseResults/forLoop.frag.out @@ -41,4 +41,38 @@ Linked fragment stage: Shader version: 120 +0:? Sequence +0:8 Function Definition: main( (void) +0:8 Function Parameters: +0:10 Sequence +0:10 Sequence +0:10 move second child to first child (4-component vector of float) +0:10 'color' (4-component vector of float) +0:10 'BaseColor' (smooth in 4-component vector of float) +0:12 Sequence +0:12 Sequence +0:12 move second child to first child (int) +0:12 'i' (int) +0:12 Constant: +0:12 0 (const int) +0:12 Loop with condition tested first +0:12 Loop Condition +0:12 Compare Less Than (bool) +0:12 'i' (int) +0:12 'Count' (uniform int) +0:12 Loop Body +0:13 Sequence +0:13 add second child into first child (4-component vector of float) +0:13 'color' (4-component vector of float) +0:13 'bigColor' (uniform 4-component vector of float) +0:12 Loop Terminal Expression +0:12 Pre-Increment (int) +0:12 'i' (int) +0:16 move second child to first child (4-component vector of float) +0:16 'gl_FragColor' (fragColor 4-component vector of float) +0:16 'color' (4-component vector of float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'Count' (uniform int) diff --git a/Test/baseResults/forwardRef.frag.out b/Test/baseResults/forwardRef.frag.out index 62140dc..b7f2cc4 100644 --- a/Test/baseResults/forwardRef.frag.out +++ b/Test/baseResults/forwardRef.frag.out @@ -65,4 +65,62 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:11 Function Definition: main( (void) +0:11 Function Parameters: +0:13 Sequence +0:13 Sequence +0:13 move second child to first child (4-component vector of float) +0:13 'color' (4-component vector of float) +0:13 Construct vec4 (4-component vector of float) +0:13 Function Call: foo(vf4; (float) +0:13 'BaseColor' (smooth in 4-component vector of float) +0:15 Function Call: bar( (void) +0:16 Sequence +0:16 move second child to first child (float) +0:16 'f' (float) +0:16 Function Call: unreachableReturn( (float) +0:18 move second child to first child (4-component vector of float) +0:18 'gl_FragColor' (fragColor 4-component vector of float) +0:18 vector-scale (4-component vector of float) +0:18 'color' (4-component vector of float) +0:18 'f' (float) +0:21 Function Definition: bar( (void) +0:21 Function Parameters: +0:25 Function Definition: unreachableReturn( (float) +0:25 Function Parameters: +0:27 Sequence +0:27 Function Call: bar( (void) +0:28 Test condition and select (void) +0:28 Condition +0:28 Compare Less Than (bool) +0:28 'd' (uniform float) +0:28 Constant: +0:28 4.200000 +0:28 true case +0:29 Branch: Return with expression +0:29 Constant: +0:29 1.200000 +0:28 false case +0:31 Branch: Return with expression +0:31 Constant: +0:31 4.500000 +0:34 Function Definition: foo(vf4; (float) +0:34 Function Parameters: +0:34 'bar' (in 4-component vector of float) +0:36 Sequence +0:36 Branch: Return with expression +0:36 add (float) +0:36 direct index (float) +0:36 'bar' (in 4-component vector of float) +0:36 Constant: +0:36 0 (const int) +0:36 direct index (float) +0:36 'bar' (in 4-component vector of float) +0:36 Constant: +0:36 1 (const int) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) diff --git a/Test/baseResults/functionCall.frag.out b/Test/baseResults/functionCall.frag.out index 6362de1..a4ce77b 100644 --- a/Test/baseResults/functionCall.frag.out +++ b/Test/baseResults/functionCall.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/functionCall.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -95,4 +94,90 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:7 Sequence +0:7 move second child to first child (float) +0:7 'h' (float) +0:7 Constant: +0:7 0.000000 +0:9 Function Definition: foo(vf4; (float) +0:9 Function Parameters: +0:9 'bar' (in 4-component vector of float) +0:11 Sequence +0:11 Branch: Return with expression +0:11 add (float) +0:11 direct index (float) +0:11 'bar' (in 4-component vector of float) +0:11 Constant: +0:11 0 (const int) +0:11 direct index (float) +0:11 'bar' (in 4-component vector of float) +0:11 Constant: +0:11 1 (const int) +0:14 Function Definition: bar( (void) +0:14 Function Parameters: +0:18 Function Definition: unreachableReturn( (float) +0:18 Function Parameters: +0:20 Sequence +0:20 Test condition and select (void) +0:20 Condition +0:20 Compare Less Than (bool) +0:20 'd' (uniform float) +0:20 Constant: +0:20 4.200000 +0:20 true case +0:21 Branch: Return with expression +0:21 Constant: +0:21 1.200000 +0:20 false case +0:23 Branch: Return with expression +0:23 Constant: +0:23 4.500000 +0:27 Function Definition: missingReturn( (float) +0:27 Function Parameters: +0:29 Sequence +0:29 Test condition and select (void) +0:29 Condition +0:29 Compare Less Than (bool) +0:29 'd' (uniform float) +0:29 Constant: +0:29 4.500000 +0:29 true case +0:30 Sequence +0:30 move second child to first child (float) +0:30 'h' (float) +0:30 'd' (uniform float) +0:31 Branch: Return with expression +0:31 Constant: +0:31 3.900000 +0:35 Function Definition: main( (void) +0:35 Function Parameters: +0:37 Sequence +0:37 Sequence +0:37 move second child to first child (4-component vector of float) +0:37 'color' (4-component vector of float) +0:37 Construct vec4 (4-component vector of float) +0:37 Function Call: foo(vf4; (float) +0:37 'BaseColor' (smooth in 4-component vector of float) +0:39 Function Call: bar( (void) +0:40 Sequence +0:40 move second child to first child (float) +0:40 'f' (float) +0:40 Function Call: unreachableReturn( (float) +0:41 Sequence +0:41 move second child to first child (float) +0:41 'g' (float) +0:41 Function Call: missingReturn( (float) +0:43 move second child to first child (4-component vector of float) +0:43 'gl_FragColor' (fragColor 4-component vector of float) +0:43 vector-scale (4-component vector of float) +0:43 vector-scale (4-component vector of float) +0:43 'color' (4-component vector of float) +0:43 'f' (float) +0:43 'h' (float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) +0:? 'h' (float) diff --git a/Test/baseResults/functionSemantics.frag.out b/Test/baseResults/functionSemantics.frag.out index 8285868..eff0a02 100644 --- a/Test/baseResults/functionSemantics.frag.out +++ b/Test/baseResults/functionSemantics.frag.out @@ -1,5 +1,5 @@ ../../LunarGLASS/test/functionSemantics.frag -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. Shader version: 400 0:? Sequence @@ -195,4 +195,191 @@ Linked fragment stage: Shader version: 400 +0:? Sequence +0:5 Function Definition: foo(i1;i1;i1;i1;i1;i1; (int) +0:5 Function Parameters: +0:5 'a' (in int) +0:5 'b' (const (read only) int) +0:5 'c' (in int) +0:5 'd' (const (read only) int) +0:5 'e' (out int) +0:5 'f' (inout int) +0:7 Sequence +0:7 Sequence +0:7 move second child to first child (int) +0:7 'sum' (int) +0:7 add (int) +0:7 add (int) +0:7 add (int) +0:7 add (int) +0:7 'a' (in int) +0:7 'b' (const (read only) int) +0:7 'c' (in int) +0:7 'd' (const (read only) int) +0:7 'f' (inout int) +0:10 multiply second child into first child (int) +0:10 'a' (in int) +0:10 Constant: +0:10 64 (const int) +0:12 multiply second child into first child (int) +0:12 'c' (in int) +0:12 Constant: +0:12 64 (const int) +0:14 move second child to first child (int) +0:14 'e' (out int) +0:14 Constant: +0:14 1024 (const int) +0:15 multiply second child into first child (int) +0:15 'f' (inout int) +0:15 Constant: +0:15 64 (const int) +0:17 add second child into first child (int) +0:17 'sum' (int) +0:17 add (int) +0:17 add (int) +0:17 add (int) +0:17 add (int) +0:17 add (int) +0:17 'a' (in int) +0:17 component-wise multiply (int) +0:17 Constant: +0:17 64 (const int) +0:17 'b' (const (read only) int) +0:17 'c' (in int) +0:17 component-wise multiply (int) +0:17 Constant: +0:17 64 (const int) +0:17 'd' (const (read only) int) +0:17 'e' (out int) +0:17 'f' (inout int) +0:20 Branch: Return with expression +0:20 'sum' (int) +0:23 Function Definition: foo2(f1;vf3;i1; (int) +0:23 Function Parameters: +0:23 'a' (in float) +0:23 'b' (in 3-component vector of float) +0:23 'r' (out int) +0:25 Sequence +0:25 move second child to first child (int) +0:25 'r' (out int) +0:25 Convert float to int (int) +0:25 component-wise multiply (float) +0:25 Constant: +0:25 3.000000 +0:25 'a' (in float) +0:26 Branch: Return with expression +0:26 Convert float to int (int) +0:26 component-wise multiply (float) +0:26 Constant: +0:26 5.000000 +0:26 direct index (float) +0:26 'b' (in 3-component vector of float) +0:26 Constant: +0:26 1 (const int) +0:29 Function Definition: foo3( (int) +0:29 Function Parameters: +0:31 Sequence +0:31 Test condition and select (void) +0:31 Condition +0:31 Compare Greater Than (bool) +0:31 'u' (uniform float) +0:31 Constant: +0:31 3.200000 +0:31 true case +0:32 Sequence +0:32 Branch: Kill +0:33 Branch: Return with expression +0:33 Constant: +0:33 1000000 (const int) +0:36 Branch: Return with expression +0:36 Constant: +0:36 2000000 (const int) +0:39 Function Definition: main( (void) +0:39 Function Parameters: +0:? Sequence +0:42 Sequence +0:42 move second child to first child (int) +0:42 't' (int) +0:42 Constant: +0:42 2 (const int) +0:46 move second child to first child (int) +0:46 direct index (int) +0:46 t: direct index for structure (4-component vector of int) +0:46 'f' (structure{4-component vector of int t}) +0:46 Constant: +0:46 0 (const int) +0:46 Constant: +0:46 1 (const int) +0:46 Constant: +0:46 32 (const int) +0:49 Sequence +0:49 move second child to first child (int) +0:49 'color' (int) +0:49 Function Call: foo(i1;i1;i1;i1;i1;i1; (int) +0:49 Constant: +0:49 1 (const int) +0:49 Constant: +0:49 2 (const int) +0:49 add (int) +0:49 't' (int) +0:49 't' (int) +0:49 Constant: +0:49 8 (const int) +0:49 'e' (int) +0:49 direct index (int) +0:49 t: direct index for structure (4-component vector of int) +0:49 'f' (structure{4-component vector of int t}) +0:49 Constant: +0:49 0 (const int) +0:49 Constant: +0:49 1 (const int) +0:51 add second child into first child (int) +0:51 'color' (int) +0:51 component-wise multiply (int) +0:51 Constant: +0:51 128 (const int) +0:51 add (int) +0:51 'e' (int) +0:51 direct index (int) +0:51 t: direct index for structure (4-component vector of int) +0:51 'f' (structure{4-component vector of int t}) +0:51 Constant: +0:51 0 (const int) +0:51 Constant: +0:51 1 (const int) +0:57 move second child to first child (float) +0:57 'ret' (float) +0:57 Convert int to float (float) +0:57 Comma (int) +0:57 move second child to first child (int) +0:57 'tempReturn' (int) +0:57 Function Call: foo2(f1;vf3;i1; (int) +0:57 Constant: +0:57 4.000000 +0:57 Constant: +0:57 1.000000 +0:57 2.000000 +0:57 3.000000 +0:57 'tempArg' (int) +0:57 move second child to first child (float) +0:57 'arg' (float) +0:57 Convert int to float (float) +0:57 'tempArg' (int) +0:57 'tempReturn' (int) +0:58 add second child into first child (int) +0:58 'color' (int) +0:58 Convert float to int (int) +0:58 add (float) +0:58 'ret' (float) +0:58 'arg' (float) +0:60 add second child into first child (int) +0:60 'color' (int) +0:60 Function Call: foo3( (int) +0:62 move second child to first child (4-component vector of float) +0:62 'gl_FragColor' (fragColor 4-component vector of float) +0:62 Construct vec4 (4-component vector of float) +0:62 Convert int to float (float) +0:62 'color' (int) +0:? Linker Objects +0:? 'u' (uniform float) diff --git a/Test/baseResults/length.frag.out b/Test/baseResults/length.frag.out index 218ca07..3df41ba 100644 --- a/Test/baseResults/length.frag.out +++ b/Test/baseResults/length.frag.out @@ -33,4 +33,30 @@ Linked fragment stage: Shader version: 120 +0:? Sequence +0:11 Function Definition: main( (void) +0:11 Function Parameters: +0:? Sequence +0:15 Sequence +0:15 move second child to first child (2-component vector of float) +0:15 't' (2-component vector of float) +0:15 add (2-component vector of float) +0:15 direct index (smooth 2-component vector of float) +0:15 'v' (smooth in 2-element array of 2-component vector of float) +0:15 Constant: +0:15 0 (const int) +0:15 direct index (smooth 2-component vector of float) +0:15 'v' (smooth in 2-element array of 2-component vector of float) +0:15 Constant: +0:15 1 (const int) +0:17 move second child to first child (4-component vector of float) +0:17 'gl_FragColor' (fragColor 4-component vector of float) +0:17 Constant: +0:17 30.000000 +0:17 30.000000 +0:17 30.000000 +0:17 30.000000 +0:? Linker Objects +0:? 'u' (uniform 3-element array of 4-component vector of float) +0:? 'v' (smooth in 2-element array of 2-component vector of float) diff --git a/Test/baseResults/lineContinuation.vert.out b/Test/baseResults/lineContinuation.vert.out index ad3da79..dd718d8 100644 --- a/Test/baseResults/lineContinuation.vert.out +++ b/Test/baseResults/lineContinuation.vert.out @@ -190,4 +190,164 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:20 Function Definition: main( (void) +0:20 Function Parameters: +0:20 Sequence +0:20 move second child to first child (highp 4-component vector of float) +0:20 'gl_Position' (gl_Position highp 4-component vector of float) +0:20 Construct vec4 (highp 4-component vector of float) +0:20 'foo' (highp float) +0:22 Function Definition: foo2(vf4; (highp 4-component vector of float) +0:22 Function Parameters: +0:22 'a' (in highp 4-component vector of float) +0:24 Sequence +0:24 Sequence +0:24 move second child to first child (highp 4-component vector of float) +0:24 'b' (highp 4-component vector of float) +0:24 'a' (in highp 4-component vector of float) +0:25 Branch: Return with expression +0:25 'b' (highp 4-component vector of float) +0:42 Sequence +0:42 move second child to first child (highp int) +0:42 'a1' (highp int) +0:42 Constant: +0:42 4 (const int) +0:43 Sequence +0:43 move second child to first child (highp int) +0:43 'a2' (highp int) +0:43 Constant: +0:43 3 (const int) +0:44 Sequence +0:44 move second child to first child (highp int) +0:44 'a3' (highp int) +0:44 Constant: +0:44 4 (const int) +0:45 Sequence +0:45 move second child to first child (highp int) +0:45 'a4' (highp int) +0:45 'a2' (highp int) +0:47 Sequence +0:47 move second child to first child (highp int) +0:47 'q1' (highp int) +0:47 Constant: +0:47 1 (const int) +0:48 Sequence +0:48 move second child to first child (highp int) +0:48 'q2' (highp int) +0:48 Constant: +0:48 1 (const int) +0:49 Sequence +0:49 move second child to first child (highp int) +0:49 'q3' (highp int) +0:49 Constant: +0:49 1 (const int) +0:50 Sequence +0:50 move second child to first child (highp int) +0:50 'q4' (highp int) +0:50 Constant: +0:50 1 (const int) +0:65 Sequence +0:65 move second child to first child (highp int) +0:65 'abdece' (highp int) +0:65 Constant: +0:65 10 (const int) +0:66 Sequence +0:66 move second child to first child (highp int) +0:66 'aoeuntaoehu' (highp int) +0:66 'abdece' (highp int) +0:74 Sequence +0:74 move second child to first child (highp float) +0:74 'funkyf' (highp float) +0:75 Constant: +0:75 12300000000000000.000000 +0:85 Sequence +0:84 move second child to first child (highp int) +0:84 'funkyh' (highp int) +0:86 Constant: +0:86 244 (const int) +0:91 Sequence +0:91 move second child to first child (highp int) +0:91 'funkyo' (highp int) +0:92 Constant: +0:92 34 (const int) +0:96 Sequence +0:96 move second child to first child (highp int) +0:96 'c' (highp int) +0:97 Constant: +0:97 11 (const int) +0:98 Sequence +0:98 move second child to first child (highp int) +0:98 'd' (highp int) +0:98 Constant: +0:98 12 (const int) +0:107 Sequence +0:107 move second child to first child (highp int) +0:107 'bar103' (highp int) +0:107 Constant: +0:107 17 (const int) +0:113 Sequence +0:113 move second child to first child (highp int) +0:113 'bar104' (highp int) +0:113 Constant: +0:113 19 (const int) +0:119 Sequence +0:119 move second child to first child (highp int) +0:119 'bar105' (highp int) +0:119 Constant: +0:119 19 (const int) +0:122 Sequence +0:122 move second child to first child (highp int) +0:122 'bar106' (highp int) +0:122 Constant: +0:122 12 (const int) +0:123 Sequence +0:123 move second child to first child (highp int) +0:123 'bar107' (highp int) +0:128 Constant: +0:128 5 (const int) +0:131 Function Definition: foo203209409( (void) +0:131 Function Parameters: +0:134 Sequence +0:134 add second child into first child (highp int) +0:133 'bar107' (highp int) +0:134 Constant: +0:134 37 (const int) +0:135 multiply second child into first child (highp int) +0:135 'bar107' (highp int) +0:136 Constant: +0:136 38 (const int) +0:137 divide second child into first child (highp int) +0:137 'bar107' (highp int) +0:138 Constant: +0:138 39 (const int) +0:139 add (highp int) +0:139 'bar107' (highp int) +0:140 Constant: +0:140 41 (const int) +0:? Linker Objects +0:? 'foo' (highp float) +0:? 'goodDecl' (highp int) +0:? 'a1' (highp int) +0:? 'a2' (highp int) +0:? 'a3' (highp int) +0:? 'a4' (highp int) +0:? 'q1' (highp int) +0:? 'q2' (highp int) +0:? 'q3' (highp int) +0:? 'q4' (highp int) +0:? 'abdece' (highp int) +0:? 'aoeuntaoehu' (highp int) +0:? 'funkyf' (highp float) +0:? 'funkyh' (highp int) +0:? 'funkyo' (highp int) +0:? 'c' (highp int) +0:? 'd' (highp int) +0:? 'bar103' (highp int) +0:? 'bar104' (highp int) +0:? 'bar105' (highp int) +0:? 'bar106' (highp int) +0:? 'bar107' (highp int) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/lineContinuation100.vert.out b/Test/baseResults/lineContinuation100.vert.out index 4313aae..6f1e0ec 100644 --- a/Test/baseResults/lineContinuation100.vert.out +++ b/Test/baseResults/lineContinuation100.vert.out @@ -97,4 +97,71 @@ Linked vertex stage: Shader version: 100 +ERROR: node is still EOpNull! +0:20 Function Definition: main( (void) +0:20 Function Parameters: +0:20 Sequence +0:20 move second child to first child (highp 4-component vector of float) +0:20 'gl_Position' (gl_Position highp 4-component vector of float) +0:20 Construct vec4 (highp 4-component vector of float) +0:20 'foo' (highp float) +0:22 Function Definition: foo2(vf4; (highp 4-component vector of float) +0:22 Function Parameters: +0:22 'a' (in highp 4-component vector of float) +0:24 Sequence +0:24 Sequence +0:24 move second child to first child (highp 4-component vector of float) +0:24 'b' (highp 4-component vector of float) +0:24 'a' (in highp 4-component vector of float) +0:25 Branch: Return with expression +0:25 'b' (highp 4-component vector of float) +0:40 Sequence +0:40 move second child to first child (highp int) +0:40 'a1' (highp int) +0:40 Constant: +0:40 4 (const int) +0:41 Sequence +0:41 move second child to first child (highp int) +0:41 'a2' (highp int) +0:41 Constant: +0:41 3 (const int) +0:42 Sequence +0:42 move second child to first child (highp int) +0:42 'a3' (highp int) +0:42 Constant: +0:42 4 (const int) +0:43 Sequence +0:43 move second child to first child (highp int) +0:43 'a4' (highp int) +0:43 'a2' (highp int) +0:45 Sequence +0:45 move second child to first child (highp int) +0:45 'q1' (highp int) +0:45 Constant: +0:45 1 (const int) +0:46 Sequence +0:46 move second child to first child (highp int) +0:46 'q2' (highp int) +0:46 Constant: +0:46 1 (const int) +0:47 Sequence +0:47 move second child to first child (highp int) +0:47 'q3' (highp int) +0:47 Constant: +0:47 1 (const int) +0:48 Sequence +0:48 move second child to first child (highp int) +0:48 'q4' (highp int) +0:48 Constant: +0:48 1 (const int) +0:? Linker Objects +0:? 'foo' (highp float) +0:? 'a1' (highp int) +0:? 'a2' (highp int) +0:? 'a3' (highp int) +0:? 'a4' (highp int) +0:? 'q1' (highp int) +0:? 'q2' (highp int) +0:? 'q3' (highp int) +0:? 'q4' (highp int) diff --git a/Test/baseResults/link1.frag.out b/Test/baseResults/link1.frag.out index 0bdcabb..e460461 100644 --- a/Test/baseResults/link1.frag.out +++ b/Test/baseResults/link1.frag.out @@ -1,5 +1,4 @@ link1.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. Shader version: 130 0:? Sequence @@ -81,7 +80,6 @@ Shader version: 130 0:? 3.900000 link2.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. Shader version: 130 Requested GL_OES_standard_derivatives diff --git a/Test/baseResults/localAggregates.frag.out b/Test/baseResults/localAggregates.frag.out index 9a3c6c8..f6db0b8 100644 --- a/Test/baseResults/localAggregates.frag.out +++ b/Test/baseResults/localAggregates.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/localAggregates.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:5: varying deprecated in version 130; may be removed in future release @@ -211,4 +210,205 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:34 Function Definition: main( (void) +0:34 Function Parameters: +0:? Sequence +0:41 move second child to first child (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:41 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:41 s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:41 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:41 Constant: +0:41 0 (const int) +0:43 Test condition and select (void) +0:43 Condition +0:43 Compare Greater Than (bool) +0:43 i: direct index for structure (int) +0:43 s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:43 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 0 (const int) +0:43 Constant: +0:43 0 (const int) +0:43 true case +0:44 Sequence +0:44 move second child to first child (float) +0:44 f: direct index for structure (float) +0:44 s1_1: direct index for structure (structure{int i, float f}) +0:44 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:44 Constant: +0:44 2 (const int) +0:44 Constant: +0:44 1 (const int) +0:44 Constant: +0:44 1.000000 +0:45 move second child to first child (float) +0:45 direct index (float) +0:45 'localFArray' (16-element array of float) +0:45 Constant: +0:45 4 (const int) +0:45 direct index (float) +0:45 'coord' (smooth in 2-component vector of float) +0:45 Constant: +0:45 0 (const int) +0:46 move second child to first child (int) +0:46 direct index (int) +0:46 'localIArray' (8-element array of int) +0:46 Constant: +0:46 2 (const int) +0:46 i: direct index for structure (int) +0:46 s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:46 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:46 Constant: +0:46 0 (const int) +0:46 Constant: +0:46 0 (const int) +0:43 false case +0:48 Sequence +0:48 move second child to first child (float) +0:48 f: direct index for structure (float) +0:48 s1_1: direct index for structure (structure{int i, float f}) +0:48 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:48 Constant: +0:48 2 (const int) +0:48 Constant: +0:48 1 (const int) +0:48 direct index (float) +0:48 'coord' (smooth in 2-component vector of float) +0:48 Constant: +0:48 0 (const int) +0:49 move second child to first child (float) +0:49 direct index (float) +0:49 'localFArray' (16-element array of float) +0:49 Constant: +0:49 4 (const int) +0:49 Constant: +0:49 1.000000 +0:50 move second child to first child (int) +0:50 direct index (int) +0:50 'localIArray' (8-element array of int) +0:50 Constant: +0:50 2 (const int) +0:50 Constant: +0:50 0 (const int) +0:53 Test condition and select (void) +0:53 Condition +0:53 Compare Equal (bool) +0:53 direct index (int) +0:53 'localIArray' (8-element array of int) +0:53 Constant: +0:53 2 (const int) +0:53 Constant: +0:53 0 (const int) +0:53 true case +0:54 Pre-Increment (float) +0:54 direct index (float) +0:54 'localFArray' (16-element array of float) +0:54 Constant: +0:54 4 (const int) +0:57 Sequence +0:57 move second child to first child (int) +0:57 'x' (int) +0:57 Constant: +0:57 5 (const int) +0:58 move second child to first child (float) +0:58 indirect index (float) +0:58 'localArray' (16-element array of float) +0:58 'x' (int) +0:58 direct index (float) +0:58 'coord' (smooth in 2-component vector of float) +0:58 Constant: +0:58 0 (const int) +0:62 Sequence +0:62 Sequence +0:62 move second child to first child (int) +0:62 'i' (int) +0:62 Constant: +0:62 0 (const int) +0:62 Loop with condition tested first +0:62 Loop Condition +0:62 Compare Less Than (bool) +0:62 'i' (int) +0:62 Constant: +0:62 16 (const int) +0:62 Loop Body +0:63 move second child to first child (float) +0:63 indirect index (float) +0:63 'a' (16-element array of float) +0:63 'i' (int) +0:63 Constant: +0:63 0.000000 +0:62 Loop Terminal Expression +0:62 Post-Increment (int) +0:62 'i' (int) +0:65 Test condition and select (void) +0:65 Condition +0:65 Compare Equal (bool) +0:65 'condition' (uniform int) +0:65 Constant: +0:65 1 (const int) +0:65 true case +0:66 move second child to first child (16-element array of float) +0:66 'a' (16-element array of float) +0:66 'localArray' (16-element array of float) +0:68 move second child to first child (4-component vector of float) +0:68 bleh: direct index for structure (4-component vector of float) +0:68 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:68 Constant: +0:68 3 (const int) +0:68 'color' (smooth in 4-component vector of float) +0:69 move second child to first child (float) +0:69 direct index (float) +0:69 bleh: direct index for structure (4-component vector of float) +0:69 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:69 Constant: +0:69 3 (const int) +0:69 Constant: +0:69 2 (const int) +0:69 direct index (float) +0:69 'coord' (smooth in 2-component vector of float) +0:69 Constant: +0:69 1 (const int) +0:71 move second child to first child (4-component vector of float) +0:71 'gl_FragColor' (fragColor 4-component vector of float) +0:71 component-wise multiply (4-component vector of float) +0:71 vector-scale (4-component vector of float) +0:71 bleh: direct index for structure (4-component vector of float) +0:71 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:71 Constant: +0:71 3 (const int) +0:71 add (float) +0:71 add (float) +0:71 add (float) +0:71 direct index (float) +0:71 'localFArray' (16-element array of float) +0:71 Constant: +0:71 4 (const int) +0:71 f: direct index for structure (float) +0:71 s1_1: direct index for structure (structure{int i, float f}) +0:71 'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:71 Constant: +0:71 2 (const int) +0:71 Constant: +0:71 1 (const int) +0:71 indirect index (float) +0:71 'localArray' (16-element array of float) +0:71 'x' (int) +0:71 indirect index (float) +0:71 'a' (16-element array of float) +0:71 'x' (int) +0:71 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:71 'sampler' (uniform sampler2D) +0:71 'coord' (smooth in 2-component vector of float) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) +0:? 'color' (smooth in 4-component vector of float) +0:? 'foo' (uniform structure{int i, float f}) +0:? 'foo2' (uniform structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh}) +0:? 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:? 'uFloatArray' (uniform 16-element array of float) +0:? 'condition' (uniform int) diff --git a/Test/baseResults/loops.frag.out b/Test/baseResults/loops.frag.out index 4ebdc5b..0ecaaf7 100644 --- a/Test/baseResults/loops.frag.out +++ b/Test/baseResults/loops.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/loops.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:14: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -971,4 +970,966 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:53 Function Definition: main( (void) +0:53 Function Parameters: +0:55 Sequence +0:55 Sequence +0:55 move second child to first child (4-component vector of float) +0:55 'color' (4-component vector of float) +0:55 'BaseColor' (smooth in 4-component vector of float) +0:58 Loop with condition tested first +0:58 Loop Condition +0:58 Constant: +0:58 true (const bool) +0:58 Loop Body +0:59 Sequence +0:59 Test condition and select (void) +0:59 Condition +0:59 Compare Less Than (bool) +0:59 direct index (float) +0:59 'color' (4-component vector of float) +0:59 Constant: +0:59 0 (const int) +0:59 Constant: +0:59 0.330000 +0:59 true case +0:60 Sequence +0:60 add second child into first child (4-component vector of float) +0:60 'color' (4-component vector of float) +0:60 Constant: +0:60 0.330000 +0:60 0.330000 +0:60 0.330000 +0:60 0.330000 +0:61 Branch: Break +0:63 Test condition and select (void) +0:63 Condition +0:63 Compare Less Than (bool) +0:63 direct index (float) +0:63 'color' (4-component vector of float) +0:63 Constant: +0:63 0 (const int) +0:63 Constant: +0:63 0.660000 +0:63 true case +0:64 Sequence +0:64 add second child into first child (4-component vector of float) +0:64 'color' (4-component vector of float) +0:64 Constant: +0:64 0.660000 +0:64 0.660000 +0:64 0.660000 +0:64 0.660000 +0:65 Branch: Break +0:68 add second child into first child (4-component vector of float) +0:68 'color' (4-component vector of float) +0:68 Constant: +0:68 0.330000 +0:68 0.330000 +0:68 0.330000 +0:68 0.330000 +0:69 Branch: Break +0:73 Loop with condition tested first +0:73 Loop Condition +0:73 Compare Less Than (bool) +0:73 direct index (float) +0:73 'color' (4-component vector of float) +0:73 Constant: +0:73 0 (const int) +0:73 'd' (uniform float) +0:73 Loop Body +0:74 Sequence +0:74 add second child into first child (4-component vector of float) +0:74 'color' (4-component vector of float) +0:74 'bigColor' (uniform 4-component vector of float) +0:78 Loop with condition tested first +0:78 Loop Condition +0:78 Compare Less Than (bool) +0:78 direct index (float) +0:78 'color' (4-component vector of float) +0:78 Constant: +0:78 2 (const int) +0:78 'd' (uniform float) +0:78 Loop Body +0:79 Sequence +0:79 add second child into first child (4-component vector of float) +0:79 'color' (4-component vector of float) +0:79 'bigColor1_1' (uniform 4-component vector of float) +0:80 Test condition and select (void) +0:80 Condition +0:80 Compare Less Than (bool) +0:80 direct index (float) +0:80 'color' (4-component vector of float) +0:80 Constant: +0:80 3 (const int) +0:80 'd' (uniform float) +0:80 true case +0:81 Branch: Continue +0:83 add second child into first child (4-component vector of float) +0:83 'color' (4-component vector of float) +0:83 'bigColor1_1' (uniform 4-component vector of float) +0:87 Loop with condition tested first +0:87 Loop Condition +0:87 Compare Less Than (bool) +0:87 direct index (float) +0:87 'color' (4-component vector of float) +0:87 Constant: +0:87 0 (const int) +0:87 Constant: +0:87 42.000000 +0:87 Loop Body +0:88 Sequence +0:88 Pre-Increment (4-component vector of float) +0:88 'color' (4-component vector of float) +0:92 Loop with condition tested first +0:92 Loop Condition +0:92 logical-and (bool) +0:92 Compare Less Than (bool) +0:92 direct index (float) +0:92 'color' (4-component vector of float) +0:92 Constant: +0:92 3 (const int) +0:92 'd2' (uniform float) +0:92 Compare Less Than (bool) +0:92 direct index (float) +0:92 'color' (4-component vector of float) +0:92 Constant: +0:92 1 (const int) +0:92 'd3' (uniform float) +0:92 Loop Body +0:93 Sequence +0:93 add second child into first child (4-component vector of float) +0:93 'color' (4-component vector of float) +0:93 'bigColor1_2' (uniform 4-component vector of float) +0:97 Loop with condition tested first +0:97 Loop Condition +0:97 Compare Less Than (bool) +0:97 direct index (float) +0:97 'color' (4-component vector of float) +0:97 Constant: +0:97 2 (const int) +0:97 'd3' (uniform float) +0:97 Loop Body +0:98 Sequence +0:98 add second child into first child (4-component vector of float) +0:98 'color' (4-component vector of float) +0:98 'bigColor1_3' (uniform 4-component vector of float) +0:99 Test condition and select (void) +0:99 Condition +0:99 Compare Less Than (bool) +0:99 direct index (float) +0:99 'color' (4-component vector of float) +0:99 Constant: +0:99 1 (const int) +0:99 'd4' (uniform float) +0:99 true case +0:100 Branch: Break +0:101 add second child into first child (4-component vector of float) +0:101 'color' (4-component vector of float) +0:101 'bigColor1_3' (uniform 4-component vector of float) +0:105 Sequence +0:105 Sequence +0:105 move second child to first child (int) +0:105 'i' (int) +0:105 Constant: +0:105 0 (const int) +0:105 Loop with condition tested first +0:105 Loop Condition +0:105 Compare Less Than (bool) +0:105 'i' (int) +0:105 'Count' (uniform int) +0:105 Loop Body +0:106 Sequence +0:106 add second child into first child (4-component vector of float) +0:106 'color' (4-component vector of float) +0:106 'bigColor2' (uniform 4-component vector of float) +0:105 Loop Terminal Expression +0:105 Pre-Increment (int) +0:105 'i' (int) +0:112 Loop with condition not tested first +0:112 Loop Condition +0:112 Compare Less Than (bool) +0:112 direct index (float) +0:112 'color' (4-component vector of float) +0:112 Constant: +0:112 0 (const int) +0:112 'd2' (uniform float) +0:112 Loop Body +0:111 Sequence +0:111 add second child into first child (4-component vector of float) +0:111 'color' (4-component vector of float) +0:111 'bigColor3' (uniform 4-component vector of float) +0:115 Sequence +0:115 Sequence +0:115 move second child to first child (int) +0:115 'i' (int) +0:115 Constant: +0:115 0 (const int) +0:115 Loop with condition tested first +0:115 Loop Condition +0:115 Compare Less Than (bool) +0:115 'i' (int) +0:115 Constant: +0:115 42 (const int) +0:115 Loop Body +0:116 Sequence +0:116 add second child into first child (float) +0:116 direct index (float) +0:116 'color' (4-component vector of float) +0:116 Constant: +0:116 2 (const int) +0:116 'd3' (uniform float) +0:115 Loop Terminal Expression +0:115 Pre-Increment (int) +0:115 'i' (int) +0:120 Sequence +0:120 Sequence +0:120 move second child to first child (int) +0:120 'i' (int) +0:120 Constant: +0:120 0 (const int) +0:120 Loop with condition tested first +0:120 Loop Condition +0:120 Compare Less Than (bool) +0:120 'i' (int) +0:120 Constant: +0:120 100 (const int) +0:120 Loop Body +0:121 Sequence +0:121 Test condition and select (void) +0:121 Condition +0:121 Compare Less Than (bool) +0:121 direct index (float) +0:121 'color' (4-component vector of float) +0:121 Constant: +0:121 2 (const int) +0:121 Constant: +0:121 20.000000 +0:121 true case +0:122 Post-Increment (float) +0:122 direct index (float) +0:122 'color' (4-component vector of float) +0:122 Constant: +0:122 0 (const int) +0:121 false case +0:124 Post-Increment (float) +0:124 direct index (float) +0:124 'color' (4-component vector of float) +0:124 Constant: +0:124 1 (const int) +0:125 Test condition and select (void) +0:125 Condition +0:125 Compare Less Than (bool) +0:125 direct index (float) +0:125 'color' (4-component vector of float) +0:125 Constant: +0:125 3 (const int) +0:125 Constant: +0:125 20.000000 +0:125 true case +0:126 Test condition and select (void) +0:126 Condition +0:126 Compare Greater Than (bool) +0:126 direct index (float) +0:126 'color' (4-component vector of float) +0:126 Constant: +0:126 2 (const int) +0:126 direct index (float) +0:126 'color' (4-component vector of float) +0:126 Constant: +0:126 1 (const int) +0:126 true case +0:127 Constant: +0:127 0 (const int) +0:120 Loop Terminal Expression +0:120 Pre-Increment (int) +0:120 'i' (int) +0:131 Sequence +0:131 Sequence +0:131 move second child to first child (int) +0:131 'i' (int) +0:131 Constant: +0:131 0 (const int) +0:131 Loop with condition tested first +0:131 Loop Condition +0:131 Compare Less Than (bool) +0:131 'i' (int) +0:131 Constant: +0:131 120 (const int) +0:131 Loop Body +0:132 Sequence +0:132 Test condition and select (void) +0:132 Condition +0:132 Compare Less Than (bool) +0:132 direct index (float) +0:132 'color' (4-component vector of float) +0:132 Constant: +0:132 2 (const int) +0:132 Constant: +0:132 20.000000 +0:132 true case +0:133 Post-Increment (float) +0:133 direct index (float) +0:133 'color' (4-component vector of float) +0:133 Constant: +0:133 0 (const int) +0:132 false case +0:135 Post-Increment (float) +0:135 direct index (float) +0:135 'color' (4-component vector of float) +0:135 Constant: +0:135 1 (const int) +0:131 Loop Terminal Expression +0:131 Pre-Increment (int) +0:131 'i' (int) +0:139 Sequence +0:139 Sequence +0:139 move second child to first child (int) +0:139 'i' (int) +0:139 Constant: +0:139 0 (const int) +0:139 Loop with condition tested first +0:139 Loop Condition +0:139 Compare Less Than (bool) +0:139 'i' (int) +0:139 Constant: +0:139 42 (const int) +0:139 Loop Body +0:140 Sequence +0:140 add second child into first child (float) +0:140 direct index (float) +0:140 'color' (4-component vector of float) +0:140 Constant: +0:140 2 (const int) +0:140 'd3' (uniform float) +0:141 Test condition and select (void) +0:141 Condition +0:141 Compare Less Than (bool) +0:141 direct index (float) +0:141 'color' (4-component vector of float) +0:141 Constant: +0:141 0 (const int) +0:141 'd4' (uniform float) +0:141 true case +0:142 Branch: Continue +0:143 Pre-Increment (float) +0:143 direct index (float) +0:143 'color' (4-component vector of float) +0:143 Constant: +0:143 3 (const int) +0:139 Loop Terminal Expression +0:139 Pre-Increment (int) +0:139 'i' (int) +0:147 Sequence +0:147 Sequence +0:147 move second child to first child (int) +0:147 'i' (int) +0:147 Constant: +0:147 0 (const int) +0:147 Loop with condition tested first +0:147 Loop Condition +0:147 Compare Less Than (bool) +0:147 'i' (int) +0:147 Constant: +0:147 42 (const int) +0:147 Loop Body +0:148 Sequence +0:148 add second child into first child (float) +0:148 direct index (float) +0:148 'color' (4-component vector of float) +0:148 Constant: +0:148 2 (const int) +0:148 'd3' (uniform float) +0:149 Test condition and select (void) +0:149 Condition +0:149 Compare Less Than (bool) +0:149 direct index (float) +0:149 'color' (4-component vector of float) +0:149 Constant: +0:149 0 (const int) +0:149 'd4' (uniform float) +0:149 true case +0:150 Branch: Break +0:151 Pre-Increment (float) +0:151 direct index (float) +0:151 'color' (4-component vector of float) +0:151 Constant: +0:151 3 (const int) +0:147 Loop Terminal Expression +0:147 Pre-Increment (int) +0:147 'i' (int) +0:163 Loop with condition not tested first +0:163 Loop Condition +0:163 Compare Less Than (bool) +0:163 direct index (float) +0:163 'color' (4-component vector of float) +0:163 Constant: +0:163 2 (const int) +0:163 'd4' (uniform float) +0:163 Loop Body +0:156 Sequence +0:156 add second child into first child (4-component vector of float) +0:156 'color' (4-component vector of float) +0:156 'bigColor4' (uniform 4-component vector of float) +0:157 Test condition and select (void) +0:157 Condition +0:157 Compare Less Than (bool) +0:157 direct index (float) +0:157 'color' (4-component vector of float) +0:157 Constant: +0:157 0 (const int) +0:157 'd4' (uniform float) +0:157 true case +0:158 Branch: Continue +0:159 Test condition and select (void) +0:159 Condition +0:159 Compare Less Than (bool) +0:159 direct index (float) +0:159 'color' (4-component vector of float) +0:159 Constant: +0:159 1 (const int) +0:159 'd4' (uniform float) +0:159 true case +0:160 add second child into first child (float) +0:160 direct index (float) +0:160 'color' (4-component vector of float) +0:160 Constant: +0:160 1 (const int) +0:160 'd4' (uniform float) +0:159 false case +0:162 add second child into first child (float) +0:162 direct index (float) +0:162 'color' (4-component vector of float) +0:162 Constant: +0:162 0 (const int) +0:162 'd4' (uniform float) +0:170 Loop with condition not tested first +0:170 Loop Condition +0:170 Compare Less Than (bool) +0:170 direct index (float) +0:170 'color' (4-component vector of float) +0:170 Constant: +0:170 0 (const int) +0:170 'd5' (uniform float) +0:170 Loop Body +0:167 Sequence +0:167 add second child into first child (4-component vector of float) +0:167 'color' (4-component vector of float) +0:167 'bigColor5' (uniform 4-component vector of float) +0:168 Test condition and select (void) +0:168 Condition +0:168 Compare Less Than (bool) +0:168 direct index (float) +0:168 'color' (4-component vector of float) +0:168 Constant: +0:168 1 (const int) +0:168 'd5' (uniform float) +0:168 true case +0:169 add second child into first child (float) +0:169 direct index (float) +0:169 'color' (4-component vector of float) +0:169 Constant: +0:169 1 (const int) +0:169 'd5' (uniform float) +0:173 Test condition and select (void) +0:173 Condition +0:173 Compare Less Than (bool) +0:173 direct index (float) +0:173 'color' (4-component vector of float) +0:173 Constant: +0:173 0 (const int) +0:173 'd6' (uniform float) +0:173 true case +0:174 Sequence +0:174 Loop with condition tested first +0:174 Loop Condition +0:174 Compare Less Than (bool) +0:174 direct index (float) +0:174 'color' (4-component vector of float) +0:174 Constant: +0:174 1 (const int) +0:174 'd6' (uniform float) +0:174 Loop Body +0:175 add second child into first child (4-component vector of float) +0:175 'color' (4-component vector of float) +0:175 'bigColor6' (uniform 4-component vector of float) +0:173 false case +0:177 Sequence +0:177 Loop with condition tested first +0:177 Loop Condition +0:177 Compare Less Than (bool) +0:177 direct index (float) +0:177 'color' (4-component vector of float) +0:177 Constant: +0:177 2 (const int) +0:177 'd6' (uniform float) +0:177 Loop Body +0:178 add second child into first child (float) +0:178 direct index (float) +0:178 'color' (4-component vector of float) +0:178 Constant: +0:178 2 (const int) +0:178 direct index (float) +0:178 'bigColor6' (uniform 4-component vector of float) +0:178 Constant: +0:178 2 (const int) +0:182 Test condition and select (void) +0:182 Condition +0:182 Compare Less Than (bool) +0:182 direct index (float) +0:182 'color' (4-component vector of float) +0:182 Constant: +0:182 0 (const int) +0:182 'd6' (uniform float) +0:182 true case +0:183 Sequence +0:183 Loop with condition tested first +0:183 Loop Condition +0:183 Compare Less Than (bool) +0:183 direct index (float) +0:183 'color' (4-component vector of float) +0:183 Constant: +0:183 1 (const int) +0:183 'd6' (uniform float) +0:183 Loop Body +0:184 Sequence +0:184 add second child into first child (4-component vector of float) +0:184 'color' (4-component vector of float) +0:184 'bigColor6' (uniform 4-component vector of float) +0:185 Test condition and select (void) +0:185 Condition +0:185 Compare Less Than (bool) +0:185 'd7' (uniform float) +0:185 Constant: +0:185 1.000000 +0:185 true case +0:186 Branch: Break +0:182 false case +0:190 Sequence +0:190 Loop with condition tested first +0:190 Loop Condition +0:190 Compare Less Than (bool) +0:190 direct index (float) +0:190 'color' (4-component vector of float) +0:190 Constant: +0:190 2 (const int) +0:190 'd6' (uniform float) +0:190 Loop Body +0:191 add second child into first child (float) +0:191 direct index (float) +0:191 'color' (4-component vector of float) +0:191 Constant: +0:191 2 (const int) +0:191 direct index (float) +0:191 'bigColor6' (uniform 4-component vector of float) +0:191 Constant: +0:191 2 (const int) +0:209 Loop with condition not tested first +0:209 Loop Condition +0:209 Constant: +0:209 true (const bool) +0:209 Loop Body +0:197 Sequence +0:197 Test condition and select (void) +0:197 Condition +0:197 Compare Less Than (bool) +0:197 'd7' (uniform float) +0:197 Constant: +0:197 0.000000 +0:197 true case +0:198 Branch: Break +0:200 add second child into first child (4-component vector of float) +0:200 'color' (4-component vector of float) +0:200 'bigColor7' (uniform 4-component vector of float) +0:202 Test condition and select (void) +0:202 Condition +0:202 Compare Less Than (bool) +0:202 'd7' (uniform float) +0:202 Constant: +0:202 1.000000 +0:202 true case +0:203 Sequence +0:203 Post-Increment (float) +0:203 direct index (float) +0:203 'color' (4-component vector of float) +0:203 Constant: +0:203 2 (const int) +0:204 Branch: Break +0:207 add second child into first child (4-component vector of float) +0:207 'color' (4-component vector of float) +0:207 'BaseColor' (smooth in 4-component vector of float) +0:234 Loop with condition not tested first +0:234 Loop Condition +0:234 Compare Less Than (bool) +0:234 direct index (float) +0:234 'color' (4-component vector of float) +0:234 Constant: +0:234 2 (const int) +0:234 'd8' (uniform float) +0:234 Loop Body +0:217 Sequence +0:217 Test condition and select (void) +0:217 Condition +0:217 Compare Less Than (bool) +0:217 'd8' (uniform float) +0:217 Constant: +0:217 0.000000 +0:217 true case +0:218 Branch: Break +0:220 add second child into first child (4-component vector of float) +0:220 'color' (4-component vector of float) +0:220 'bigColor7' (uniform 4-component vector of float) +0:222 Test condition and select (void) +0:222 Condition +0:222 Compare Less Than (bool) +0:222 'd8' (uniform float) +0:222 Constant: +0:222 1.000000 +0:222 true case +0:223 Sequence +0:223 Post-Increment (float) +0:223 direct index (float) +0:223 'color' (4-component vector of float) +0:223 Constant: +0:223 2 (const int) +0:224 Test condition and select (void) +0:224 Condition +0:224 Compare Less Than (bool) +0:224 'd8' (uniform float) +0:224 Constant: +0:224 2.000000 +0:224 true case +0:225 Sequence +0:225 Post-Increment (float) +0:225 direct index (float) +0:225 'color' (4-component vector of float) +0:225 Constant: +0:225 1 (const int) +0:224 false case +0:227 Sequence +0:227 Post-Increment (float) +0:227 direct index (float) +0:227 'color' (4-component vector of float) +0:227 Constant: +0:227 0 (const int) +0:229 Branch: Break +0:232 add second child into first child (4-component vector of float) +0:232 'color' (4-component vector of float) +0:232 'BaseColor' (smooth in 4-component vector of float) +0:237 Loop with condition tested first +0:237 Loop Condition +0:237 Compare Less Than (bool) +0:237 direct index (float) +0:237 'color' (4-component vector of float) +0:237 Constant: +0:237 3 (const int) +0:237 'd9' (uniform float) +0:237 Loop Body +0:238 Sequence +0:238 Test condition and select (void) +0:238 Condition +0:238 Compare Greater Than (bool) +0:238 'd9' (uniform float) +0:238 'd8' (uniform float) +0:238 true case +0:239 Sequence +0:239 Test condition and select (void) +0:239 Condition +0:239 Compare Less Than or Equal (bool) +0:239 direct index (float) +0:239 'color' (4-component vector of float) +0:239 Constant: +0:239 0 (const int) +0:239 'd7' (uniform float) +0:239 true case +0:240 Sequence +0:240 Test condition and select (void) +0:240 Condition +0:240 Compare Equal (bool) +0:240 direct index (float) +0:240 'color' (4-component vector of float) +0:240 Constant: +0:240 2 (const int) +0:240 Constant: +0:240 5.000000 +0:240 true case +0:241 Post-Increment (float) +0:241 direct index (float) +0:241 'color' (4-component vector of float) +0:241 Constant: +0:241 3 (const int) +0:240 false case +0:243 Branch: Break +0:250 Loop with condition tested first +0:250 Loop Condition +0:250 Compare Less Than (bool) +0:250 direct index (float) +0:250 'color' (4-component vector of float) +0:250 Constant: +0:250 2 (const int) +0:250 'd10' (uniform float) +0:250 Loop Body +0:251 Sequence +0:251 Post-Increment (float) +0:251 direct index (float) +0:251 'color' (4-component vector of float) +0:251 Constant: +0:251 1 (const int) +0:252 Test condition and select (void) +0:252 Condition +0:252 Compare Less Than (bool) +0:252 direct index (float) +0:252 'color' (4-component vector of float) +0:252 Constant: +0:252 1 (const int) +0:252 'd11' (uniform float) +0:252 true case +0:253 Sequence +0:253 Post-Increment (float) +0:253 direct index (float) +0:253 'color' (4-component vector of float) +0:253 Constant: +0:253 2 (const int) +0:254 Test condition and select (void) +0:254 Condition +0:254 Compare Less Than (bool) +0:254 direct index (float) +0:254 'color' (4-component vector of float) +0:254 Constant: +0:254 3 (const int) +0:254 'd12' (uniform float) +0:254 true case +0:255 Post-Increment (float) +0:255 direct index (float) +0:255 'color' (4-component vector of float) +0:255 Constant: +0:255 3 (const int) +0:254 false case +0:257 Post-Increment (float) +0:257 direct index (float) +0:257 'color' (4-component vector of float) +0:257 Constant: +0:257 0 (const int) +0:258 Branch: Continue +0:261 Post-Increment (4-component vector of float) +0:261 'color' (4-component vector of float) +0:262 Branch: Break +0:266 Loop with condition tested first +0:266 Loop Condition +0:266 Compare Less Than (bool) +0:266 direct index (float) +0:266 'color' (4-component vector of float) +0:266 Constant: +0:266 0 (const int) +0:266 Constant: +0:266 10.000000 +0:266 Loop Body +0:267 Sequence +0:267 add second child into first child (4-component vector of float) +0:267 'color' (4-component vector of float) +0:267 'bigColor8' (uniform 4-component vector of float) +0:269 Test condition and select (void) +0:269 Condition +0:269 Compare Less Than (bool) +0:269 direct index (float) +0:269 'color' (4-component vector of float) +0:269 Constant: +0:269 2 (const int) +0:269 'd8' (uniform float) +0:269 true case +0:270 Test condition and select (void) +0:270 Condition +0:270 Compare Less Than (bool) +0:270 direct index (float) +0:270 'color' (4-component vector of float) +0:270 Constant: +0:270 3 (const int) +0:270 'd6' (uniform float) +0:270 true case +0:271 Branch: Continue +0:273 add second child into first child (float) +0:273 direct index (float) +0:273 'color' (4-component vector of float) +0:273 Constant: +0:273 1 (const int) +0:273 direct index (float) +0:273 'bigColor8' (uniform 4-component vector of float) +0:273 Constant: +0:273 0 (const int) +0:276 Post-Increment (4-component vector of float) +0:276 'color' (4-component vector of float) +0:277 move second child to first child (4-component vector of float) +0:277 'gl_FragColor' (fragColor 4-component vector of float) +0:277 'color' (4-component vector of float) +0:280 Loop with condition tested first +0:280 Loop Condition +0:280 Compare Less Than (bool) +0:280 direct index (float) +0:280 'color' (4-component vector of float) +0:280 Constant: +0:280 0 (const int) +0:280 'd14' (uniform float) +0:280 Loop Body +0:281 Sequence +0:281 Test condition and select (void) +0:281 Condition +0:281 Compare Less Than (bool) +0:281 direct index (float) +0:281 'color' (4-component vector of float) +0:281 Constant: +0:281 1 (const int) +0:281 'd15' (uniform float) +0:281 true case +0:282 Sequence +0:282 Branch: Return +0:281 false case +0:285 Post-Increment (4-component vector of float) +0:285 'color' (4-component vector of float) +0:288 Post-Increment (4-component vector of float) +0:288 'color' (4-component vector of float) +0:290 Loop with condition tested first +0:290 Loop Condition +0:290 Compare Less Than (bool) +0:290 direct index (float) +0:290 'color' (4-component vector of float) +0:290 Constant: +0:290 3 (const int) +0:290 'd16' (uniform float) +0:290 Loop Body +0:291 Sequence +0:291 Post-Increment (float) +0:291 direct index (float) +0:291 'color' (4-component vector of float) +0:291 Constant: +0:291 3 (const int) +0:296 Loop with condition tested first +0:296 Loop Condition +0:296 logical-and (bool) +0:296 Compare Less Than (bool) +0:296 direct index (float) +0:296 'color' (4-component vector of float) +0:296 Constant: +0:296 3 (const int) +0:296 'd2' (uniform float) +0:296 Compare Less Than (bool) +0:296 direct index (float) +0:296 'color' (4-component vector of float) +0:296 Constant: +0:296 1 (const int) +0:296 'd3' (uniform float) +0:296 Loop Body +0:297 Sequence +0:297 add second child into first child (4-component vector of float) +0:297 'color' (4-component vector of float) +0:297 'bigColor1_2' (uniform 4-component vector of float) +0:298 Test condition and select (void) +0:298 Condition +0:298 Compare Less Than (bool) +0:298 direct index (float) +0:298 'color' (4-component vector of float) +0:298 Constant: +0:298 2 (const int) +0:298 'd3' (uniform float) +0:298 true case +0:299 Branch: Return +0:307 Loop with condition not tested first +0:307 Loop Condition +0:307 Compare Less Than (bool) +0:307 direct index (float) +0:307 'color' (4-component vector of float) +0:307 Constant: +0:307 0 (const int) +0:307 'd17' (uniform float) +0:307 Loop Body +0:304 Sequence +0:304 Test condition and select (void) +0:304 Condition +0:304 Compare Less Than (bool) +0:304 direct index (float) +0:304 'color' (4-component vector of float) +0:304 Constant: +0:304 1 (const int) +0:304 'd18' (uniform float) +0:304 true case +0:305 Branch: Return +0:306 Post-Increment (4-component vector of float) +0:306 'color' (4-component vector of float) +0:310 Loop with condition tested first +0:310 Loop Condition +0:310 Compare Less Than (bool) +0:310 direct index (float) +0:310 'color' (4-component vector of float) +0:310 Constant: +0:310 1 (const int) +0:310 'd16' (uniform float) +0:310 Loop Body +0:311 Sequence +0:311 Test condition and select (void) +0:311 Condition +0:311 Compare Less Than (bool) +0:311 direct index (float) +0:311 'color' (4-component vector of float) +0:311 Constant: +0:311 3 (const int) +0:311 'd16' (uniform float) +0:311 true case +0:312 Sequence +0:312 Branch: Kill +0:311 false case +0:314 Post-Increment (4-component vector of float) +0:314 'color' (4-component vector of float) +0:317 Post-Increment (4-component vector of float) +0:317 'color' (4-component vector of float) +0:319 move second child to first child (4-component vector of float) +0:319 'gl_FragColor' (fragColor 4-component vector of float) +0:319 'color' (4-component vector of float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'bigColor1_1' (uniform 4-component vector of float) +0:? 'bigColor1_2' (uniform 4-component vector of float) +0:? 'bigColor1_3' (uniform 4-component vector of float) +0:? 'bigColor2' (uniform 4-component vector of float) +0:? 'bigColor3' (uniform 4-component vector of float) +0:? 'bigColor4' (uniform 4-component vector of float) +0:? 'bigColor5' (uniform 4-component vector of float) +0:? 'bigColor6' (uniform 4-component vector of float) +0:? 'bigColor7' (uniform 4-component vector of float) +0:? 'bigColor8' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) +0:? 'd2' (uniform float) +0:? 'd3' (uniform float) +0:? 'd4' (uniform float) +0:? 'd5' (uniform float) +0:? 'd6' (uniform float) +0:? 'd7' (uniform float) +0:? 'd8' (uniform float) +0:? 'd9' (uniform float) +0:? 'd10' (uniform float) +0:? 'd11' (uniform float) +0:? 'd12' (uniform float) +0:? 'd13' (uniform float) +0:? 'd14' (uniform float) +0:? 'd15' (uniform float) +0:? 'd16' (uniform float) +0:? 'd17' (uniform float) +0:? 'd18' (uniform float) +0:? 'd19' (uniform float) +0:? 'd20' (uniform float) +0:? 'd21' (uniform float) +0:? 'd22' (uniform float) +0:? 'd23' (uniform float) +0:? 'd24' (uniform float) +0:? 'd25' (uniform float) +0:? 'd26' (uniform float) +0:? 'd27' (uniform float) +0:? 'd28' (uniform float) +0:? 'd29' (uniform float) +0:? 'd30' (uniform float) +0:? 'd31' (uniform float) +0:? 'd32' (uniform float) +0:? 'd33' (uniform float) +0:? 'd34' (uniform float) +0:? 'Count' (uniform int) diff --git a/Test/baseResults/loopsArtificial.frag.out b/Test/baseResults/loopsArtificial.frag.out index b4ae4be..5a53b0b 100644 --- a/Test/baseResults/loopsArtificial.frag.out +++ b/Test/baseResults/loopsArtificial.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/loopsArtificial.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:14: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -220,4 +219,215 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:53 Function Definition: main( (void) +0:53 Function Parameters: +0:55 Sequence +0:55 Sequence +0:55 move second child to first child (4-component vector of float) +0:55 'color' (4-component vector of float) +0:55 'BaseColor' (smooth in 4-component vector of float) +0:71 Loop with condition not tested first +0:71 Loop Condition +0:71 Compare Less Than (bool) +0:71 direct index (float) +0:71 'color' (4-component vector of float) +0:71 Constant: +0:71 2 (const int) +0:71 'd4' (uniform float) +0:71 Loop Body +0:59 Sequence +0:59 add second child into first child (4-component vector of float) +0:59 'color' (4-component vector of float) +0:59 'bigColor4' (uniform 4-component vector of float) +0:60 Test condition and select (void) +0:60 Condition +0:60 Compare Less Than (bool) +0:60 direct index (float) +0:60 'color' (4-component vector of float) +0:60 Constant: +0:60 0 (const int) +0:60 'd4' (uniform float) +0:60 true case +0:61 Sequence +0:61 add second child into first child (float) +0:61 direct index (float) +0:61 'color' (4-component vector of float) +0:61 Constant: +0:61 2 (const int) +0:61 Constant: +0:61 2.000000 +0:62 Test condition and select (void) +0:62 Condition +0:62 Compare Less Than (bool) +0:62 direct index (float) +0:62 'color' (4-component vector of float) +0:62 Constant: +0:62 2 (const int) +0:62 'd4' (uniform float) +0:62 true case +0:63 Sequence +0:63 Post-Increment (float) +0:63 direct index (float) +0:63 'color' (4-component vector of float) +0:63 Constant: +0:63 0 (const int) +0:64 Branch: Continue +0:67 Test condition and select (void) +0:67 Condition +0:67 Compare Less Than (bool) +0:67 direct index (float) +0:67 'color' (4-component vector of float) +0:67 Constant: +0:67 1 (const int) +0:67 'd4' (uniform float) +0:67 true case +0:68 add second child into first child (float) +0:68 direct index (float) +0:68 'color' (4-component vector of float) +0:68 Constant: +0:68 1 (const int) +0:68 'd4' (uniform float) +0:67 false case +0:70 add second child into first child (float) +0:70 direct index (float) +0:70 'color' (4-component vector of float) +0:70 Constant: +0:70 0 (const int) +0:70 'd4' (uniform float) +0:74 Loop with condition tested first +0:74 Loop Condition +0:74 Compare Less Than (bool) +0:74 direct index (float) +0:74 'color' (4-component vector of float) +0:74 Constant: +0:74 3 (const int) +0:74 'd13' (uniform float) +0:74 Loop Body +0:75 Sequence +0:75 Test condition and select (void) +0:75 Condition +0:75 Compare Less Than (bool) +0:75 direct index (float) +0:75 'color' (4-component vector of float) +0:75 Constant: +0:75 2 (const int) +0:75 'd13' (uniform float) +0:75 true case +0:76 Post-Increment (4-component vector of float) +0:76 'color' (4-component vector of float) +0:75 false case +0:78 Post-Decrement (4-component vector of float) +0:78 'color' (4-component vector of float) +0:80 add second child into first child (4-component vector of float) +0:80 'color' (4-component vector of float) +0:80 'bigColor4' (uniform 4-component vector of float) +0:81 Test condition and select (void) +0:81 Condition +0:81 Compare Less Than (bool) +0:81 direct index (float) +0:81 'color' (4-component vector of float) +0:81 Constant: +0:81 0 (const int) +0:81 'd4' (uniform float) +0:81 true case +0:82 Sequence +0:82 add second child into first child (float) +0:82 direct index (float) +0:82 'color' (4-component vector of float) +0:82 Constant: +0:82 2 (const int) +0:82 Constant: +0:82 2.000000 +0:83 Test condition and select (void) +0:83 Condition +0:83 Compare Less Than (bool) +0:83 direct index (float) +0:83 'color' (4-component vector of float) +0:83 Constant: +0:83 2 (const int) +0:83 'd4' (uniform float) +0:83 true case +0:84 Sequence +0:84 Post-Increment (float) +0:84 direct index (float) +0:84 'color' (4-component vector of float) +0:84 Constant: +0:84 0 (const int) +0:85 Branch: Continue +0:88 Test condition and select (void) +0:88 Condition +0:88 Compare Less Than (bool) +0:88 direct index (float) +0:88 'color' (4-component vector of float) +0:88 Constant: +0:88 1 (const int) +0:88 'd4' (uniform float) +0:88 true case +0:89 add second child into first child (float) +0:89 direct index (float) +0:89 'color' (4-component vector of float) +0:89 Constant: +0:89 1 (const int) +0:89 'd4' (uniform float) +0:88 false case +0:91 add second child into first child (float) +0:91 direct index (float) +0:91 'color' (4-component vector of float) +0:91 Constant: +0:91 0 (const int) +0:91 'd4' (uniform float) +0:94 Post-Increment (4-component vector of float) +0:94 'color' (4-component vector of float) +0:95 move second child to first child (4-component vector of float) +0:95 'gl_FragColor' (fragColor 4-component vector of float) +0:95 'color' (4-component vector of float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'bigColor1_1' (uniform 4-component vector of float) +0:? 'bigColor1_2' (uniform 4-component vector of float) +0:? 'bigColor1_3' (uniform 4-component vector of float) +0:? 'bigColor2' (uniform 4-component vector of float) +0:? 'bigColor3' (uniform 4-component vector of float) +0:? 'bigColor4' (uniform 4-component vector of float) +0:? 'bigColor5' (uniform 4-component vector of float) +0:? 'bigColor6' (uniform 4-component vector of float) +0:? 'bigColor7' (uniform 4-component vector of float) +0:? 'bigColor8' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) +0:? 'd2' (uniform float) +0:? 'd3' (uniform float) +0:? 'd4' (uniform float) +0:? 'd5' (uniform float) +0:? 'd6' (uniform float) +0:? 'd7' (uniform float) +0:? 'd8' (uniform float) +0:? 'd9' (uniform float) +0:? 'd10' (uniform float) +0:? 'd11' (uniform float) +0:? 'd12' (uniform float) +0:? 'd13' (uniform float) +0:? 'd14' (uniform float) +0:? 'd15' (uniform float) +0:? 'd16' (uniform float) +0:? 'd17' (uniform float) +0:? 'd18' (uniform float) +0:? 'd19' (uniform float) +0:? 'd20' (uniform float) +0:? 'd21' (uniform float) +0:? 'd22' (uniform float) +0:? 'd23' (uniform float) +0:? 'd24' (uniform float) +0:? 'd25' (uniform float) +0:? 'd26' (uniform float) +0:? 'd27' (uniform float) +0:? 'd28' (uniform float) +0:? 'd29' (uniform float) +0:? 'd30' (uniform float) +0:? 'd31' (uniform float) +0:? 'd32' (uniform float) +0:? 'd33' (uniform float) +0:? 'd34' (uniform float) +0:? 'Count' (uniform int) diff --git a/Test/baseResults/mains1.frag.out b/Test/baseResults/mains1.frag.out index 7dbcb35..caac12a 100644 --- a/Test/baseResults/mains1.frag.out +++ b/Test/baseResults/mains1.frag.out @@ -16,7 +16,7 @@ Shader version: 110 noMain1.geom ERROR: #version: geometry shaders require non-es profile and version 150 or above -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. ERROR: 1 compilation errors. No code generated. @@ -31,7 +31,7 @@ ERROR: node is still EOpNull! 0:? Linker Objects noMain2.geom -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. Shader version: 150 invocations = 0 diff --git a/Test/baseResults/matrix.frag.out b/Test/baseResults/matrix.frag.out index 640d483..c3fd5b8 100644 --- a/Test/baseResults/matrix.frag.out +++ b/Test/baseResults/matrix.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/matrix.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:6: varying deprecated in version 130; may be removed in future release WARNING: 0:17: varying deprecated in version 130; may be removed in future release WARNING: 0:22: varying deprecated in version 130; may be removed in future release @@ -258,4 +257,251 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:25 Function Definition: main( (void) +0:25 Function Parameters: +0:27 Sequence +0:27 move second child to first child (4-component vector of float) +0:27 'gl_FragColor' (fragColor 4-component vector of float) +0:27 Construct vec4 (4-component vector of float) +0:27 direct index (4-component vector of float) +0:27 'un34' (uniform 4X4 matrix of float) +0:27 Constant: +0:27 1 (const int) +0:28 add second child into first child (4-component vector of float) +0:28 'gl_FragColor' (fragColor 4-component vector of float) +0:28 Construct vec4 (4-component vector of float) +0:28 vector-times-matrix (3-component vector of float) +0:28 'Color' (smooth in 3-component vector of float) +0:28 'colorTransform' (uniform 3X3 matrix of float) +0:28 Constant: +0:28 1.000000 +0:30 Test condition and select (void) +0:30 Condition +0:30 Compare Not Equal (bool) +0:30 'm' (uniform 4X4 matrix of float) +0:30 'n' (uniform 4X4 matrix of float) +0:30 true case +0:31 add second child into first child (4-component vector of float) +0:31 'gl_FragColor' (fragColor 4-component vector of float) +0:31 'v' (smooth in 4-component vector of float) +0:30 false case +0:33 Sequence +0:33 add second child into first child (4-component vector of float) +0:33 'gl_FragColor' (fragColor 4-component vector of float) +0:33 matrix-times-vector (4-component vector of float) +0:33 'm' (uniform 4X4 matrix of float) +0:33 'v' (smooth in 4-component vector of float) +0:34 add second child into first child (4-component vector of float) +0:34 'gl_FragColor' (fragColor 4-component vector of float) +0:34 vector-times-matrix (4-component vector of float) +0:34 'v' (smooth in 4-component vector of float) +0:34 subtract (4X4 matrix of float) +0:34 'm' (uniform 4X4 matrix of float) +0:34 'n' (uniform 4X4 matrix of float) +0:42 Sequence +0:42 move second child to first child (4X4 matrix of float) +0:42 'm34' (4X4 matrix of float) +0:45 Construct mat4 (4X4 matrix of float) +0:42 component-wise multiply (float) +0:42 direct index (float) +0:42 'v' (smooth in 4-component vector of float) +0:42 Constant: +0:42 0 (const int) +0:42 direct index (float) +0:42 'u' (smooth in 4-component vector of float) +0:42 Constant: +0:42 0 (const int) +0:42 component-wise multiply (float) +0:42 direct index (float) +0:42 'v' (smooth in 4-component vector of float) +0:42 Constant: +0:42 0 (const int) +0:42 direct index (float) +0:42 'u' (smooth in 4-component vector of float) +0:42 Constant: +0:42 1 (const int) +0:42 component-wise multiply (float) +0:42 direct index (float) +0:42 'v' (smooth in 4-component vector of float) +0:42 Constant: +0:42 0 (const int) +0:42 direct index (float) +0:42 'u' (smooth in 4-component vector of float) +0:42 Constant: +0:42 2 (const int) +0:42 component-wise multiply (float) +0:42 direct index (float) +0:42 'v' (smooth in 4-component vector of float) +0:42 Constant: +0:42 0 (const int) +0:42 direct index (float) +0:42 'u' (smooth in 4-component vector of float) +0:42 Constant: +0:42 3 (const int) +0:43 component-wise multiply (float) +0:43 direct index (float) +0:43 'v' (smooth in 4-component vector of float) +0:43 Constant: +0:43 1 (const int) +0:43 direct index (float) +0:43 'u' (smooth in 4-component vector of float) +0:43 Constant: +0:43 0 (const int) +0:43 component-wise multiply (float) +0:43 direct index (float) +0:43 'v' (smooth in 4-component vector of float) +0:43 Constant: +0:43 1 (const int) +0:43 direct index (float) +0:43 'u' (smooth in 4-component vector of float) +0:43 Constant: +0:43 1 (const int) +0:43 component-wise multiply (float) +0:43 direct index (float) +0:43 'v' (smooth in 4-component vector of float) +0:43 Constant: +0:43 1 (const int) +0:43 direct index (float) +0:43 'u' (smooth in 4-component vector of float) +0:43 Constant: +0:43 2 (const int) +0:43 component-wise multiply (float) +0:43 direct index (float) +0:43 'v' (smooth in 4-component vector of float) +0:43 Constant: +0:43 1 (const int) +0:43 direct index (float) +0:43 'u' (smooth in 4-component vector of float) +0:43 Constant: +0:43 3 (const int) +0:44 component-wise multiply (float) +0:44 direct index (float) +0:44 'v' (smooth in 4-component vector of float) +0:44 Constant: +0:44 2 (const int) +0:44 direct index (float) +0:44 'u' (smooth in 4-component vector of float) +0:44 Constant: +0:44 0 (const int) +0:44 component-wise multiply (float) +0:44 direct index (float) +0:44 'v' (smooth in 4-component vector of float) +0:44 Constant: +0:44 2 (const int) +0:44 direct index (float) +0:44 'u' (smooth in 4-component vector of float) +0:44 Constant: +0:44 1 (const int) +0:44 component-wise multiply (float) +0:44 direct index (float) +0:44 'v' (smooth in 4-component vector of float) +0:44 Constant: +0:44 2 (const int) +0:44 direct index (float) +0:44 'u' (smooth in 4-component vector of float) +0:44 Constant: +0:44 2 (const int) +0:44 component-wise multiply (float) +0:44 direct index (float) +0:44 'v' (smooth in 4-component vector of float) +0:44 Constant: +0:44 2 (const int) +0:44 direct index (float) +0:44 'u' (smooth in 4-component vector of float) +0:44 Constant: +0:44 3 (const int) +0:45 component-wise multiply (float) +0:45 direct index (float) +0:45 'v' (smooth in 4-component vector of float) +0:45 Constant: +0:45 3 (const int) +0:45 direct index (float) +0:45 'u' (smooth in 4-component vector of float) +0:45 Constant: +0:45 0 (const int) +0:45 component-wise multiply (float) +0:45 direct index (float) +0:45 'v' (smooth in 4-component vector of float) +0:45 Constant: +0:45 3 (const int) +0:45 direct index (float) +0:45 'u' (smooth in 4-component vector of float) +0:45 Constant: +0:45 1 (const int) +0:45 component-wise multiply (float) +0:45 direct index (float) +0:45 'v' (smooth in 4-component vector of float) +0:45 Constant: +0:45 3 (const int) +0:45 direct index (float) +0:45 'u' (smooth in 4-component vector of float) +0:45 Constant: +0:45 2 (const int) +0:45 component-wise multiply (float) +0:45 direct index (float) +0:45 'v' (smooth in 4-component vector of float) +0:45 Constant: +0:45 3 (const int) +0:45 direct index (float) +0:45 'u' (smooth in 4-component vector of float) +0:45 Constant: +0:45 3 (const int) +0:46 add second child into first child (4X4 matrix of float) +0:46 'm34' (4X4 matrix of float) +0:46 Construct mat4 (4X4 matrix of float) +0:46 direct index (float) +0:46 'v' (smooth in 4-component vector of float) +0:46 Constant: +0:46 0 (const int) +0:47 add second child into first child (4X4 matrix of float) +0:47 'm34' (4X4 matrix of float) +0:47 Construct mat4 (4X4 matrix of float) +0:47 'u' (smooth in 4-component vector of float) +0:47 direct index (float) +0:47 'u' (smooth in 4-component vector of float) +0:47 Constant: +0:47 0 (const int) +0:47 'u' (smooth in 4-component vector of float) +0:47 direct index (float) +0:47 'u' (smooth in 4-component vector of float) +0:47 Constant: +0:47 0 (const int) +0:47 'u' (smooth in 4-component vector of float) +0:47 direct index (float) +0:47 'u' (smooth in 4-component vector of float) +0:47 Constant: +0:47 0 (const int) +0:47 direct index (float) +0:47 'u' (smooth in 4-component vector of float) +0:47 Constant: +0:47 0 (const int) +0:51 Test condition and select (void) +0:51 Condition +0:51 Compare Equal (bool) +0:51 'm34' (4X4 matrix of float) +0:51 'un34' (uniform 4X4 matrix of float) +0:51 true case +0:52 add second child into first child (4-component vector of float) +0:52 'gl_FragColor' (fragColor 4-component vector of float) +0:52 matrix-times-vector (4-component vector of float) +0:52 'm34' (4X4 matrix of float) +0:52 'u' (smooth in 4-component vector of float) +0:51 false case +0:54 add second child into first child (4-component vector of float) +0:54 'gl_FragColor' (fragColor 4-component vector of float) +0:54 matrix-times-vector (4-component vector of float) +0:54 matrix-multiply (4X4 matrix of float) +0:54 'un34' (uniform 4X4 matrix of float) +0:54 'um43' (uniform 4X4 matrix of float) +0:54 'v' (smooth in 4-component vector of float) +0:? Linker Objects +0:? 'colorTransform' (uniform 3X3 matrix of float) +0:? 'Color' (smooth in 3-component vector of float) +0:? 'm' (uniform 4X4 matrix of float) +0:? 'n' (uniform 4X4 matrix of float) +0:? 'um43' (uniform 4X4 matrix of float) +0:? 'un34' (uniform 4X4 matrix of float) +0:? 'v' (smooth in 4-component vector of float) +0:? 'u' (smooth in 4-component vector of float) diff --git a/Test/baseResults/matrix2.frag.out b/Test/baseResults/matrix2.frag.out index bac7a5c..02ce43f 100644 --- a/Test/baseResults/matrix2.frag.out +++ b/Test/baseResults/matrix2.frag.out @@ -1,5 +1,5 @@ ../../LunarGLASS/test/matrix2.frag -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:13: varying deprecated in version 130; may be removed in future release WARNING: 0:15: varying deprecated in version 130; may be removed in future release @@ -147,6 +147,18 @@ Shader version: 150 0:47 matrix mult second child into first child (4-component vector of float) 0:47 'FragColor' (out 4-component vector of float) 0:47 'inv4' (4X4 matrix of float) +0:49 move second child to first child (4-component vector of float) +0:49 'FragColor' (out 4-component vector of float) +0:49 Construct vec4 (4-component vector of float) +0:49 vector-times-matrix (3-component vector of float) +0:49 'FragColor' (out 4-component vector of float) +0:49 component-wise multiply (3X4 matrix of float) +0:49 'un34' (uniform 3X4 matrix of float) +0:49 'un34' (uniform 3X4 matrix of float) +0:49 direct index (float) +0:49 'FragColor' (out 4-component vector of float) +0:49 Constant: +0:49 3 (const int) 0:? Linker Objects 0:? 'colorTransform' (uniform 3X3 matrix of float) 0:? 'Color' (smooth in 3-component vector of float) @@ -166,4 +178,171 @@ Linked fragment stage: Shader version: 150 +0:? Sequence +0:19 Function Definition: main( (void) +0:19 Function Parameters: +0:21 Sequence +0:21 Sequence +0:21 move second child to first child (3X4 matrix of float) +0:21 'm34' (3X4 matrix of float) +0:21 outer product (3X4 matrix of float) +0:21 'v' (smooth in 4-component vector of float) +0:21 'u' (smooth in 3-component vector of float) +0:23 add second child into first child (3X4 matrix of float) +0:23 'm34' (3X4 matrix of float) +0:23 Constant: +0:23 4.300000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 4.300000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 0.000000 +0:23 4.300000 +0:23 0.000000 +0:25 move second child to first child (4-component vector of float) +0:25 'FragColor' (out 4-component vector of float) +0:25 Construct vec4 (4-component vector of float) +0:25 'Color' (smooth in 3-component vector of float) +0:25 Constant: +0:25 1.000000 +0:26 multiply second child into first child (4-component vector of float) +0:26 'FragColor' (out 4-component vector of float) +0:26 Construct vec4 (4-component vector of float) +0:26 vector-times-matrix (3-component vector of float) +0:26 'FragColor' (out 4-component vector of float) +0:26 'm34' (3X4 matrix of float) +0:26 Constant: +0:26 1.000000 +0:28 matrix scale second child into first child (3X4 matrix of float) +0:28 'm34' (3X4 matrix of float) +0:28 direct index (float) +0:28 'v' (smooth in 4-component vector of float) +0:28 Constant: +0:28 0 (const int) +0:30 Sequence +0:30 move second child to first child (4X4 matrix of float) +0:30 'm44' (4X4 matrix of float) +0:30 Construct mat4 (4X4 matrix of float) +0:30 'un34' (uniform 3X4 matrix of float) +0:32 add second child into first child (4X4 matrix of float) +0:32 'm44' (4X4 matrix of float) +0:32 matrix-multiply (4X4 matrix of float) +0:32 'm34' (3X4 matrix of float) +0:32 'um43' (uniform 4X3 matrix of float) +0:34 add second child into first child (4-component vector of float) +0:34 'FragColor' (out 4-component vector of float) +0:34 matrix-times-vector (4-component vector of float) +0:34 Negate value (4X4 matrix of float) +0:34 'm44' (4X4 matrix of float) +0:34 'v' (smooth in 4-component vector of float) +0:36 matrix mult second child into first child (4-component vector of float) +0:36 'FragColor' (out 4-component vector of float) +0:36 component-wise multiply (4X4 matrix of float) +0:36 'm44' (4X4 matrix of float) +0:36 'm44' (4X4 matrix of float) +0:38 move second child to first child (3X4 matrix of float) +0:38 'm34' (3X4 matrix of float) +0:38 transpose (3X4 matrix of float) +0:38 'um43' (uniform 4X3 matrix of float) +0:39 multiply second child into first child (4-component vector of float) +0:39 'FragColor' (out 4-component vector of float) +0:39 Construct vec4 (4-component vector of float) +0:39 vector-times-matrix (3-component vector of float) +0:39 'FragColor' (out 4-component vector of float) +0:39 'm34' (3X4 matrix of float) +0:39 Constant: +0:39 1.000000 +0:40 multiply second child into first child (4-component vector of float) +0:40 'FragColor' (out 4-component vector of float) +0:40 Construct vec4 (4-component vector of float) +0:40 determinant (float) +0:40 'um4' (uniform 4X4 matrix of float) +0:41 Sequence +0:41 move second child to first child (2X2 matrix of float) +0:41 'inv' (2X2 matrix of float) +0:41 inverse (2X2 matrix of float) +0:41 'um2' (uniform 2X2 matrix of float) +0:42 multiply second child into first child (4-component vector of float) +0:42 'FragColor' (out 4-component vector of float) +0:42 Construct vec4 (4-component vector of float) +0:42 direct index (float) +0:42 direct index (2-component vector of float) +0:42 'inv' (2X2 matrix of float) +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 0 (const int) +0:42 direct index (float) +0:42 direct index (2-component vector of float) +0:42 'inv' (2X2 matrix of float) +0:42 Constant: +0:42 1 (const int) +0:42 Constant: +0:42 0 (const int) +0:42 direct index (float) +0:42 direct index (2-component vector of float) +0:42 'inv' (2X2 matrix of float) +0:42 Constant: +0:42 0 (const int) +0:42 Constant: +0:42 1 (const int) +0:42 direct index (float) +0:42 direct index (2-component vector of float) +0:42 'inv' (2X2 matrix of float) +0:42 Constant: +0:42 1 (const int) +0:42 Constant: +0:42 1 (const int) +0:43 Sequence +0:43 move second child to first child (3X3 matrix of float) +0:43 'inv3' (3X3 matrix of float) +0:43 inverse (3X3 matrix of float) +0:43 'um3' (uniform 3X3 matrix of float) +0:44 multiply second child into first child (4-component vector of float) +0:44 'FragColor' (out 4-component vector of float) +0:44 Construct vec4 (4-component vector of float) +0:44 direct index (float) +0:44 direct index (3-component vector of float) +0:44 'inv3' (3X3 matrix of float) +0:44 Constant: +0:44 2 (const int) +0:44 Constant: +0:44 1 (const int) +0:46 Sequence +0:46 move second child to first child (4X4 matrix of float) +0:46 'inv4' (4X4 matrix of float) +0:46 inverse (4X4 matrix of float) +0:46 'um4' (uniform 4X4 matrix of float) +0:47 matrix mult second child into first child (4-component vector of float) +0:47 'FragColor' (out 4-component vector of float) +0:47 'inv4' (4X4 matrix of float) +0:49 move second child to first child (4-component vector of float) +0:49 'FragColor' (out 4-component vector of float) +0:49 Construct vec4 (4-component vector of float) +0:49 vector-times-matrix (3-component vector of float) +0:49 'FragColor' (out 4-component vector of float) +0:49 component-wise multiply (3X4 matrix of float) +0:49 'un34' (uniform 3X4 matrix of float) +0:49 'un34' (uniform 3X4 matrix of float) +0:49 direct index (float) +0:49 'FragColor' (out 4-component vector of float) +0:49 Constant: +0:49 3 (const int) +0:? Linker Objects +0:? 'colorTransform' (uniform 3X3 matrix of float) +0:? 'Color' (smooth in 3-component vector of float) +0:? 'm' (uniform 4X4 matrix of float) +0:? 'n' (uniform 4X4 matrix of float) +0:? 'um43' (uniform 4X3 matrix of float) +0:? 'un34' (uniform 3X4 matrix of float) +0:? 'um2' (uniform 2X2 matrix of float) +0:? 'um3' (uniform 3X3 matrix of float) +0:? 'um4' (uniform 4X4 matrix of float) +0:? 'v' (smooth in 4-component vector of float) +0:? 'u' (smooth in 3-component vector of float) +0:? 'FragColor' (out 4-component vector of float) diff --git a/Test/baseResults/matrixError.vert.out b/Test/baseResults/matrixError.vert.out index ecfc69c..1b0e8e3 100644 --- a/Test/baseResults/matrixError.vert.out +++ b/Test/baseResults/matrixError.vert.out @@ -42,4 +42,30 @@ Linked vertex stage: Shader version: 120 +ERROR: node is still EOpNull! +0:12 Function Definition: main( (void) +0:12 Function Parameters: +0:? Sequence +0:17 'a' (3-component vector of float) +0:18 'b' (3-component vector of float) +0:19 'm23' (2X3 matrix of float) +0:21 move second child to first child (4-component vector of float) +0:21 'gl_Position' (gl_Position 4-component vector of float) +0:21 Construct vec4 (4-component vector of float) +0:21 matrix-times-vector (3-component vector of float) +0:21 matrix-multiply (3X3 matrix of float) +0:21 'm23' (2X3 matrix of float) +0:21 'm32' (uniform 3X2 matrix of float) +0:21 'v3' (in 3-component vector of float) +0:21 direct index (float) +0:21 direct index (4-component vector of float) +0:21 'm24' (2X4 matrix of float) +0:21 Constant: +0:21 2 (const int) +0:21 Constant: +0:21 4 (const int) +0:? Linker Objects +0:? 'v3' (in 3-component vector of float) +0:? 'm32' (uniform 3X2 matrix of float) +0:? 'm24' (2X4 matrix of float) diff --git a/Test/baseResults/newTexture.frag.out b/Test/baseResults/newTexture.frag.out index 4bf62c5..9965d49 100644 --- a/Test/baseResults/newTexture.frag.out +++ b/Test/baseResults/newTexture.frag.out @@ -1,5 +1,5 @@ ../../LunarGLASS/test/newTexture.frag -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. Shader version: 430 0:? Sequence @@ -232,4 +232,228 @@ Linked fragment stage: Shader version: 430 +0:? Sequence +0:34 Function Definition: main( (void) +0:34 Function Parameters: +0:36 Sequence +0:36 Sequence +0:36 move second child to first child (4-component vector of float) +0:36 'v' (4-component vector of float) +0:36 Function Call: texture(s21;vf2; (4-component vector of float) +0:36 's2D' (uniform sampler2D) +0:36 'c2D' (smooth in 2-component vector of float) +0:37 add second child into first child (4-component vector of float) +0:37 'v' (4-component vector of float) +0:37 Function Call: textureProj(s31;vf4; (4-component vector of float) +0:37 's3D' (uniform sampler3D) +0:37 'c4D' (smooth in 4-component vector of float) +0:38 add second child into first child (4-component vector of float) +0:38 'v' (4-component vector of float) +0:38 Function Call: textureLod(sA21;vf3;f1; (4-component vector of float) +0:38 's2DArray' (uniform sampler2DArray) +0:38 'c3D' (smooth in 3-component vector of float) +0:38 Constant: +0:38 1.200000 +0:39 add second child into first child (float) +0:39 direct index (float) +0:39 'v' (4-component vector of float) +0:39 Constant: +0:39 1 (const int) +0:39 Function Call: textureOffset(sS21;vf3;vi2;f1; (float) +0:39 's2DShadow' (uniform sampler2DShadow) +0:39 'c3D' (smooth in 3-component vector of float) +0:39 Constant: +0:39 3 (const int) +0:39 3 (const int) +0:39 'c1D' (smooth in float) +0:40 add second child into first child (4-component vector of float) +0:40 'v' (4-component vector of float) +0:40 Function Call: texelFetch(s31;vi3;i1; (4-component vector of float) +0:40 's3D' (uniform sampler3D) +0:40 'ic3D' (flat in 3-component vector of int) +0:40 'ic1D' (flat in int) +0:41 add second child into first child (4-component vector of float) +0:41 'v' (4-component vector of float) +0:41 Function Call: texelFetchOffset(s21;vi2;i1;vi2; (4-component vector of float) +0:41 's2D' (uniform sampler2D) +0:41 'ic2D' (flat in 2-component vector of int) +0:41 Constant: +0:41 4 (const int) +0:41 'ic2D' (flat in 2-component vector of int) +0:42 add second child into first child (float) +0:42 direct index (float) +0:42 'v' (4-component vector of float) +0:42 Constant: +0:42 1 (const int) +0:42 Function Call: textureLodOffset(sS21;vf3;f1;vi2; (float) +0:42 's2DShadow' (uniform sampler2DShadow) +0:42 'c3D' (smooth in 3-component vector of float) +0:42 'c1D' (smooth in float) +0:42 Constant: +0:42 3 (const int) +0:42 3 (const int) +0:43 add second child into first child (4-component vector of float) +0:43 'v' (4-component vector of float) +0:43 Function Call: textureProjLodOffset(s21;vf3;f1;vi2; (4-component vector of float) +0:43 's2D' (uniform sampler2D) +0:43 'c3D' (smooth in 3-component vector of float) +0:43 'c1D' (smooth in float) +0:43 Constant: +0:43 3 (const int) +0:43 3 (const int) +0:44 add second child into first child (4-component vector of float) +0:44 'v' (4-component vector of float) +0:44 Function Call: textureGrad(sC1;vf3;vf3;vf3; (4-component vector of float) +0:44 'sCube' (uniform samplerCube) +0:44 'c3D' (smooth in 3-component vector of float) +0:44 'c3D' (smooth in 3-component vector of float) +0:44 'c3D' (smooth in 3-component vector of float) +0:45 add second child into first child (float) +0:45 direct index (float) +0:45 'v' (4-component vector of float) +0:45 Constant: +0:45 0 (const int) +0:45 Function Call: textureGradOffset(sAS21;vf4;vf2;vf2;vi2; (float) +0:45 's2DArrayShadow' (uniform sampler2DArrayShadow) +0:45 'c4D' (smooth in 4-component vector of float) +0:45 'c2D' (smooth in 2-component vector of float) +0:45 'c2D' (smooth in 2-component vector of float) +0:45 Constant: +0:45 3 (const int) +0:45 3 (const int) +0:46 add second child into first child (4-component vector of float) +0:46 'v' (4-component vector of float) +0:46 Function Call: textureProjGrad(s31;vf4;vf3;vf3; (4-component vector of float) +0:46 's3D' (uniform sampler3D) +0:46 'c4D' (smooth in 4-component vector of float) +0:46 'c3D' (smooth in 3-component vector of float) +0:46 'c3D' (smooth in 3-component vector of float) +0:47 add second child into first child (4-component vector of float) +0:47 'v' (4-component vector of float) +0:47 Function Call: textureProjGradOffset(s21;vf3;vf2;vf2;vi2; (4-component vector of float) +0:47 's2D' (uniform sampler2D) +0:47 'c3D' (smooth in 3-component vector of float) +0:47 'c2D' (smooth in 2-component vector of float) +0:47 'c2D' (smooth in 2-component vector of float) +0:47 Constant: +0:47 3 (const int) +0:47 3 (const int) +0:49 Sequence +0:49 move second child to first child (4-component vector of int) +0:49 'iv' (4-component vector of int) +0:49 Function Call: texture(is21;vf2; (4-component vector of int) +0:49 'is2D' (uniform isampler2D) +0:49 'c2D' (smooth in 2-component vector of float) +0:50 add second child into first child (4-component vector of float) +0:50 'v' (4-component vector of float) +0:50 Convert int to float (4-component vector of float) +0:50 'iv' (4-component vector of int) +0:51 move second child to first child (4-component vector of int) +0:51 'iv' (4-component vector of int) +0:51 Function Call: textureProjOffset(is21;vf4;vi2; (4-component vector of int) +0:51 'is2D' (uniform isampler2D) +0:51 'c4D' (smooth in 4-component vector of float) +0:51 Constant: +0:51 3 (const int) +0:51 3 (const int) +0:52 add second child into first child (4-component vector of float) +0:52 'v' (4-component vector of float) +0:52 Convert int to float (4-component vector of float) +0:52 'iv' (4-component vector of int) +0:53 move second child to first child (4-component vector of int) +0:53 'iv' (4-component vector of int) +0:53 Function Call: textureProjLod(is21;vf3;f1; (4-component vector of int) +0:53 'is2D' (uniform isampler2D) +0:53 'c3D' (smooth in 3-component vector of float) +0:53 'c1D' (smooth in float) +0:54 add second child into first child (4-component vector of float) +0:54 'v' (4-component vector of float) +0:54 Convert int to float (4-component vector of float) +0:54 'iv' (4-component vector of int) +0:55 move second child to first child (4-component vector of int) +0:55 'iv' (4-component vector of int) +0:55 Function Call: textureProjGrad(is21;vf3;vf2;vf2; (4-component vector of int) +0:55 'is2D' (uniform isampler2D) +0:55 'c3D' (smooth in 3-component vector of float) +0:55 'c2D' (smooth in 2-component vector of float) +0:55 'c2D' (smooth in 2-component vector of float) +0:56 add second child into first child (4-component vector of float) +0:56 'v' (4-component vector of float) +0:56 Convert int to float (4-component vector of float) +0:56 'iv' (4-component vector of int) +0:57 move second child to first child (4-component vector of int) +0:57 'iv' (4-component vector of int) +0:57 Function Call: texture(is31;vf3;f1; (4-component vector of int) +0:57 'is3D' (uniform isampler3D) +0:57 'c3D' (smooth in 3-component vector of float) +0:57 Constant: +0:57 4.200000 +0:58 add second child into first child (4-component vector of float) +0:58 'v' (4-component vector of float) +0:58 Convert int to float (4-component vector of float) +0:58 'iv' (4-component vector of int) +0:59 move second child to first child (4-component vector of int) +0:59 'iv' (4-component vector of int) +0:59 Function Call: textureLod(isC1;vf3;f1; (4-component vector of int) +0:59 'isCube' (uniform isamplerCube) +0:59 'c3D' (smooth in 3-component vector of float) +0:59 'c1D' (smooth in float) +0:60 add second child into first child (4-component vector of float) +0:60 'v' (4-component vector of float) +0:60 Convert int to float (4-component vector of float) +0:60 'iv' (4-component vector of int) +0:61 move second child to first child (4-component vector of int) +0:61 'iv' (4-component vector of int) +0:61 Function Call: texelFetch(isA21;vi3;i1; (4-component vector of int) +0:61 'is2DArray' (uniform isampler2DArray) +0:61 'ic3D' (flat in 3-component vector of int) +0:61 'ic1D' (flat in int) +0:62 add second child into first child (4-component vector of float) +0:62 'v' (4-component vector of float) +0:62 Convert int to float (4-component vector of float) +0:62 'iv' (4-component vector of int) +0:64 Sequence +0:64 move second child to first child (2-component vector of int) +0:64 'iv2' (2-component vector of int) +0:64 Function Call: textureSize(sSC1;i1; (2-component vector of int) +0:64 'sCubeShadow' (uniform samplerCubeShadow) +0:64 Constant: +0:64 2 (const int) +0:67 move second child to first child (4-component vector of float) +0:67 'FragData' (out 4-component vector of float) +0:67 add (4-component vector of float) +0:67 'v' (4-component vector of float) +0:67 Construct vec4 (4-component vector of float) +0:67 Convert int to float (2-component vector of float) +0:67 'iv2' (2-component vector of int) +0:67 Constant: +0:67 0.000000 +0:67 Constant: +0:67 0.000000 +0:? Linker Objects +0:? 's2D' (uniform sampler2D) +0:? 's3D' (uniform sampler3D) +0:? 'sCube' (uniform samplerCube) +0:? 'sCubeShadow' (uniform samplerCubeShadow) +0:? 's2DShadow' (uniform sampler2DShadow) +0:? 's2DArray' (uniform sampler2DArray) +0:? 's2DArrayShadow' (uniform sampler2DArrayShadow) +0:? 'is2D' (uniform isampler2D) +0:? 'is3D' (uniform isampler3D) +0:? 'isCube' (uniform isamplerCube) +0:? 'is2DArray' (uniform isampler2DArray) +0:? 'is2Dms' (uniform isampler2DMS) +0:? 'us2D' (uniform usampler2D) +0:? 'us3D' (uniform usampler3D) +0:? 'usCube' (uniform usamplerCube) +0:? 'us2DArray' (uniform usampler2DArray) +0:? 'c1D' (smooth in float) +0:? 'c2D' (smooth in 2-component vector of float) +0:? 'c3D' (smooth in 3-component vector of float) +0:? 'c4D' (smooth in 4-component vector of float) +0:? 'ic1D' (flat in int) +0:? 'ic2D' (flat in 2-component vector of int) +0:? 'ic3D' (flat in 3-component vector of int) +0:? 'ic4D' (flat in 4-component vector of int) +0:? 'FragData' (out 4-component vector of float) diff --git a/Test/baseResults/noMain.vert.out b/Test/baseResults/noMain.vert.out index 47068a1..7b22e3c 100644 --- a/Test/baseResults/noMain.vert.out +++ b/Test/baseResults/noMain.vert.out @@ -30,5 +30,17 @@ Linked fragment stage: Shader version: 300 +0:? Sequence +0:3 Function Definition: foo( (void) +0:3 Function Parameters: +0:? Linker Objects +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) Shader version: 300 +ERROR: node is still EOpNull! +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:? Linker Objects diff --git a/Test/baseResults/nonSquare.vert.out b/Test/baseResults/nonSquare.vert.out index 88bcc9c..212aa56 100644 --- a/Test/baseResults/nonSquare.vert.out +++ b/Test/baseResults/nonSquare.vert.out @@ -94,4 +94,91 @@ Linked vertex stage: Shader version: 120 +0:? Sequence +0:15 Function Definition: main( (void) +0:15 Function Parameters: +0:? Sequence +0:20 move second child to first child (2-component vector of float) +0:20 'a' (2-component vector of float) +0:20 vector-times-matrix (2-component vector of float) +0:20 'v3' (in 3-component vector of float) +0:20 'm23' (2X3 matrix of float) +0:21 move second child to first child (2-component vector of float) +0:21 'b' (2-component vector of float) +0:21 matrix-times-vector (2-component vector of float) +0:21 'm32' (uniform 3X2 matrix of float) +0:21 'v3' (in 3-component vector of float) +0:23 move second child to first child (4-component vector of float) +0:23 'gl_Position' (gl_Position 4-component vector of float) +0:24 add (4-component vector of float) +0:24 add (4-component vector of float) +0:24 add (4-component vector of float) +0:23 add (4-component vector of float) +0:23 Construct vec4 (4-component vector of float) +0:23 matrix-times-vector (3-component vector of float) +0:23 matrix-multiply (3X3 matrix of float) +0:23 'm23' (2X3 matrix of float) +0:23 'm32' (uniform 3X2 matrix of float) +0:23 'v3' (in 3-component vector of float) +0:23 Constant: +0:23 0.000000 +0:24 matrix-times-vector (4-component vector of float) +0:24 Constant: +0:24 3.000000 +0:24 6.000000 +0:24 0.000000 +0:24 0.000000 +0:24 9.000000 +0:24 12.000000 +0:24 0.000000 +0:24 0.000000 +0:24 15.000000 +0:24 18.000000 +0:24 0.000000 +0:24 0.000000 +0:24 21.000000 +0:24 24.000000 +0:24 0.000000 +0:24 0.000000 +0:24 'v4' (in 4-component vector of float) +0:24 Constant: +0:24 50.000000 +0:24 110.000000 +0:24 170.000000 +0:24 230.000000 +0:24 Constant: +0:24 30.000000 +0:24 60.000000 +0:24 0.000000 +0:24 0.000000 +0:24 Constant: +0:24 20.000000 +0:24 10.000000 +0:24 6.000000 +0:24 5.000000 +0:? Linker Objects +0:? 'v3' (in 3-component vector of float) +0:? 'v4' (in 4-component vector of float) +0:? 'm32' (uniform 3X2 matrix of float) +0:? 'cv2' (const 2-component vector of float) +0:? 10.000000 +0:? 20.000000 +0:? 'm24' (const 2X4 matrix of float) +0:? 3.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 0.000000 +0:? 3.000000 +0:? 0.000000 +0:? 0.000000 +0:? 'm42' (const 4X2 matrix of float) +0:? 1.000000 +0:? 2.000000 +0:? 3.000000 +0:? 4.000000 +0:? 5.000000 +0:? 6.000000 +0:? 7.000000 +0:? 8.000000 diff --git a/Test/baseResults/numeral.frag.out b/Test/baseResults/numeral.frag.out index f276931..6ed5ef9 100644 --- a/Test/baseResults/numeral.frag.out +++ b/Test/baseResults/numeral.frag.out @@ -1,5 +1,5 @@ numeral.frag -Warning, version 400 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 400 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:14: '' : octal literal digit too large ERROR: 0:15: '' : octal literal digit too large ERROR: 0:16: '' : octal literal digit too large @@ -386,4 +386,370 @@ Linked fragment stage: Shader version: 400 +ERROR: node is still EOpNull! +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:5 Sequence +0:5 Sequence +0:5 move second child to first child (int) +0:5 'o00' (int) +0:5 Constant: +0:5 0 (const int) +0:6 Sequence +0:6 move second child to first child (int) +0:6 'o000' (int) +0:6 Constant: +0:6 0 (const int) +0:7 Sequence +0:7 move second child to first child (int) +0:7 'o0000' (int) +0:7 Constant: +0:7 0 (const int) +0:8 Sequence +0:8 move second child to first child (int) +0:8 'o5' (int) +0:8 Constant: +0:8 5 (const int) +0:9 Sequence +0:9 move second child to first child (int) +0:9 'o05' (int) +0:9 Constant: +0:9 5 (const int) +0:10 Sequence +0:10 move second child to first child (int) +0:10 'o006' (int) +0:10 Constant: +0:10 6 (const int) +0:11 Sequence +0:11 move second child to first child (int) +0:11 'o7' (int) +0:11 Constant: +0:11 7 (const int) +0:12 Sequence +0:12 move second child to first child (int) +0:12 'o58' (int) +0:12 Constant: +0:12 58 (const int) +0:13 Sequence +0:13 move second child to first child (int) +0:13 'omax' (int) +0:13 Constant: +0:13 -1 (const int) +0:14 Sequence +0:14 move second child to first child (int) +0:14 'o8' (int) +0:14 Constant: +0:14 0 (const int) +0:15 Sequence +0:15 move second child to first child (int) +0:15 'o08' (int) +0:15 Constant: +0:15 0 (const int) +0:16 Sequence +0:16 move second child to first child (int) +0:16 'o009' (int) +0:16 Constant: +0:16 0 (const int) +0:17 Sequence +0:17 move second child to first child (int) +0:17 'obig' (int) +0:17 Constant: +0:17 995208915 (const int) +0:18 Sequence +0:18 move second child to first child (int) +0:18 'omax1' (int) +0:18 Constant: +0:18 536870912 (const int) +0:20 Sequence +0:20 move second child to first child (uint) +0:20 'uo5' (uint) +0:20 Constant: +0:20 5 (const uint) +0:21 Sequence +0:21 move second child to first child (uint) +0:21 'uo6' (uint) +0:21 Constant: +0:21 6 (const uint) +0:22 Sequence +0:22 move second child to first child (uint) +0:22 'uo7' (uint) +0:22 Constant: +0:22 7 (const uint) +0:23 Sequence +0:23 move second child to first child (uint) +0:23 'uo8' (uint) +0:23 Constant: +0:23 0 (const uint) +0:24 Sequence +0:24 move second child to first child (uint) +0:24 'uo9' (uint) +0:24 Constant: +0:24 0 (const uint) +0:26 Sequence +0:26 move second child to first child (int) +0:26 'h0' (int) +0:26 Constant: +0:26 0 (const int) +0:27 Sequence +0:27 move second child to first child (int) +0:27 'h00' (int) +0:27 Constant: +0:27 0 (const int) +0:28 Sequence +0:28 move second child to first child (int) +0:28 'h000' (int) +0:28 Constant: +0:28 0 (const int) +0:29 Sequence +0:29 move second child to first child (int) +0:29 'h1' (int) +0:29 Constant: +0:29 1 (const int) +0:30 Sequence +0:30 move second child to first child (int) +0:30 'h2' (int) +0:30 Constant: +0:30 2 (const int) +0:31 Sequence +0:31 move second child to first child (int) +0:31 'h300' (int) +0:31 Constant: +0:31 768 (const int) +0:32 Sequence +0:32 move second child to first child (int) +0:32 'hABCDEF' (int) +0:32 Constant: +0:32 11259375 (const int) +0:33 Sequence +0:33 move second child to first child (int) +0:33 'hFFFFFFFF' (int) +0:33 Constant: +0:33 -1 (const int) +0:34 Sequence +0:34 move second child to first child (int) +0:34 'h12345678' (int) +0:34 Constant: +0:34 12345678 (const int) +0:35 Sequence +0:35 move second child to first child (int) +0:35 'hToBeOrNotToBe' (int) +0:35 Constant: +0:35 -1 (const int) +0:37 Sequence +0:37 move second child to first child (uint) +0:37 'uh0' (uint) +0:37 Constant: +0:37 0 (const uint) +0:38 Sequence +0:38 move second child to first child (uint) +0:38 'uhg' (uint) +0:38 Constant: +0:38 12 (const uint) +0:39 Sequence +0:39 move second child to first child (uint) +0:39 'uh000' (uint) +0:39 Constant: +0:39 0 (const uint) +0:40 Sequence +0:40 move second child to first child (uint) +0:40 'uh1' (uint) +0:40 Constant: +0:40 1 (const uint) +0:41 Sequence +0:41 move second child to first child (uint) +0:41 'uh2' (uint) +0:41 Constant: +0:41 2 (const uint) +0:42 Sequence +0:42 move second child to first child (uint) +0:42 'uh300' (uint) +0:42 Constant: +0:42 768 (const uint) +0:43 Sequence +0:43 move second child to first child (uint) +0:43 'uhABCDEF' (uint) +0:43 Constant: +0:43 11259375 (const uint) +0:44 Sequence +0:44 move second child to first child (uint) +0:44 'uhFFFFFFFF' (uint) +0:44 Constant: +0:44 4294967295 (const uint) +0:45 Sequence +0:45 move second child to first child (uint) +0:45 'uh12345678' (uint) +0:45 Constant: +0:45 12345678 (const uint) +0:46 Sequence +0:46 move second child to first child (uint) +0:46 'uhToBeOrNotToBe' (uint) +0:46 Constant: +0:46 4294967295 (const uint) +0:49 Sequence +0:49 move second child to first child (int) +0:49 'he2' (int) +0:49 Constant: +0:49 0 (const int) +0:50 Sequence +0:50 move second child to first child (int) +0:50 'hbig' (int) +0:50 Constant: +0:50 -1 (const int) +0:52 Sequence +0:52 move second child to first child (float) +0:52 'f1' (float) +0:52 Constant: +0:52 1.000000 +0:53 Sequence +0:53 move second child to first child (float) +0:53 'f2' (float) +0:53 Constant: +0:53 2.000000 +0:54 Sequence +0:54 move second child to first child (float) +0:54 'f3' (float) +0:54 Constant: +0:54 3.000000 +0:55 Sequence +0:55 move second child to first child (float) +0:55 'f4' (float) +0:55 Constant: +0:55 4.000000 +0:56 Sequence +0:56 move second child to first child (float) +0:56 'f5' (float) +0:56 Constant: +0:56 5.000000 +0:57 Sequence +0:57 move second child to first child (float) +0:57 'f6' (float) +0:57 Constant: +0:57 6.000000 +0:58 Sequence +0:58 move second child to first child (float) +0:58 'f7' (float) +0:58 Constant: +0:58 7.000000 +0:59 Sequence +0:59 move second child to first child (float) +0:59 'f8' (float) +0:59 Constant: +0:59 8.000000 +0:60 Sequence +0:60 move second child to first child (float) +0:60 'f9' (float) +0:60 Constant: +0:60 9.000000 +0:61 Sequence +0:61 move second child to first child (float) +0:61 'f10' (float) +0:61 Constant: +0:61 10.000000 +0:62 Sequence +0:62 move second child to first child (float) +0:62 'f11' (float) +0:62 Constant: +0:62 11.000000 +0:63 Sequence +0:63 move second child to first child (float) +0:63 'f12' (float) +0:63 Constant: +0:63 12.000000 +0:64 Sequence +0:64 move second child to first child (float) +0:64 'f543' (float) +0:64 Constant: +0:64 543.000000 +0:65 Sequence +0:65 move second child to first child (float) +0:65 'f6789' (float) +0:65 Constant: +0:65 6789.000000 +0:66 Sequence +0:66 move second child to first child (float) +0:66 'f88' (float) +0:66 Constant: +0:66 88.000000 +0:68 Sequence +0:68 move second child to first child (float) +0:68 'g1' (float) +0:68 Constant: +0:68 53876.000000 +0:69 Sequence +0:69 move second child to first child (float) +0:69 'g2' (float) +0:69 Constant: +0:69 0.040000 +0:70 Sequence +0:70 move second child to first child (float) +0:70 'g3' (float) +0:70 Constant: +0:70 100000.000000 +0:71 Sequence +0:71 move second child to first child (float) +0:71 'g4' (float) +0:71 Constant: +0:71 0.007321 +0:72 Sequence +0:72 move second child to first child (float) +0:72 'g5' (float) +0:72 Constant: +0:72 32000.000000 +0:73 Sequence +0:73 move second child to first child (float) +0:73 'g6' (float) +0:73 Constant: +0:73 0.000005 +0:74 Sequence +0:74 move second child to first child (float) +0:74 'g7' (float) +0:74 Constant: +0:74 0.450000 +0:75 Sequence +0:75 move second child to first child (float) +0:75 'g8' (float) +0:75 Constant: +0:75 60000000000.000000 +0:77 Sequence +0:77 move second child to first child (double) +0:77 'gf1' (double) +0:77 Constant: +0:77 1.000000 +0:78 Sequence +0:78 move second child to first child (double) +0:78 'gf2' (double) +0:78 Constant: +0:78 2.000000 +0:79 Sequence +0:79 move second child to first child (double) +0:79 'gf3' (double) +0:79 Constant: +0:79 3.000000 +0:80 Sequence +0:80 move second child to first child (double) +0:80 'gf4' (double) +0:80 Constant: +0:80 4.000000 +0:81 Sequence +0:81 move second child to first child (float) +0:81 'gf5' (float) +0:81 Constant: +0:81 5.000000 +0:82 Sequence +0:82 move second child to first child (float) +0:82 'gf6' (float) +0:82 Constant: +0:82 6.000000 +0:88 Sequence +0:88 move second child to first child (float) +0:88 'e5' (float) +0:88 Constant: +0:88 5.000000 +0:? Linker Objects +0:? 'c2' (layout(location=2 ) out 4-component vector of float) +0:? 'c3' (layout(location=3 ) out 4-component vector of float) +0:? 'c4' (layout(location=4 ) out 4-component vector of float) +0:? 'c5' (layout(location=5 ) out 4-component vector of float) +0:? 'c6' (layout(location=6 ) out 4-component vector of float) +0:? 'c7' (layout(location=7 ) out 4-component vector of float) diff --git a/Test/baseResults/pointCoord.frag.out b/Test/baseResults/pointCoord.frag.out index 0ad8c83..73a9938 100644 --- a/Test/baseResults/pointCoord.frag.out +++ b/Test/baseResults/pointCoord.frag.out @@ -37,4 +37,34 @@ Linked fragment stage: Shader version: 100 +0:? Sequence +0:5 Function Definition: main( (void) +0:5 Function Parameters: +0:? Sequence +0:9 Test condition and select (void) +0:9 Condition +0:9 Compare Less Than (bool) +0:9 length (mediump float) +0:9 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float) +0:9 Constant: +0:9 0.300000 +0:9 true case +0:10 move second child to first child (highp 4-component vector of float) +0:10 'color' (highp 4-component vector of float) +0:10 Function Call: texture2D(s21;vf2; (lowp 4-component vector of float) +0:10 'sampler' (uniform lowp sampler2D) +0:10 'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float) +0:9 false case +0:12 move second child to first child (highp 4-component vector of float) +0:12 'color' (highp 4-component vector of float) +0:12 Constant: +0:12 0.000000 +0:12 0.000000 +0:12 0.000000 +0:12 0.000000 +0:14 move second child to first child (highp 4-component vector of float) +0:14 'gl_FragColor' (fragColor mediump 4-component vector of float) +0:14 'color' (highp 4-component vector of float) +0:? Linker Objects +0:? 'sampler' (uniform lowp sampler2D) diff --git a/Test/baseResults/precision.frag.out b/Test/baseResults/precision.frag.out index 2c961aa..1f0992e 100644 --- a/Test/baseResults/precision.frag.out +++ b/Test/baseResults/precision.frag.out @@ -129,4 +129,117 @@ Linked fragment stage: Shader version: 100 +ERROR: node is still EOpNull! +0:5 Function Definition: foo(vf3; (lowp 2-component vector of float) +0:5 Function Parameters: +0:5 'mv3' (in mediump 3-component vector of float) +0:? Sequence +0:8 Branch: Return with expression +0:8 vector swizzle (highp 2-component vector of float) +0:8 'hv4' (highp 4-component vector of float) +0:8 Sequence +0:8 Constant: +0:8 0 (const int) +0:8 Constant: +0:8 1 (const int) +0:25 Function Definition: main( (void) +0:25 Function Parameters: +0:27 Sequence +0:27 Sequence +0:27 move second child to first child (highp int) +0:27 'sum' (lowp int) +0:27 add (highp int) +0:27 'global_medium' (mediump int) +0:27 'global_high' (highp int) +0:29 move second child to first child (mediump 4-component vector of float) +0:29 'gl_FragColor' (fragColor mediump 4-component vector of float) +0:29 Construct vec4 (mediump 4-component vector of float) +0:29 'color' (smooth in mediump 3-component vector of float) +0:29 Constant: +0:29 1.000000 +0:32 add second child into first child (highp int) +0:32 'sum' (lowp int) +0:32 'level1_high' (highp int) +0:36 add second child into first child (lowp int) +0:36 'sum' (lowp int) +0:36 'level1_low' (lowp int) +0:41 Sequence +0:41 move second child to first child (mediump float) +0:41 'd' (lowp float) +0:41 distance (mediump float) +0:41 'arg1' (lowp float) +0:41 'arg2' (mediump float) +0:? Sequence +0:45 add second child into first child (lowp int) +0:45 'sum' (lowp int) +0:45 'level2_low' (lowp int) +0:49 add second child into first child (highp int) +0:49 'sum' (lowp int) +0:49 'level2_high' (highp int) +0:58 Loop with condition not tested first +0:58 Loop Condition +0:58 Constant: +0:58 true (const bool) +0:58 Loop Body +0:51 Sequence +0:51 Test condition and select (void) +0:51 Condition +0:51 Constant: +0:51 true (const bool) +0:51 true case +0:? Sequence +0:54 add second child into first child (mediump int) +0:54 'sum' (lowp int) +0:54 'level4_medium' (mediump int) +0:57 add second child into first child (highp int) +0:57 'sum' (lowp int) +0:57 'level3_high' (highp int) +0:60 add second child into first child (highp int) +0:60 'sum' (lowp int) +0:60 'level2_high2' (highp int) +0:63 add second child into first child (lowp int) +0:63 'sum' (lowp int) +0:63 'level1_low3' (lowp int) +0:65 add second child into first child (lowp int) +0:65 'sum' (lowp int) +0:65 add (lowp int) +0:65 Constant: +0:65 4 (const int) +0:65 direct index (lowp int) +0:65 add (lowp 2-component vector of int) +0:65 component-wise multiply (lowp 2-component vector of int) +0:65 Construct ivec2 (lowp 2-component vector of int) +0:65 'level1_low3' (lowp int) +0:65 Construct ivec2 (lowp 2-component vector of int) +0:65 'level1_high' (highp int) +0:65 Construct ivec2 (lowp 2-component vector of int) +0:65 Comma (highp int) +0:65 'level1_low3' (lowp int) +0:65 'level1_high' (highp int) +0:65 Constant: +0:65 0 (const int) +0:67 Function Call: texture2D(s21;vf2; (lowp 4-component vector of float) +0:67 'samplerLow' (uniform lowp sampler2D) +0:67 Constant: +0:67 0.100000 +0:67 0.200000 +0:68 Function Call: texture2D(s21;vf2; (mediump 4-component vector of float) +0:68 'samplerMed' (uniform mediump sampler2D) +0:68 Constant: +0:68 0.100000 +0:68 0.200000 +0:69 Function Call: texture2D(s21;vf2; (highp 4-component vector of float) +0:69 'samplerHigh' (uniform highp sampler2D) +0:69 Constant: +0:69 0.100000 +0:69 0.200000 +0:? Linker Objects +0:? 'color' (smooth in mediump 3-component vector of float) +0:? 'global_medium' (mediump int) +0:? 'samplerLow' (uniform lowp sampler2D) +0:? 'samplerMed' (uniform mediump sampler2D) +0:? 'samplerHigh' (uniform highp sampler2D) +0:? 'uint' (mediump 4-component vector of float) +0:? 'global_high' (highp int) +0:? 'b2' (mediump 2-component vector of bool) diff --git a/Test/baseResults/precision.vert.out b/Test/baseResults/precision.vert.out index 0d9600d..cfec17f 100644 --- a/Test/baseResults/precision.vert.out +++ b/Test/baseResults/precision.vert.out @@ -54,4 +54,46 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:18 Function Definition: main( (void) +0:18 Function Parameters: +0:20 Sequence +0:20 Sequence +0:20 move second child to first child (highp 4-component vector of float) +0:20 't' (highp 4-component vector of float) +0:20 Function Call: texture(s21;vf2; (highp 4-component vector of float) +0:20 's2D' (uniform lowp sampler2D) +0:20 Constant: +0:20 0.100000 +0:20 0.200000 +0:21 add second child into first child (highp 4-component vector of float) +0:21 't' (highp 4-component vector of float) +0:21 Function Call: texture(s21;vf2; (highp 4-component vector of float) +0:21 's2Dhigh' (uniform highp sampler2D) +0:21 Constant: +0:21 0.100000 +0:21 0.200000 +0:22 add second child into first child (highp 4-component vector of float) +0:22 't' (highp 4-component vector of float) +0:22 Function Call: texture(sAS21;vf4; (highp float) +0:22 's2dAS' (uniform mediump sampler2DArrayShadow) +0:22 Constant: +0:22 0.500000 +0:22 0.500000 +0:22 0.500000 +0:22 0.500000 +0:24 move second child to first child (highp 4-component vector of float) +0:24 'gl_Position' (gl_Position highp 4-component vector of float) +0:24 'pos' (in highp 4-component vector of float) +0:? Linker Objects +0:? 'pos' (in highp 4-component vector of float) +0:? 's2D' (uniform lowp sampler2D) +0:? 'sCube' (uniform lowp samplerCube) +0:? 'is2DAbad' (uniform mediump isampler2DArray) +0:? 's2dASbad' (uniform mediump sampler2DArrayShadow) +0:? 's2dAS' (uniform mediump sampler2DArrayShadow) +0:? 'is2DAbad2' (uniform mediump isampler2DArray) +0:? 's2Dhigh' (uniform highp sampler2D) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/prepost.frag.out b/Test/baseResults/prepost.frag.out index 7492a04..a635181 100644 --- a/Test/baseResults/prepost.frag.out +++ b/Test/baseResults/prepost.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/prepost.frag -Warning, version 140 is not yet complete; most features are present, but a few are missing. Shader version: 140 0:? Sequence @@ -139,4 +138,135 @@ Linked fragment stage: Shader version: 140 +0:? Sequence +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:? Sequence +0:10 Sequence +0:10 move second child to first child (int) +0:10 'index' (int) +0:10 Constant: +0:10 5 (const int) +0:12 move second child to first child (float) +0:12 direct index (float) +0:12 y: direct index for structure (5-element array of float) +0:12 'str' (structure{5-element array of float y}) +0:12 Constant: +0:12 0 (const int) +0:12 Constant: +0:12 4 (const int) +0:12 Constant: +0:12 2.000000 +0:13 move second child to first child (float) +0:13 't' (float) +0:13 Pre-Increment (float) +0:13 indirect index (float) +0:13 y: direct index for structure (5-element array of float) +0:13 'str' (structure{5-element array of float y}) +0:13 Constant: +0:13 0 (const int) +0:13 Pre-Decrement (int) +0:13 'index' (int) +0:14 add second child into first child (float) +0:14 direct index (float) +0:14 y: direct index for structure (5-element array of float) +0:14 'str' (structure{5-element array of float y}) +0:14 Constant: +0:14 0 (const int) +0:14 Constant: +0:14 4 (const int) +0:14 't' (float) +0:15 move second child to first child (float) +0:15 't' (float) +0:15 Post-Decrement (float) +0:15 direct index (float) +0:15 y: direct index for structure (5-element array of float) +0:15 'str' (structure{5-element array of float y}) +0:15 Constant: +0:15 0 (const int) +0:15 Constant: +0:15 4 (const int) +0:16 add second child into first child (float) +0:16 indirect index (float) +0:16 y: direct index for structure (5-element array of float) +0:16 'str' (structure{5-element array of float y}) +0:16 Constant: +0:16 0 (const int) +0:16 Post-Increment (int) +0:16 'index' (int) +0:16 't' (float) +0:17 Pre-Decrement (float) +0:17 indirect index (float) +0:17 y: direct index for structure (5-element array of float) +0:17 'str' (structure{5-element array of float y}) +0:17 Constant: +0:17 0 (const int) +0:17 Pre-Decrement (int) +0:17 'index' (int) +0:19 Sequence +0:19 move second child to first child (float) +0:19 'x' (float) +0:19 direct index (float) +0:19 y: direct index for structure (5-element array of float) +0:19 'str' (structure{5-element array of float y}) +0:19 Constant: +0:19 0 (const int) +0:19 Constant: +0:19 4 (const int) +0:20 Pre-Increment (float) +0:20 'x' (float) +0:21 Pre-Decrement (float) +0:21 'x' (float) +0:22 Post-Increment (float) +0:22 'x' (float) +0:23 Post-Decrement (float) +0:23 'x' (float) +0:27 Sequence +0:27 move second child to first child (float) +0:27 'y' (float) +0:27 component-wise multiply (float) +0:27 'x' (float) +0:27 Pre-Increment (float) +0:27 'x' (float) +0:28 Sequence +0:28 move second child to first child (float) +0:28 'z' (float) +0:28 component-wise multiply (float) +0:28 'y' (float) +0:28 Post-Decrement (float) +0:28 'x' (float) +0:33 Sequence +0:33 move second child to first child (4-component vector of float) +0:33 'v' (4-component vector of float) +0:33 Constant: +0:33 1.000000 +0:33 2.000000 +0:33 3.000000 +0:33 4.000000 +0:34 move second child to first child (float) +0:34 direct index (float) +0:34 'v' (4-component vector of float) +0:34 Constant: +0:34 1 (const int) +0:34 Post-Decrement (float) +0:34 direct index (float) +0:34 'v' (4-component vector of float) +0:34 Constant: +0:34 2 (const int) +0:35 move second child to first child (float) +0:35 direct index (float) +0:35 'v' (4-component vector of float) +0:35 Constant: +0:35 0 (const int) +0:35 Pre-Decrement (float) +0:35 direct index (float) +0:35 'v' (4-component vector of float) +0:35 Constant: +0:35 3 (const int) +0:37 move second child to first child (4-component vector of float) +0:37 'gl_FragColor' (fragColor 4-component vector of float) +0:37 vector-scale (4-component vector of float) +0:37 'z' (float) +0:37 'v' (4-component vector of float) +0:? Linker Objects diff --git a/Test/baseResults/recurse1.vert.out b/Test/baseResults/recurse1.vert.out index 3c50053..53e651a 100644 --- a/Test/baseResults/recurse1.vert.out +++ b/Test/baseResults/recurse1.vert.out @@ -1,5 +1,5 @@ recurse1.vert -Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 330 is not yet complete; most version-specific features are present, but some are missing. Shader version: 330 0:? Sequence @@ -70,7 +70,7 @@ Shader version: 330 0:? 'gl_InstanceID' (gl_InstanceId int) recurse1.frag -Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 330 is not yet complete; most version-specific features are present, but some are missing. Shader version: 330 0:? Sequence @@ -159,7 +159,7 @@ Shader version: 330 0:? Linker Objects recurse2.frag -Warning, version 330 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 330 is not yet complete; most version-specific features are present, but some are missing. Shader version: 330 0:? Sequence @@ -221,6 +221,72 @@ ERROR: Linking fragment stage: Recursion detected: cfoo(f1; calling cbar(i1; Shader version: 330 +0:? Sequence +0:3 Function Definition: main( (void) +0:3 Function Parameters: +0:9 Function Definition: self( (void) +0:9 Function Parameters: +0:11 Sequence +0:11 Function Call: self( (void) +0:16 Function Definition: foo(f1; (void) +0:16 Function Parameters: +0:16 '' (in float) +0:18 Sequence +0:18 Function Call: bar(i1; (float) +0:18 Constant: +0:18 2 (const int) +0:21 Function Definition: bar(i1; (float) +0:21 Function Parameters: +0:21 '' (in int) +0:23 Sequence +0:23 Function Call: foo(f1; (void) +0:23 Constant: +0:23 4.200000 +0:25 Branch: Return with expression +0:25 Constant: +0:25 3.200000 +0:32 Function Definition: A( (void) +0:32 Function Parameters: +0:32 Sequence +0:32 Function Call: B( (void) +0:33 Function Definition: C( (void) +0:33 Function Parameters: +0:33 Sequence +0:33 Function Call: D( (void) +0:34 Function Definition: B( (void) +0:34 Function Parameters: +0:34 Sequence +0:34 Function Call: C( (void) +0:35 Function Definition: D( (void) +0:35 Function Parameters: +0:35 Sequence +0:35 Function Call: A( (void) +0:41 Function Definition: AT( (void) +0:41 Function Parameters: +0:41 Sequence +0:41 Function Call: BT( (void) +0:41 Function Call: BT( (void) +0:41 Function Call: BT( (void) +0:42 Function Definition: CT( (void) +0:42 Function Parameters: +0:42 Sequence +0:42 Function Call: DT( (void) +0:42 Function Call: AT( (void) +0:42 Function Call: DT( (void) +0:42 Function Call: BT( (void) +0:43 Function Definition: BT( (void) +0:43 Function Parameters: +0:43 Sequence +0:43 Function Call: CT( (void) +0:43 Function Call: CT( (void) +0:43 Function Call: CT( (void) +0:44 Function Definition: DT( (void) +0:44 Function Parameters: +0:44 Sequence +0:44 Function Call: AT( (void) +0:? Linker Objects +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) Shader version: 330 0:? Sequence 0:5 Function Definition: main( (void) diff --git a/Test/baseResults/reflection.vert.out b/Test/baseResults/reflection.vert.out index 86f4bf0..0a74c14 100644 --- a/Test/baseResults/reflection.vert.out +++ b/Test/baseResults/reflection.vert.out @@ -1,5 +1,5 @@ reflection.vert -Warning, version 440 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 440 is not yet complete; most version-specific features are present, but some are missing. diff --git a/Test/baseResults/sample.frag.out b/Test/baseResults/sample.frag.out index 2d2bce9..5f4ebdf 100644 --- a/Test/baseResults/sample.frag.out +++ b/Test/baseResults/sample.frag.out @@ -19,4 +19,16 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:38 Function Definition: main( (void) +0:38 Function Parameters: +0:40 Sequence +0:40 move second child to first child (4-component vector of float) +0:40 'gl_FragColor' (fragColor 4-component vector of float) +0:40 Construct vec4 (4-component vector of float) +0:40 'color' (smooth in 3-component vector of float) +0:40 Constant: +0:40 1.000000 +0:? Linker Objects +0:? 'color' (smooth in 3-component vector of float) diff --git a/Test/baseResults/sample.vert.out b/Test/baseResults/sample.vert.out index 4179740..463703b 100644 --- a/Test/baseResults/sample.vert.out +++ b/Test/baseResults/sample.vert.out @@ -24,4 +24,21 @@ Linked vertex stage: Shader version: 110 +0:? Sequence +0:38 Function Definition: main( (void) +0:38 Function Parameters: +0:40 Sequence +0:40 move second child to first child (3-component vector of float) +0:40 'color' (smooth out 3-component vector of float) +0:40 Constant: +0:40 1.000000 +0:40 1.000000 +0:40 1.000000 +0:42 move second child to first child (4-component vector of float) +0:42 'gl_Position' (gl_Position 4-component vector of float) +0:42 matrix-times-vector (4-component vector of float) +0:42 'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float) +0:42 'gl_Vertex' (in 4-component vector of float) +0:? Linker Objects +0:? 'color' (smooth out 3-component vector of float) diff --git a/Test/baseResults/simpleFunctionCall.frag.out b/Test/baseResults/simpleFunctionCall.frag.out index 440dc97..fa43269 100644 --- a/Test/baseResults/simpleFunctionCall.frag.out +++ b/Test/baseResults/simpleFunctionCall.frag.out @@ -1,5 +1,5 @@ ../../LunarGLASS/test/simpleFunctionCall.frag -Warning, version 150 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 150 is not yet complete; most version-specific features are present, but some are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release Shader version: 150 @@ -25,4 +25,20 @@ Linked fragment stage: Shader version: 150 +0:? Sequence +0:7 Function Definition: foo( (4-component vector of float) +0:7 Function Parameters: +0:9 Sequence +0:9 Branch: Return with expression +0:9 'BaseColor' (smooth in 4-component vector of float) +0:12 Function Definition: main( (void) +0:12 Function Parameters: +0:14 Sequence +0:14 move second child to first child (4-component vector of float) +0:14 'gl_FragColor' (fragColor 4-component vector of float) +0:14 Function Call: foo( (4-component vector of float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) diff --git a/Test/baseResults/specExamples.frag.out b/Test/baseResults/specExamples.frag.out index 50fa102..88b8649 100644 --- a/Test/baseResults/specExamples.frag.out +++ b/Test/baseResults/specExamples.frag.out @@ -1,5 +1,5 @@ specExamples.frag -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:6: '=' : cannot convert from 'const uint' to 'int' ERROR: 0:20: '' : numeric literal too big ERROR: 0:21: '' : hexidecimal literal too big @@ -288,8 +288,8 @@ 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 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:? '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) @@ -297,8 +297,8 @@ ERROR: node is still EOpNull! 0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float) 0:? 'gl_FragDepth' (gl_FragDepth float) 0:? 'gl_FragDepth' (gl_FragDepth float) -0:? '__anon__2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) -0:? '__anon__2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'anon@2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'anon@2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) Linked fragment stage: @@ -308,4 +308,247 @@ Shader version: 430 Requested GL_3DL_array_objects gl_FragCoord pixel center is integer gl_FragCoord origin is upper left +ERROR: node is still EOpNull! +0:5 Sequence +0:5 move second child to first child (int) +0:5 'a' (int) +0:5 Constant: +0:5 -1 (const int) +0:7 Sequence +0:7 move second child to first child (uint) +0:7 'c' (uint) +0:7 Constant: +0:7 4294967295 (const uint) +0:8 Sequence +0:8 move second child to first child (uint) +0:8 'd' (uint) +0:8 Constant: +0:8 4294967295 (const uint) +0:9 Sequence +0:9 move second child to first child (int) +0:9 'e' (int) +0:9 Constant: +0:9 -1 (const int) +0:13 Sequence +0:13 move second child to first child (uint) +0:13 'f' (uint) +0:13 Constant: +0:13 4294967295 (const uint) +0:17 Sequence +0:17 move second child to first child (int) +0:17 'g' (int) +0:17 Constant: +0:17 -1294967296 (const int) +0:19 Sequence +0:19 move second child to first child (int) +0:19 'h' (int) +0:19 Constant: +0:19 -1610612736 (const int) +0:20 Sequence +0:20 move second child to first child (int) +0:20 'i' (int) +0:20 Constant: +0:20 -1 (const int) +0:21 Sequence +0:21 move second child to first child (int) +0:21 'j' (int) +0:21 Constant: +0:21 -1 (const int) +0:22 Sequence +0:22 move second child to first child (int) +0:22 'k' (int) +0:22 Constant: +0:22 -2147483648 (const int) +0:23 Sequence +0:23 move second child to first child (int) +0:23 'l' (int) +0:23 Constant: +0:23 -2147483648 (const int) +0:25 Sequence +0:25 move second child to first child (float) +0:25 'fb' (float) +0:25 Constant: +0:25 1.500000 +0:26 Sequence +0:26 move second child to first child (double) +0:26 'fd' (double) +0:26 Constant: +0:26 2.000000 +0:127 Function Definition: foo(f1[5]; (5-element array of float) +0:127 Function Parameters: +0:127 '' (in 5-element array of float) +0:129 Sequence +0:129 Branch: Return with expression +0:129 Constant: +0:129 3.400000 +0:129 4.200000 +0:129 5.000000 +0:129 5.200000 +0:129 1.100000 +0:137 Function Definition: main( (void) +0:137 Function Parameters: +0:140 Sequence +0:140 Sequence +0:140 Sequence +0:140 move second child to first child (5-element array of float) +0:140 'a' (5-element array of float) +0:140 Constant: +0:140 3.400000 +0:140 4.200000 +0:140 5.000000 +0:140 5.200000 +0:140 1.100000 +0:143 Sequence +0:143 Sequence +0:143 move second child to first child (5-element array of float) +0:143 'a' (5-element array of float) +0:143 Constant: +0:143 3.400000 +0:143 4.200000 +0:143 5.000000 +0:143 5.200000 +0:143 1.100000 +0:? Sequence +0:149 Sequence +0:149 move second child to first child (2-element array of 4-component vector of float) +0:149 'b' (2-element array of 4-component vector of float) +0:149 Constant: +0:149 0.000000 +0:149 0.000000 +0:149 0.000000 +0:149 0.000000 +0:149 0.100000 +0:149 0.100000 +0:149 0.100000 +0:149 0.100000 +0:? Sequence +0:159 Sequence +0:159 Sequence +0:159 move second child to first child (5-element array of float) +0:159 'b' (5-element array of float) +0:159 'a' (5-element array of float) +0:162 Sequence +0:162 Sequence +0:162 move second child to first child (5-element array of float) +0:162 'b' (5-element array of float) +0:162 'a' (5-element array of float) +0:165 Sequence +0:165 Sequence +0:165 move second child to first child (5-element array of float) +0:165 'b' (5-element array of float) +0:165 Constant: +0:165 1.000000 +0:165 2.000000 +0:165 3.000000 +0:165 4.000000 +0:165 5.000000 +0:167 Constant: +0:167 5 (const int) +0:? Sequence +0:171 Constant: +0:171 3 (const int) +0:172 Constant: +0:172 0.000000 +0:175 Constant: +0:175 0.000000 +0:178 Constant: +0:178 0.000000 +0:193 Sequence +0:193 move second child to first child (structure{float a, int b}) +0:193 'e' (structure{float a, int b}) +0:193 Constant: +0:193 1.200000 +0:193 2 (const int) +0:216 Sequence +0:216 Sequence +0:216 move second child to first child (5-element array of float) +0:216 'a' (5-element array of float) +0:216 Constant: +0:216 3.400000 +0:216 4.200000 +0:216 5.000000 +0:216 5.200000 +0:216 1.100000 +0:217 Sequence +0:217 move second child to first child (5-element array of float) +0:217 'b' (5-element array of float) +0:217 Constant: +0:217 3.400000 +0:217 4.200000 +0:217 5.000000 +0:217 5.200000 +0:217 1.100000 +0:218 Sequence +0:218 move second child to first child (5-element array of float) +0:218 'c' (5-element array of float) +0:218 'a' (5-element array of float) +0:219 Sequence +0:219 move second child to first child (5-element array of float) +0:219 'd' (5-element array of float) +0:219 'b' (5-element array of float) +0:? Sequence +0:223 Sequence +0:223 move second child to first child (float) +0:223 'ceiling' (const (read only) float) +0:223 Convert int to float (float) +0:223 add (int) +0:223 'a' (int) +0:223 'b' (int) +0:? Linker Objects +0:? 'a' (int) +0:? 'b' (int) +0:? 'c' (uint) +0:? 'd' (uint) +0:? 'e' (int) +0:? 'f' (uint) +0:? 'g' (int) +0:? 'h' (int) +0:? 'i' (int) +0:? 'j' (int) +0:? 'k' (int) +0:? 'l' (int) +0:? 'fa' (float) +0:? 'fb' (float) +0:? 'fc' (double) +0:? 'fd' (double) +0:? 'texcoord1' (2-component vector of float) +0:? 'texcoord2' (2-component vector of float) +0:? 'position' (3-component vector of float) +0:? 'myRGBA' (4-component vector of float) +0:? 'textureLookup' (2-component vector of int) +0:? 'less' (3-component vector of bool) +0:? 'mat2D' (2X2 matrix of float) +0:? 'optMatrix' (3X3 matrix of float) +0:? 'view' (4X4 matrix of float) +0:? 'projection' (4X4 matrix of float) +0:? 'm' (3X2 matrix of float) +0:? 'highPrecisionMVP' (4X4 matrix of double) +0:? 'dm' (2X4 matrix of double) +0:? 'lightVar' (structure{float intensity, 3-component vector of float position}) +0:? 'frequencies' (3-element array of float) +0:? 'lightPosition' (uniform 4-element array of 4-component vector of float) +0:? 'lights' (2-element array of structure{float intensity, 3-component vector of float position}) +0:? 'numLights' (const int) +0:? 2 (const int) +0:? 'normal' (smooth in 3-component vector of float) +0:? 'TexCoord' (centroid smooth in 2-component vector of float) +0:? 'Color' (invariant centroid smooth in 4-component vector of float) +0:? 'temperature' (noperspective in float) +0:? 'myColor' (flat in 3-component vector of float) +0:? 'myTexCoord' (centroid noperspective in 2-component vector of float) +0:? 'color' (uniform 3-component vector of float) +0:? 0.700000 +0:? 0.700000 +0:? 0.200000 +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) +0:? 'colors' (layout(location=2 ) out 3-element array of 4-component vector of float) +0:? 'gl_FragDepth' (gl_FragDepth float) +0:? 'gl_FragDepth' (gl_FragDepth float) +0:? 'anon@2' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) +0:? 'anon@2' (in block{in float gl_FogFragCoord, in 1-element array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor}) diff --git a/Test/baseResults/specExamples.vert.out b/Test/baseResults/specExamples.vert.out index 56ca851..95c4126 100644 --- a/Test/baseResults/specExamples.vert.out +++ b/Test/baseResults/specExamples.vert.out @@ -1,5 +1,5 @@ specExamples.vert -Warning, version 430 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 430 is not yet complete; most version-specific features are present, but some are missing. ERROR: 0:23: 'transforms' : redeclaration of array with size ERROR: 0:29: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) @@ -282,26 +282,26 @@ ERROR: node is still EOpNull! 0:194 0.000000 0:? Linker Objects 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:? '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 implicitly-sized 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{out 4-component vector of float var2, out 2-component vector of float var3, out 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{out 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 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) 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:? 'anon@3' (layout(row_major std140 ) uniform block{layout(row_major std140 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) 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 offset=4 ) 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, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) -0:? '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:? 'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 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) @@ -311,8 +311,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 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:? '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) @@ -325,4 +325,273 @@ Linked vertex stage: Shader version: 430 Requested GL_3DL_array_objects +ERROR: node is still EOpNull! +0:134 Function Definition: funcA(I21; (4-component vector of float) +0:134 Function Parameters: +0:134 'a' (in image2D) +0:136 Function Definition: funcB(I21; (4-component vector of float) +0:136 Function Parameters: +0:136 'a' (in image2D) +0:140 Function Definition: func(f1;f1;f1;f1; (float) +0:140 Function Parameters: +0:140 'e' (in float) +0:140 'f' (in float) +0:140 'g' (in float) +0:140 'h' (in float) +0:142 Sequence +0:142 Branch: Return with expression +0:142 add (float) +0:142 component-wise multiply (float) +0:142 'e' (in float) +0:142 'f' (in float) +0:142 component-wise multiply (float) +0:142 'g' (in float) +0:142 'h' (in float) +0:146 Function Definition: func2(f1;f1;f1;f1; (float) +0:146 Function Parameters: +0:146 'e' (in float) +0:146 'f' (in float) +0:146 'g' (in float) +0:146 'h' (in float) +0:148 Sequence +0:148 Sequence +0:148 move second child to first child (float) +0:148 'result' (float) +0:148 add (float) +0:148 component-wise multiply (float) +0:148 'e' (in float) +0:148 'f' (in float) +0:148 component-wise multiply (float) +0:148 'g' (in float) +0:148 'h' (in float) +0:150 Branch: Return with expression +0:150 'result' (float) +0:153 Function Definition: func3(f1;f1;f1; (float) +0:153 Function Parameters: +0:153 'i' (in float) +0:153 'j' (in float) +0:153 'k' (out float) +0:155 Sequence +0:155 move second child to first child (float) +0:155 'k' (out float) +0:155 add (float) +0:155 component-wise multiply (float) +0:155 'i' (in float) +0:155 'i' (in float) +0:155 'j' (in float) +0:158 Function Definition: main( (void) +0:158 Function Parameters: +0:160 Sequence +0:160 Sequence +0:160 move second child to first child (3-component vector of float) +0:160 'r' (3-component vector of float) +0:160 Construct vec3 (3-component vector of float) +0:160 component-wise multiply (4-component vector of float) +0:160 'a' (in 4-component vector of float) +0:160 'b' (in 4-component vector of float) +0:161 Sequence +0:161 move second child to first child (3-component vector of float) +0:161 's' (3-component vector of float) +0:161 Construct vec3 (3-component vector of float) +0:161 component-wise multiply (4-component vector of float) +0:161 'c' (in 4-component vector of float) +0:161 'd' (in 4-component vector of float) +0:162 move second child to first child (3-component vector of float) +0:162 vector swizzle (3-component vector of float) +0:162 'v' (smooth out 4-component vector of float) +0:162 Sequence +0:162 Constant: +0:162 0 (const int) +0:162 Constant: +0:162 1 (const int) +0:162 Constant: +0:162 2 (const int) +0:162 add (3-component vector of float) +0:162 'r' (3-component vector of float) +0:162 's' (3-component vector of float) +0:163 move second child to first child (float) +0:163 direct index (float) +0:163 'v' (smooth out 4-component vector of float) +0:163 Constant: +0:163 3 (const int) +0:163 add (float) +0:163 component-wise multiply (float) +0:163 direct index (float) +0:163 'a' (in 4-component vector of float) +0:163 Constant: +0:163 3 (const int) +0:163 direct index (float) +0:163 'b' (in 4-component vector of float) +0:163 Constant: +0:163 3 (const int) +0:163 component-wise multiply (float) +0:163 direct index (float) +0:163 'c' (in 4-component vector of float) +0:163 Constant: +0:163 3 (const int) +0:163 direct index (float) +0:163 'd' (in 4-component vector of float) +0:163 Constant: +0:163 3 (const int) +0:164 move second child to first child (float) +0:164 direct index (float) +0:164 'v' (smooth out 4-component vector of float) +0:164 Constant: +0:164 0 (const int) +0:164 Function Call: func(f1;f1;f1;f1; (float) +0:164 direct index (float) +0:164 'a' (in 4-component vector of float) +0:164 Constant: +0:164 0 (const int) +0:164 direct index (float) +0:164 'b' (in 4-component vector of float) +0:164 Constant: +0:164 0 (const int) +0:164 direct index (float) +0:164 'c' (in 4-component vector of float) +0:164 Constant: +0:164 0 (const int) +0:164 direct index (float) +0:164 'd' (in 4-component vector of float) +0:164 Constant: +0:164 0 (const int) +0:166 move second child to first child (float) +0:166 direct index (float) +0:166 'v' (smooth out 4-component vector of float) +0:166 Constant: +0:166 0 (const int) +0:166 Function Call: func2(f1;f1;f1;f1; (float) +0:166 direct index (float) +0:166 'a' (in 4-component vector of float) +0:166 Constant: +0:166 0 (const int) +0:166 direct index (float) +0:166 'b' (in 4-component vector of float) +0:166 Constant: +0:166 0 (const int) +0:166 direct index (float) +0:166 'c' (in 4-component vector of float) +0:166 Constant: +0:166 0 (const int) +0:166 direct index (float) +0:166 'd' (in 4-component vector of float) +0:166 Constant: +0:166 0 (const int) +0:167 Function Call: func3(f1;f1;f1; (float) +0:167 component-wise multiply (float) +0:167 direct index (float) +0:167 'a' (in 4-component vector of float) +0:167 Constant: +0:167 0 (const int) +0:167 direct index (float) +0:167 'b' (in 4-component vector of float) +0:167 Constant: +0:167 0 (const int) +0:167 component-wise multiply (float) +0:167 direct index (float) +0:167 'c' (in 4-component vector of float) +0:167 Constant: +0:167 0 (const int) +0:167 direct index (float) +0:167 'd' (in 4-component vector of float) +0:167 Constant: +0:167 0 (const int) +0:167 direct index (float) +0:167 'v' (smooth out 4-component vector of float) +0:167 Constant: +0:167 0 (const int) +0:169 Function Call: funcA(I21; (4-component vector of float) +0:169 'img1' (uniform image2D) +0:170 Function Call: funcB(I21; (4-component vector of float) +0:170 'img2' (coherent uniform image2D) +0:? Sequence +0:178 Sequence +0:178 move second child to first child (structure{float intensity, 3-component vector of float position}) +0:178 'lightVar' (structure{float intensity, 3-component vector of float position}) +0:178 Constant: +0:178 3.000000 +0:178 1.000000 +0:178 2.000000 +0:178 3.000000 +0:? Sequence +0:185 Sequence +0:185 move second child to first child (5-element array of float) +0:185 'a' (5-element array of float) +0:185 Construct float (5-element array of float) +0:185 'g' (float) +0:185 Constant: +0:185 1.000000 +0:185 'g' (float) +0:185 Constant: +0:185 2.300000 +0:185 'g' (float) +0:188 move second child to first child (3-element array of float) +0:188 'b' (3-element array of float) +0:188 Construct float (3-element array of float) +0:188 'g' (float) +0:188 add (float) +0:188 'g' (float) +0:188 Constant: +0:188 1.000000 +0:188 add (float) +0:188 'g' (float) +0:188 Constant: +0:188 2.000000 +0:191 Sequence +0:191 Sequence +0:191 move second child to first child (2-element array of 4-component vector of float) +0:191 'b' (2-element array of 4-component vector of float) +0:191 Constant: +0:191 1.000000 +0:191 1.000000 +0:191 1.000000 +0:191 1.000000 +0:191 1.000000 +0:191 1.000000 +0:191 1.000000 +0:191 1.000000 +0:192 Constant: +0:192 0.000000 +0:193 Constant: +0:193 0.000000 +0:194 Constant: +0:194 0.000000 +0:? Linker Objects +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 1-element 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{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{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 offset=0 ) uniform 4X4 matrix of float M1, layout(column_major std140 offset=64 ) uniform 4X4 matrix of float M2, layout(row_major std140 offset=128 ) 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 offset=4 ) 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, out 1-element 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 1-element 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 1-element 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 1-element 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) +0:? 'Color5' (smooth out 3-component vector of float) +0:? 'a' (in 4-component vector of float) +0:? 'b' (in 4-component vector of float) +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 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) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/structAssignment.frag.out b/Test/baseResults/structAssignment.frag.out index 32db99d..5792b49 100644 --- a/Test/baseResults/structAssignment.frag.out +++ b/Test/baseResults/structAssignment.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/structAssignment.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -55,4 +54,50 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:29 Function Definition: main( (void) +0:29 Function Parameters: +0:? Sequence +0:33 Test condition and select (void) +0:33 Condition +0:33 Compare Greater Than (bool) +0:33 i: direct index for structure (int) +0:33 s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1}) +0:33 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 0 (const int) +0:33 true case +0:34 move second child to first child (structure{int i, float f, structure{int i, float f} s1_1}) +0:34 'locals2' (structure{int i, float f, structure{int i, float f} s1_1}) +0:34 s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1}) +0:34 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:34 Constant: +0:34 0 (const int) +0:33 false case +0:36 move second child to first child (structure{int i, float f, structure{int i, float f} s1_1}) +0:36 'locals2' (structure{int i, float f, structure{int i, float f} s1_1}) +0:36 'foo2' (uniform structure{int i, float f, structure{int i, float f} s1_1}) +0:38 move second child to first child (4-component vector of float) +0:38 'gl_FragColor' (fragColor 4-component vector of float) +0:38 vector-scale (4-component vector of float) +0:38 f: direct index for structure (float) +0:38 s1_1: direct index for structure (structure{int i, float f}) +0:38 'locals2' (structure{int i, float f, structure{int i, float f} s1_1}) +0:38 Constant: +0:38 2 (const int) +0:38 Constant: +0:38 1 (const int) +0:38 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:38 'sampler' (uniform sampler2D) +0:38 'coord' (smooth in 2-component vector of float) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) +0:? 'foo' (uniform structure{int i, float f}) +0:? 'foo2' (uniform structure{int i, float f, structure{int i, float f} s1_1}) +0:? 'foo3' (uniform structure{structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) diff --git a/Test/baseResults/structDeref.frag.out b/Test/baseResults/structDeref.frag.out index 23890a1..4009ed9 100644 --- a/Test/baseResults/structDeref.frag.out +++ b/Test/baseResults/structDeref.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/structDeref.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:4: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -176,4 +175,171 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:41 Function Definition: main( (void) +0:41 Function Parameters: +0:? Sequence +0:51 Test condition and select (void) +0:51 Condition +0:51 Compare Greater Than (bool) +0:51 i: direct index for structure (int) +0:51 direct index (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:51 s2_1: direct index for structure (12-element array of structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:51 'foo3' (uniform structure{12-element array of structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1} s2_1, int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:51 Constant: +0:51 0 (const int) +0:51 Constant: +0:51 9 (const int) +0:51 Constant: +0:51 0 (const int) +0:51 Constant: +0:51 0 (const int) +0:51 true case +0:52 Sequence +0:52 move second child to first child (float) +0:52 f: direct index for structure (float) +0:52 'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:52 Constant: +0:52 1 (const int) +0:52 Constant: +0:52 1.000000 +0:53 move second child to first child (structure{int i, float f, structure{int i} s0_1}) +0:53 s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1}) +0:53 'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:53 Constant: +0:53 2 (const int) +0:53 Constant: +0:53 0 (const int) +0:53 1.000000 +0:53 0 (const int) +0:54 move second child to first child (6-element array of float) +0:54 'fArray' (6-element array of float) +0:54 Constant: +0:54 0.000000 +0:54 0.000000 +0:54 0.000000 +0:54 0.000000 +0:54 0.000000 +0:54 0.000000 +0:55 move second child to first child (structure{int i, float f, structure{int i} s0_1}) +0:55 direct index (structure{int i, float f, structure{int i} s0_1}) +0:55 'locals1Array' (10-element array of structure{int i, float f, structure{int i} s0_1}) +0:55 Constant: +0:55 6 (const int) +0:55 'foo1' (uniform structure{int i, float f, structure{int i} s0_1}) +0:56 move second child to first child (structure{int i}) +0:56 'locals0' (structure{int i}) +0:56 Constant: +0:56 0 (const int) +0:57 move second child to first child (structure{structure{int i} s0_0}) +0:57 'locals00' (structure{structure{int i} s0_0}) +0:57 Constant: +0:57 0 (const int) +0:51 false case +0:59 Sequence +0:59 move second child to first child (float) +0:59 f: direct index for structure (float) +0:59 'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:59 Constant: +0:59 1 (const int) +0:59 direct index (float) +0:59 'coord' (smooth in 2-component vector of float) +0:59 Constant: +0:59 0 (const int) +0:60 move second child to first child (structure{int i, float f, structure{int i} s0_1}) +0:60 s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1}) +0:60 'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:60 Constant: +0:60 2 (const int) +0:60 Construct structure (structure{int i, float f, structure{int i} s0_1}) +0:60 Constant: +0:60 1 (const int) +0:60 direct index (float) +0:60 'coord' (smooth in 2-component vector of float) +0:60 Constant: +0:60 1 (const int) +0:60 'foo0' (uniform structure{int i}) +0:61 move second child to first child (6-element array of float) +0:61 'fArray' (6-element array of float) +0:61 Constant: +0:61 0.000000 +0:61 1.000000 +0:61 2.000000 +0:61 3.000000 +0:61 4.000000 +0:61 5.000000 +0:62 move second child to first child (structure{int i, float f, structure{int i} s0_1}) +0:62 direct index (structure{int i, float f, structure{int i} s0_1}) +0:62 'locals1Array' (10-element array of structure{int i, float f, structure{int i} s0_1}) +0:62 Constant: +0:62 6 (const int) +0:62 s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1}) +0:62 'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:62 Constant: +0:62 2 (const int) +0:63 move second child to first child (structure{int i}) +0:63 'locals0' (structure{int i}) +0:63 s0_1: direct index for structure (structure{int i}) +0:63 'foo1' (uniform structure{int i, float f, structure{int i} s0_1}) +0:63 Constant: +0:63 2 (const int) +0:64 move second child to first child (structure{structure{int i} s0_0}) +0:64 'locals00' (structure{structure{int i} s0_0}) +0:64 'foo00' (uniform structure{structure{int i} s0_0}) +0:67 Test condition and select (void) +0:67 Condition +0:67 Compare Greater Than (bool) +0:67 i: direct index for structure (int) +0:67 'locals0' (structure{int i}) +0:67 Constant: +0:67 0 (const int) +0:67 Constant: +0:67 5 (const int) +0:67 true case +0:68 move second child to first child (structure{int i}) +0:68 'locals0' (structure{int i}) +0:68 s0_0: direct index for structure (structure{int i}) +0:68 'locals00' (structure{structure{int i} s0_0}) +0:68 Constant: +0:68 0 (const int) +0:70 move second child to first child (4-component vector of float) +0:70 'gl_FragColor' (fragColor 4-component vector of float) +0:70 vector-scale (4-component vector of float) +0:70 add (float) +0:70 add (float) +0:70 add (float) +0:70 Convert int to float (float) +0:70 i: direct index for structure (int) +0:70 'locals0' (structure{int i}) +0:70 Constant: +0:70 0 (const int) +0:70 f: direct index for structure (float) +0:70 direct index (structure{int i, float f, structure{int i} s0_1}) +0:70 'locals1Array' (10-element array of structure{int i, float f, structure{int i} s0_1}) +0:70 Constant: +0:70 6 (const int) +0:70 Constant: +0:70 1 (const int) +0:70 direct index (float) +0:70 'fArray' (6-element array of float) +0:70 Constant: +0:70 3 (const int) +0:70 f: direct index for structure (float) +0:70 s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1}) +0:70 'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:70 Constant: +0:70 2 (const int) +0:70 Constant: +0:70 1 (const int) +0:70 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:70 'sampler' (uniform sampler2D) +0:70 'coord' (smooth in 2-component vector of float) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) +0:? 'foo0' (uniform structure{int i}) +0:? 'foo1' (uniform structure{int i, float f, structure{int i} s0_1}) +0:? 'foo2' (uniform structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:? 'foo3' (uniform structure{12-element array of structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1} s2_1, int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1}) +0:? 'foo00' (uniform structure{structure{int i} s0_0}) diff --git a/Test/baseResults/structure.frag.out b/Test/baseResults/structure.frag.out index 90650a5..1b3ec6e 100644 --- a/Test/baseResults/structure.frag.out +++ b/Test/baseResults/structure.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/structure.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -86,4 +85,81 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:20 Function Definition: main( (void) +0:20 Function Parameters: +0:22 Sequence +0:22 Sequence +0:22 move second child to first child (float) +0:22 'scale' (float) +0:22 Constant: +0:22 0.000000 +0:24 Test condition and select (void) +0:24 Condition +0:24 Compare Greater Than (bool) +0:24 direct index (int) +0:24 i: direct index for structure (5-element array of int) +0:24 direct index (structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) +0:24 'foo2' (uniform 5-element array of structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) +0:24 Constant: +0:24 3 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 Constant: +0:24 4 (const int) +0:24 Constant: +0:24 0 (const int) +0:24 true case +0:25 move second child to first child (float) +0:25 'scale' (float) +0:25 direct index (float) +0:25 direct index (4-component vector of float) +0:25 color: direct index for structure (5-element array of 4-component vector of float) +0:25 direct index (structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color}) +0:25 s1_1: direct index for structure (7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color}) +0:25 direct index (structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) +0:25 'foo2' (uniform 5-element array of structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) +0:25 Constant: +0:25 3 (const int) +0:25 Constant: +0:25 2 (const int) +0:25 Constant: +0:25 2 (const int) +0:25 Constant: +0:25 2 (const int) +0:25 Constant: +0:25 3 (const int) +0:25 Constant: +0:25 0 (const int) +0:24 false case +0:27 move second child to first child (float) +0:27 'scale' (float) +0:27 direct index (float) +0:27 f: direct index for structure (4-element array of float) +0:27 direct index (structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color}) +0:27 s1_1: direct index for structure (7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color}) +0:27 direct index (structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) +0:27 'foo2' (uniform 5-element array of structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) +0:27 Constant: +0:27 3 (const int) +0:27 Constant: +0:27 2 (const int) +0:27 Constant: +0:27 2 (const int) +0:27 Constant: +0:27 1 (const int) +0:27 Constant: +0:27 3 (const int) +0:29 move second child to first child (4-component vector of float) +0:29 'gl_FragColor' (fragColor 4-component vector of float) +0:29 vector-scale (4-component vector of float) +0:29 'scale' (float) +0:29 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:29 'sampler' (uniform sampler2D) +0:29 'coord' (smooth in 2-component vector of float) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) +0:? 'foo' (uniform structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color}) +0:? 'foo2' (uniform 5-element array of structure{5-element array of int i, float f, 7-element array of structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color} s1_1}) diff --git a/Test/baseResults/switch.frag.out b/Test/baseResults/switch.frag.out index 0f0da26..5061aef 100644 --- a/Test/baseResults/switch.frag.out +++ b/Test/baseResults/switch.frag.out @@ -339,4 +339,316 @@ Linked fragment stage: Shader version: 300 +ERROR: node is still EOpNull! +0:6 Function Definition: main( (void) +0:6 Function Parameters: +0:? Sequence +0:11 'f' (highp float) +0:14 'a' (2-element array of mediump int) +0:17 'c' (uniform mediump int) +0:21 'c' (uniform mediump int) +0:26 switch +0:26 condition +0:26 'c' (uniform mediump int) +0:26 body +0:26 Sequence +0:28 Sequence +0:28 move second child to first child (highp float) +0:28 'f' (highp float) +0:28 sine (highp float) +0:28 'x' (smooth in highp float) +0:29 case: with expression +0:29 Constant: +0:29 2 (const int) +0:? Sequence +0:30 move second child to first child (highp float) +0:30 'f' (highp float) +0:30 cosine (highp float) +0:30 'x' (smooth in highp float) +0:31 Branch: Break +0:34 switch +0:34 condition +0:34 'c' (uniform mediump int) +0:34 body +0:34 Sequence +0:35 default: +0:? Sequence +0:36 Branch: Break +0:37 case: with expression +0:37 Constant: +0:37 1 (const int) +0:? Sequence +0:38 move second child to first child (highp float) +0:38 'f' (highp float) +0:38 sine (highp float) +0:38 'x' (smooth in highp float) +0:39 Branch: Break +0:40 case: with expression +0:40 Constant: +0:40 2 (const int) +0:? Sequence +0:41 move second child to first child (highp float) +0:41 'f' (highp float) +0:41 cosine (highp float) +0:41 'x' (smooth in highp float) +0:42 Branch: Break +0:43 default: +0:? Sequence +0:44 move second child to first child (highp float) +0:44 'f' (highp float) +0:44 tangent (highp float) +0:44 'x' (smooth in highp float) +0:47 switch +0:47 condition +0:47 'c' (uniform mediump int) +0:47 body +0:47 Sequence +0:48 case: with expression +0:48 Constant: +0:48 1 (const int) +0:? Sequence +0:49 move second child to first child (highp float) +0:49 'f' (highp float) +0:49 sine (highp float) +0:49 'x' (smooth in highp float) +0:50 Branch: Break +0:51 case: with expression +0:51 Constant: +0:51 2 (const int) +0:? Sequence +0:52 switch +0:52 condition +0:52 'd' (uniform mediump int) +0:52 body +0:52 Sequence +0:53 case: with expression +0:53 Constant: +0:53 1 (const int) +0:? Sequence +0:54 move second child to first child (highp float) +0:54 'f' (highp float) +0:54 component-wise multiply (highp float) +0:54 component-wise multiply (highp float) +0:54 'x' (smooth in highp float) +0:54 'x' (smooth in highp float) +0:54 'x' (smooth in highp float) +0:55 Branch: Break +0:56 case: with expression +0:56 Constant: +0:56 2 (const int) +0:? Sequence +0:57 move second child to first child (highp float) +0:57 'f' (highp float) +0:57 component-wise multiply (highp float) +0:57 'x' (smooth in highp float) +0:57 'x' (smooth in highp float) +0:58 Branch: Break +0:60 Branch: Break +0:61 default: +0:? Sequence +0:62 move second child to first child (highp float) +0:62 'f' (highp float) +0:62 tangent (highp float) +0:62 'x' (smooth in highp float) +0:63 case: with expression +0:63 Constant: +0:63 1 (const int) +0:? Sequence +0:64 Branch: Break +0:65 case: with expression +0:65 Constant: +0:65 3.800000 +0:? Sequence +0:66 Branch: Break +0:67 case: with expression +0:67 'c' (uniform mediump int) +0:? Sequence +0:68 Branch: Break +0:71 switch +0:71 condition +0:71 'c' (uniform mediump int) +0:71 body +0:71 Sequence +0:72 case: with expression +0:72 Constant: +0:72 1 (const int) +0:? Sequence +0:73 move second child to first child (highp float) +0:73 'f' (highp float) +0:73 sine (highp float) +0:73 'x' (smooth in highp float) +0:74 Branch: Break +0:75 case: with expression +0:75 Constant: +0:75 2 (const int) +0:? Sequence +0:76 switch +0:76 condition +0:76 'd' (uniform mediump int) +0:76 body +0:76 Sequence +0:77 case: with expression +0:77 Constant: +0:77 1 (const int) +0:? Sequence +0:78 move second child to first child (highp float) +0:78 'f' (highp float) +0:78 component-wise multiply (highp float) +0:78 component-wise multiply (highp float) +0:78 'x' (smooth in highp float) +0:78 'x' (smooth in highp float) +0:78 'x' (smooth in highp float) +0:79 Branch: Break +0:80 case: with expression +0:80 Constant: +0:80 2 (const int) +0:? Sequence +0:81 move second child to first child (highp float) +0:81 'f' (highp float) +0:81 component-wise multiply (highp float) +0:81 'x' (smooth in highp float) +0:81 'x' (smooth in highp float) +0:82 Branch: Break +0:84 Branch: Break +0:85 default: +0:? Sequence +0:86 move second child to first child (highp float) +0:86 'f' (highp float) +0:86 tangent (highp float) +0:86 'x' (smooth in highp float) +0:89 Branch: Break +0:91 switch +0:91 condition +0:91 'c' (uniform mediump int) +0:91 body +0:91 Sequence +0:92 case: with expression +0:92 Constant: +0:92 1 (const int) +0:? Sequence +0:93 move second child to first child (highp float) +0:93 'f' (highp float) +0:93 sine (highp float) +0:93 'x' (smooth in highp float) +0:94 Branch: Break +0:95 case: with expression +0:95 Constant: +0:95 2 (const int) +0:? Sequence +0:96 switch +0:96 condition +0:96 'd' (uniform mediump int) +0:96 body +0:96 Sequence +0:97 case: with expression +0:97 Constant: +0:97 1 (const int) +0:? Sequence +0:? Sequence +0:100 Branch: Break +0:102 move second child to first child (highp float) +0:102 'f' (highp float) +0:102 component-wise multiply (highp float) +0:102 component-wise multiply (highp float) +0:102 'x' (smooth in highp float) +0:102 'x' (smooth in highp float) +0:102 'x' (smooth in highp float) +0:103 Test condition and select (void) +0:103 Condition +0:103 Compare Less Than (bool) +0:103 'c' (uniform mediump int) +0:103 'd' (uniform mediump int) +0:103 true case +0:? Sequence +0:105 move second child to first child (highp float) +0:105 'f' (highp float) +0:105 component-wise multiply (highp float) +0:105 'x' (smooth in highp float) +0:105 'x' (smooth in highp float) +0:107 Test condition and select (void) +0:107 Condition +0:107 Compare Less Than (bool) +0:107 'd' (uniform mediump int) +0:107 'c' (uniform mediump int) +0:107 true case is null +0:109 Branch: Break +0:111 Branch: Break +0:112 case: with expression +0:112 Constant: +0:112 4 (const int) +0:? Sequence +0:113 move second child to first child (highp float) +0:113 'f' (highp float) +0:113 tangent (highp float) +0:113 'x' (smooth in highp float) +0:114 Test condition and select (void) +0:114 Condition +0:114 Compare Less Than (bool) +0:114 'f' (highp float) +0:114 Constant: +0:114 0.000000 +0:114 true case is null +0:116 Branch: Break +0:122 switch +0:122 condition +0:122 Constant: +0:122 0 (const int) +0:122 body +0:122 Sequence +0:123 default: +0:? Sequence +0:124 Sequence +0:124 move second child to first child (mediump int) +0:124 'onlyInSwitch' (mediump int) +0:124 Constant: +0:124 0 (const int) +0:126 'onlyInSwitch' (float) +0:128 Constant: +0:128 0 (const int) +0:133 switch +0:133 condition +0:133 'c' (uniform mediump int) +0:133 body +0:133 Sequence +0:134 case: with expression +0:134 Constant: +0:134 1 (const int) +0:? Sequence +0:? Sequence +0:137 Branch: Break +0:139 case: with expression +0:139 Constant: +0:139 2 (const int) +0:? Sequence +0:140 'nestedX' (float) +0:141 Branch: Break +0:142 case: with expression +0:142 Constant: +0:142 3 (const int) +0:? Sequence +0:144 Branch: Break +0:145 case: with expression +0:145 Constant: +0:145 4 (const int) +0:? Sequence +0:146 Sequence +0:146 move second child to first child (mediump int) +0:146 'linearY' (mediump int) +0:146 'linearZ' (mediump int) +0:147 Branch: Break +0:148 case: with expression +0:148 Constant: +0:148 5 (const int) +0:? Sequence +0:150 Branch: Break +0:151 case: with expression +0:151 Constant: +0:151 6 (const int) +0:? Sequence +0:152 Constant: +0:152 4 (const int) +0:? Linker Objects +0:? 'c' (uniform mediump int) +0:? 'd' (uniform mediump int) +0:? 'x' (smooth in highp float) diff --git a/Test/baseResults/swizzle.frag.out b/Test/baseResults/swizzle.frag.out index 70806a6..1a53c9a 100644 --- a/Test/baseResults/swizzle.frag.out +++ b/Test/baseResults/swizzle.frag.out @@ -214,4 +214,211 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:9 Function Definition: main( (void) +0:9 Function Parameters: +0:11 Sequence +0:11 Sequence +0:11 move second child to first child (float) +0:11 'blendscale' (float) +0:11 Constant: +0:11 1.789000 +0:13 Sequence +0:13 move second child to first child (4-component vector of float) +0:13 'w' (4-component vector of float) +0:13 'u' (uniform 4-component vector of float) +0:15 Sequence +0:15 move second child to first child (4-component vector of float) +0:15 'w_dep' (4-component vector of float) +0:15 'u' (uniform 4-component vector of float) +0:16 Sequence +0:16 move second child to first child (4-component vector of float) +0:16 'w_reorder' (4-component vector of float) +0:16 'u' (uniform 4-component vector of float) +0:17 Sequence +0:17 move second child to first child (4-component vector of float) +0:17 'w2' (4-component vector of float) +0:17 'u' (uniform 4-component vector of float) +0:18 Sequence +0:18 move second child to first child (4-component vector of float) +0:18 'w_flow' (4-component vector of float) +0:18 'u' (uniform 4-component vector of float) +0:20 move second child to first child (float) +0:20 direct index (float) +0:20 'w_reorder' (4-component vector of float) +0:20 Constant: +0:20 2 (const int) +0:20 'blendscale' (float) +0:22 move second child to first child (2-component vector of float) +0:22 vector swizzle (2-component vector of float) +0:22 'w' (4-component vector of float) +0:22 Sequence +0:22 Constant: +0:22 3 (const int) +0:22 Constant: +0:22 1 (const int) +0:22 't' (smooth in 2-component vector of float) +0:24 move second child to first child (float) +0:24 direct index (float) +0:24 'w_reorder' (4-component vector of float) +0:24 Constant: +0:24 0 (const int) +0:24 'blendscale' (float) +0:26 move second child to first child (4-component vector of float) +0:26 vector swizzle (4-component vector of float) +0:26 'w2' (4-component vector of float) +0:26 Sequence +0:26 Constant: +0:26 0 (const int) +0:26 Constant: +0:26 1 (const int) +0:26 Constant: +0:26 2 (const int) +0:26 Constant: +0:26 3 (const int) +0:26 vector swizzle (4-component vector of float) +0:26 'u' (uniform 4-component vector of float) +0:26 Sequence +0:26 Constant: +0:26 2 (const int) +0:26 Constant: +0:26 3 (const int) +0:26 Constant: +0:26 0 (const int) +0:26 Constant: +0:26 1 (const int) +0:28 move second child to first child (float) +0:28 direct index (float) +0:28 'w_reorder' (4-component vector of float) +0:28 Constant: +0:28 1 (const int) +0:28 'blendscale' (float) +0:30 move second child to first child (2-component vector of float) +0:30 vector swizzle (2-component vector of float) +0:30 'w_dep' (4-component vector of float) +0:30 Sequence +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 1 (const int) +0:30 vector swizzle (2-component vector of float) +0:30 'w2' (4-component vector of float) +0:30 Sequence +0:30 Constant: +0:30 0 (const int) +0:30 Constant: +0:30 2 (const int) +0:31 move second child to first child (2-component vector of float) +0:31 vector swizzle (2-component vector of float) +0:31 'w_dep' (4-component vector of float) +0:31 Sequence +0:31 Constant: +0:31 2 (const int) +0:31 Constant: +0:31 3 (const int) +0:31 't' (smooth in 2-component vector of float) +0:33 move second child to first child (2-component vector of float) +0:33 vector swizzle (2-component vector of float) +0:33 'w_undef' (4-component vector of float) +0:33 Sequence +0:33 Constant: +0:33 0 (const int) +0:33 Constant: +0:33 1 (const int) +0:33 vector swizzle (2-component vector of float) +0:33 'u' (uniform 4-component vector of float) +0:33 Sequence +0:33 Constant: +0:33 2 (const int) +0:33 Constant: +0:33 3 (const int) +0:35 Test condition and select (void) +0:35 Condition +0:35 'p' (uniform bool) +0:35 true case +0:36 move second child to first child (float) +0:36 direct index (float) +0:36 'w_flow' (4-component vector of float) +0:36 Constant: +0:36 0 (const int) +0:36 direct index (float) +0:36 't' (smooth in 2-component vector of float) +0:36 Constant: +0:36 0 (const int) +0:35 false case +0:38 move second child to first child (float) +0:38 direct index (float) +0:38 'w_flow' (4-component vector of float) +0:38 Constant: +0:38 0 (const int) +0:38 direct index (float) +0:38 't' (smooth in 2-component vector of float) +0:38 Constant: +0:38 1 (const int) +0:40 move second child to first child (4-component vector of float) +0:40 'gl_FragColor' (fragColor 4-component vector of float) +0:40 mix (4-component vector of float) +0:40 'w_reorder' (4-component vector of float) +0:40 'w_undef' (4-component vector of float) +0:40 component-wise multiply (4-component vector of float) +0:40 component-wise multiply (4-component vector of float) +0:40 component-wise multiply (4-component vector of float) +0:40 'w' (4-component vector of float) +0:40 'w2' (4-component vector of float) +0:40 'w_dep' (4-component vector of float) +0:40 'w_flow' (4-component vector of float) +0:42 Sequence +0:42 move second child to first child (2-component vector of float) +0:42 'c' (2-component vector of float) +0:42 't' (smooth in 2-component vector of float) +0:43 Sequence +0:43 move second child to first child (4-component vector of float) +0:43 'rep' (4-component vector of float) +0:43 Constant: +0:43 0.000000 +0:43 0.000000 +0:43 0.000000 +0:43 1.000000 +0:45 Test condition and select (void) +0:45 Condition +0:45 Compare Less Than (bool) +0:45 direct index (float) +0:45 'c' (2-component vector of float) +0:45 Constant: +0:45 0 (const int) +0:45 Constant: +0:45 0.000000 +0:45 true case +0:46 multiply second child into first child (float) +0:46 direct index (float) +0:46 'c' (2-component vector of float) +0:46 Constant: +0:46 0 (const int) +0:46 Constant: +0:46 -1.000000 +0:48 Test condition and select (void) +0:48 Condition +0:48 Compare Less Than or Equal (bool) +0:48 direct index (float) +0:48 'c' (2-component vector of float) +0:48 Constant: +0:48 0 (const int) +0:48 Constant: +0:48 1.000000 +0:48 true case +0:49 move second child to first child (float) +0:49 direct index (float) +0:49 'rep' (4-component vector of float) +0:49 Constant: +0:49 0 (const int) +0:49 Constant: +0:49 3.400000 +0:51 add second child into first child (4-component vector of float) +0:51 'gl_FragColor' (fragColor 4-component vector of float) +0:51 'rep' (4-component vector of float) +0:? Linker Objects +0:? 'blend' (uniform float) +0:? 'u' (uniform 4-component vector of float) +0:? 'p' (uniform bool) +0:? 't' (smooth in 2-component vector of float) diff --git a/Test/baseResults/syntaxError.frag.out b/Test/baseResults/syntaxError.frag.out index 7bdd729..8648f27 100644 --- a/Test/baseResults/syntaxError.frag.out +++ b/Test/baseResults/syntaxError.frag.out @@ -16,4 +16,9 @@ Linked fragment stage: Shader version: 120 +ERROR: node is still EOpNull! +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) diff --git a/Test/baseResults/test.frag.out b/Test/baseResults/test.frag.out index 9b7c57a..c06adc0 100644 --- a/Test/baseResults/test.frag.out +++ b/Test/baseResults/test.frag.out @@ -60,4 +60,57 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:13 Function Definition: main( (void) +0:13 Function Parameters: +0:15 Sequence +0:15 Sequence +0:15 move second child to first child (float) +0:15 'blendscale' (float) +0:15 Constant: +0:15 1.789000 +0:17 Sequence +0:17 move second child to first child (4-component vector of float) +0:17 'v' (4-component vector of float) +0:17 vector swizzle (4-component vector of float) +0:17 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:17 'texSampler2D' (uniform sampler2D) +0:17 divide (2-component vector of float) +0:17 add (2-component vector of float) +0:17 't' (smooth in 2-component vector of float) +0:17 'scale' (uniform 2-component vector of float) +0:17 'scale' (uniform 2-component vector of float) +0:17 Sequence +0:17 Constant: +0:17 3 (const int) +0:17 Constant: +0:17 2 (const int) +0:17 Constant: +0:17 1 (const int) +0:17 Constant: +0:17 0 (const int) +0:19 Sequence +0:19 move second child to first child (4-component vector of float) +0:19 'w' (4-component vector of float) +0:19 add (4-component vector of float) +0:19 Function Call: texture3D(s31;vf3; (4-component vector of float) +0:19 'texSampler3D' (uniform sampler3D) +0:19 'coords' (smooth in 3-component vector of float) +0:19 'v' (4-component vector of float) +0:21 move second child to first child (4-component vector of float) +0:21 'gl_FragColor' (fragColor 4-component vector of float) +0:21 mix (4-component vector of float) +0:21 'w' (4-component vector of float) +0:21 'u' (uniform 4-component vector of float) +0:21 component-wise multiply (float) +0:21 'blend' (uniform float) +0:21 'blendscale' (float) +0:? Linker Objects +0:? 'texSampler2D' (uniform sampler2D) +0:? 'texSampler3D' (uniform sampler3D) +0:? 'blend' (uniform float) +0:? 'scale' (uniform 2-component vector of float) +0:? 'u' (uniform 4-component vector of float) +0:? 't' (smooth in 2-component vector of float) +0:? 'coords' (smooth in 3-component vector of float) diff --git a/Test/baseResults/texture.frag.out b/Test/baseResults/texture.frag.out index d4a44f1..f7d607f 100644 --- a/Test/baseResults/texture.frag.out +++ b/Test/baseResults/texture.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/texture.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:14: varying deprecated in version 130; may be removed in future release WARNING: 0:15: varying deprecated in version 130; may be removed in future release @@ -286,4 +285,280 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:17 Function Definition: main( (void) +0:17 Function Parameters: +0:19 Sequence +0:19 Sequence +0:19 move second child to first child (float) +0:19 'blendscale' (float) +0:19 Constant: +0:19 1.789000 +0:20 Sequence +0:20 move second child to first child (float) +0:20 'bias' (float) +0:20 Constant: +0:20 2.000000 +0:21 Sequence +0:21 move second child to first child (float) +0:21 'lod' (float) +0:21 Constant: +0:21 3.000000 +0:22 Sequence +0:22 move second child to first child (float) +0:22 'proj' (float) +0:22 Constant: +0:22 2.000000 +0:23 Sequence +0:23 move second child to first child (float) +0:23 'coords1D' (float) +0:23 Constant: +0:23 1.789000 +0:24 Sequence +0:24 move second child to first child (3-component vector of float) +0:24 'coords3D' (3-component vector of float) +0:24 Constant: +0:24 1.789000 +0:24 2.718000 +0:24 3.453000 +0:25 Sequence +0:25 move second child to first child (4-component vector of float) +0:25 'coords4D' (4-component vector of float) +0:25 Constant: +0:25 1.789000 +0:25 2.718000 +0:25 3.453000 +0:25 2.000000 +0:26 Sequence +0:26 move second child to first child (4-component vector of float) +0:26 'color' (4-component vector of float) +0:26 Constant: +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:26 0.000000 +0:28 add second child into first child (4-component vector of float) +0:28 'color' (4-component vector of float) +0:28 Function Call: texture1D(s11;f1; (4-component vector of float) +0:28 'texSampler1D' (uniform sampler1D) +0:28 'coords1D' (float) +0:29 add second child into first child (4-component vector of float) +0:29 'color' (4-component vector of float) +0:29 Function Call: texture1D(s11;f1;f1; (4-component vector of float) +0:29 'texSampler1D' (uniform sampler1D) +0:29 'coords1D' (float) +0:29 'bias' (float) +0:30 add second child into first child (4-component vector of float) +0:30 'color' (4-component vector of float) +0:30 Function Call: texture1DProj(s11;vf2; (4-component vector of float) +0:30 'texSampler1D' (uniform sampler1D) +0:30 'coords2D' (smooth in 2-component vector of float) +0:31 add second child into first child (4-component vector of float) +0:31 'color' (4-component vector of float) +0:31 Function Call: texture1DProj(s11;vf4; (4-component vector of float) +0:31 'texSampler1D' (uniform sampler1D) +0:31 'coords4D' (4-component vector of float) +0:32 add second child into first child (4-component vector of float) +0:32 'color' (4-component vector of float) +0:32 Function Call: texture1DProj(s11;vf2;f1; (4-component vector of float) +0:32 'texSampler1D' (uniform sampler1D) +0:32 'coords2D' (smooth in 2-component vector of float) +0:32 'bias' (float) +0:33 add second child into first child (4-component vector of float) +0:33 'color' (4-component vector of float) +0:33 Function Call: texture1DProj(s11;vf4;f1; (4-component vector of float) +0:33 'texSampler1D' (uniform sampler1D) +0:33 'coords4D' (4-component vector of float) +0:33 'bias' (float) +0:35 add second child into first child (4-component vector of float) +0:35 'color' (4-component vector of float) +0:35 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:35 'texSampler2D' (uniform sampler2D) +0:35 'coords2D' (smooth in 2-component vector of float) +0:36 add second child into first child (4-component vector of float) +0:36 'color' (4-component vector of float) +0:36 Function Call: texture2D(s21;vf2;f1; (4-component vector of float) +0:36 'texSampler2D' (uniform sampler2D) +0:36 'coords2D' (smooth in 2-component vector of float) +0:36 'bias' (float) +0:37 add second child into first child (4-component vector of float) +0:37 'color' (4-component vector of float) +0:37 Function Call: texture2DProj(s21;vf3; (4-component vector of float) +0:37 'texSampler2D' (uniform sampler2D) +0:37 'coords3D' (3-component vector of float) +0:38 add second child into first child (4-component vector of float) +0:38 'color' (4-component vector of float) +0:38 Function Call: texture2DProj(s21;vf4;f1; (4-component vector of float) +0:38 'texSampler2D' (uniform sampler2D) +0:38 'coords4D' (4-component vector of float) +0:38 'bias' (float) +0:40 add second child into first child (4-component vector of float) +0:40 'color' (4-component vector of float) +0:40 Function Call: texture3D(s31;vf3; (4-component vector of float) +0:40 'texSampler3D' (uniform sampler3D) +0:40 'coords3D' (3-component vector of float) +0:41 add second child into first child (4-component vector of float) +0:41 'color' (4-component vector of float) +0:41 Function Call: texture3D(s31;vf3;f1; (4-component vector of float) +0:41 'texSampler3D' (uniform sampler3D) +0:41 'coords3D' (3-component vector of float) +0:41 'bias' (float) +0:42 add second child into first child (4-component vector of float) +0:42 'color' (4-component vector of float) +0:42 Function Call: texture3DProj(s31;vf4; (4-component vector of float) +0:42 'texSampler3D' (uniform sampler3D) +0:42 'coords4D' (4-component vector of float) +0:43 add second child into first child (4-component vector of float) +0:43 'color' (4-component vector of float) +0:43 Function Call: texture3DProj(s31;vf4;f1; (4-component vector of float) +0:43 'texSampler3D' (uniform sampler3D) +0:43 'coords4D' (4-component vector of float) +0:43 'bias' (float) +0:45 add second child into first child (4-component vector of float) +0:45 'color' (4-component vector of float) +0:45 Function Call: textureCube(sC1;vf3; (4-component vector of float) +0:45 'texSamplerCube' (uniform samplerCube) +0:45 'coords3D' (3-component vector of float) +0:46 add second child into first child (4-component vector of float) +0:46 'color' (4-component vector of float) +0:46 Function Call: textureCube(sC1;vf3;f1; (4-component vector of float) +0:46 'texSamplerCube' (uniform samplerCube) +0:46 'coords3D' (3-component vector of float) +0:46 'bias' (float) +0:48 add second child into first child (4-component vector of float) +0:48 'color' (4-component vector of float) +0:48 Function Call: shadow1D(sS11;vf3; (4-component vector of float) +0:48 'shadowSampler1D' (uniform sampler1DShadow) +0:48 'coords3D' (3-component vector of float) +0:49 add second child into first child (4-component vector of float) +0:49 'color' (4-component vector of float) +0:49 Function Call: shadow1D(sS11;vf3;f1; (4-component vector of float) +0:49 'shadowSampler1D' (uniform sampler1DShadow) +0:49 'coords3D' (3-component vector of float) +0:49 'bias' (float) +0:50 add second child into first child (4-component vector of float) +0:50 'color' (4-component vector of float) +0:50 Function Call: shadow2D(sS21;vf3; (4-component vector of float) +0:50 'shadowSampler2D' (uniform sampler2DShadow) +0:50 'coords3D' (3-component vector of float) +0:51 add second child into first child (4-component vector of float) +0:51 'color' (4-component vector of float) +0:51 Function Call: shadow2D(sS21;vf3;f1; (4-component vector of float) +0:51 'shadowSampler2D' (uniform sampler2DShadow) +0:51 'coords3D' (3-component vector of float) +0:51 'bias' (float) +0:52 add second child into first child (4-component vector of float) +0:52 'color' (4-component vector of float) +0:52 Function Call: shadow1DProj(sS11;vf4; (4-component vector of float) +0:52 'shadowSampler1D' (uniform sampler1DShadow) +0:52 'coords4D' (4-component vector of float) +0:53 add second child into first child (4-component vector of float) +0:53 'color' (4-component vector of float) +0:53 Function Call: shadow1DProj(sS11;vf4;f1; (4-component vector of float) +0:53 'shadowSampler1D' (uniform sampler1DShadow) +0:53 'coords4D' (4-component vector of float) +0:53 'bias' (float) +0:54 add second child into first child (4-component vector of float) +0:54 'color' (4-component vector of float) +0:54 Function Call: shadow2DProj(sS21;vf4; (4-component vector of float) +0:54 'shadowSampler2D' (uniform sampler2DShadow) +0:54 'coords4D' (4-component vector of float) +0:55 add second child into first child (4-component vector of float) +0:55 'color' (4-component vector of float) +0:55 Function Call: shadow2DProj(sS21;vf4;f1; (4-component vector of float) +0:55 'shadowSampler2D' (uniform sampler2DShadow) +0:55 'coords4D' (4-component vector of float) +0:55 'bias' (float) +0:57 Sequence +0:57 move second child to first child (2-component vector of int) +0:57 'iCoords2D' (2-component vector of int) +0:57 Constant: +0:57 0 (const int) +0:57 5 (const int) +0:58 Sequence +0:58 move second child to first child (int) +0:58 'iLod' (int) +0:58 Constant: +0:58 1 (const int) +0:60 add second child into first child (4-component vector of float) +0:60 'color' (4-component vector of float) +0:60 Function Call: texelFetch(s21;vi2;i1; (4-component vector of float) +0:60 'texSampler2D' (uniform sampler2D) +0:60 'iCoords2D' (2-component vector of int) +0:60 'iLod' (int) +0:62 Sequence +0:62 move second child to first child (2-component vector of float) +0:62 'gradX' (2-component vector of float) +0:62 dPdx (2-component vector of float) +0:62 'coords2D' (smooth in 2-component vector of float) +0:63 Sequence +0:63 move second child to first child (2-component vector of float) +0:63 'gradY' (2-component vector of float) +0:63 dPdy (2-component vector of float) +0:63 'coords2D' (smooth in 2-component vector of float) +0:66 add second child into first child (4-component vector of float) +0:66 'color' (4-component vector of float) +0:66 Function Call: textureGrad(s21;vf2;vf2;vf2; (4-component vector of float) +0:66 'texSampler2D' (uniform sampler2D) +0:66 'coords2D' (smooth in 2-component vector of float) +0:66 'gradX' (2-component vector of float) +0:66 'gradY' (2-component vector of float) +0:67 add second child into first child (4-component vector of float) +0:67 'color' (4-component vector of float) +0:67 Function Call: textureProjGrad(s21;vf3;vf2;vf2; (4-component vector of float) +0:67 'texSampler2D' (uniform sampler2D) +0:67 Construct vec3 (3-component vector of float) +0:67 'coords2D' (smooth in 2-component vector of float) +0:67 'proj' (float) +0:67 'gradX' (2-component vector of float) +0:67 'gradY' (2-component vector of float) +0:68 add second child into first child (4-component vector of float) +0:68 'color' (4-component vector of float) +0:68 Function Call: textureGradOffset(s21;vf2;vf2;vf2;vi2; (4-component vector of float) +0:68 'texSampler2D' (uniform sampler2D) +0:68 'coords2D' (smooth in 2-component vector of float) +0:68 'gradX' (2-component vector of float) +0:68 'gradY' (2-component vector of float) +0:68 Constant: +0:68 3 (const int) +0:68 -7 (const int) +0:69 add second child into first child (4-component vector of float) +0:69 'color' (4-component vector of float) +0:69 Function Call: textureProjGradOffset(s21;vf3;vf2;vf2;vi2; (4-component vector of float) +0:69 'texSampler2D' (uniform sampler2D) +0:69 'coords3D' (3-component vector of float) +0:69 'gradX' (2-component vector of float) +0:69 'gradY' (2-component vector of float) +0:69 Constant: +0:69 3 (const int) +0:69 -7 (const int) +0:70 add second child into first child (4-component vector of float) +0:70 'color' (4-component vector of float) +0:70 Function Call: textureGrad(sS21;vf3;vf2;vf2; (float) +0:70 'shadowSampler2D' (uniform sampler2DShadow) +0:70 Construct vec3 (3-component vector of float) +0:70 'coords2D' (smooth in 2-component vector of float) +0:70 'lod' (float) +0:70 'gradX' (2-component vector of float) +0:70 'gradY' (2-component vector of float) +0:72 move second child to first child (4-component vector of float) +0:72 'gl_FragColor' (fragColor 4-component vector of float) +0:72 mix (4-component vector of float) +0:72 'color' (4-component vector of float) +0:72 'u' (uniform 4-component vector of float) +0:72 component-wise multiply (float) +0:72 'blend' (uniform float) +0:72 'blendscale' (float) +0:? Linker Objects +0:? 'texSampler1D' (uniform sampler1D) +0:? 'texSampler2D' (uniform sampler2D) +0:? 'texSampler3D' (uniform sampler3D) +0:? 'texSamplerCube' (uniform samplerCube) +0:? 'shadowSampler1D' (uniform sampler1DShadow) +0:? 'shadowSampler2D' (uniform sampler2DShadow) +0:? 'blend' (uniform float) +0:? 'scale' (uniform 2-component vector of float) +0:? 'u' (uniform 4-component vector of float) +0:? 't' (smooth in 2-component vector of float) +0:? 'coords2D' (smooth in 2-component vector of float) diff --git a/Test/baseResults/tokenLength.vert.out b/Test/baseResults/tokenLength.vert.out index 973df47..8ad75c4 100644 --- a/Test/baseResults/tokenLength.vert.out +++ b/Test/baseResults/tokenLength.vert.out @@ -113,4 +113,94 @@ Linked vertex stage: Shader version: 300 +ERROR: node is still EOpNull! +0:9 Sequence +0:9 move second child to first child (highp int) +0:9 'E1' (highp int) +0:9 Constant: +0:9 -1 (const int) +0:10 Sequence +0:10 move second child to first child (highp int) +0:10 'E2' (highp int) +0:10 Constant: +0:10 -1 (const int) +0:11 Sequence +0:11 move second child to first child (highp int) +0:11 'B' (highp int) +0:11 Constant: +0:11 -1 (const int) +0:13 Sequence +0:13 move second child to first child (highp int) +0:13 'OE' (highp int) +0:13 Constant: +0:13 1073741823 (const int) +0:14 Sequence +0:14 move second child to first child (highp int) +0:14 'HE' (highp int) +0:14 Constant: +0:14 -1 (const int) +0:17 Sequence +0:17 move second child to first child (highp float) +0:17 'F' (highp float) +0:17 Constant: +0:17 1.012346 +0:20 Sequence +0:20 move second child to first child (highp float) +0:20 'G' (highp float) +0:20 Constant: +0:20 1.012346 +0:23 Sequence +0:23 move second child to first child (highp float) +0:23 'E3' (highp float) +0:23 Constant: +0:23 12.000000 +0:25 Function Definition: main( (void) +0:25 Function Parameters: +0:27 Sequence +0:27 move second child to first child (highp 4-component vector of float) +0:27 'gl_Position' (gl_Position highp 4-component vector of float) +0:28 Construct vec4 (highp 4-component vector of float) +0:27 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) +0:28 Convert int to float (highp float) +0:28 'B' (highp int) +0:28 'F' (highp float) +0:28 'G' (highp float) +0:33 Sequence +0:33 move second child to first child (highp int) +0:33 'superH' (highp int) +0:33 Constant: +0:33 -1 (const int) +0:34 Sequence +0:34 move second child to first child (highp int) +0:34 'superO' (highp int) +0:34 Constant: +0:34 1073741823 (const int) +0:35 Sequence +0:35 move second child to first child (highp int) +0:35 'superI' (highp int) +0:35 Constant: +0:35 -1 (const int) +0:36 Sequence +0:36 move second child to first child (highp float) +0:36 'superF' (highp float) +0:36 Constant: +0:36 1.#INF00 +0:? Linker Objects +0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) +0:? 'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float) +0:? 'E1' (highp int) +0:? 'E2' (highp int) +0:? 'B' (highp int) +0:? 'OE' (highp int) +0:? 'HE' (highp int) +0:? 'F' (highp float) +0:? 'G' (highp float) +0:? 'E3' (highp float) +0:? 'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (highp float) +0:? 'superH' (highp int) +0:? 'superO' (highp int) +0:? 'superI' (highp int) +0:? 'superF' (highp float) +0:? 'gl_VertexID' (gl_VertexId highp int) +0:? 'gl_InstanceID' (gl_InstanceId highp int) diff --git a/Test/baseResults/types.frag.out b/Test/baseResults/types.frag.out index 793d085..1ac0fd9 100644 --- a/Test/baseResults/types.frag.out +++ b/Test/baseResults/types.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/types.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. Shader version: 130 0:? Sequence @@ -342,4 +341,338 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:33 Function Definition: main( (void) +0:33 Function Parameters: +0:35 Sequence +0:35 Sequence +0:35 move second child to first child (bool) +0:35 'b' (bool) +0:35 logical-and (bool) +0:35 'u_b' (uniform bool) +0:35 'i_b' (uniform bool) +0:36 Sequence +0:36 move second child to first child (2-component vector of bool) +0:36 'b2' (2-component vector of bool) +0:36 Construct bvec2 (2-component vector of bool) +0:36 logical-and (bool) +0:36 logical-and (bool) +0:36 logical-and (bool) +0:36 direct index (bool) +0:36 'u_b2' (uniform 2-component vector of bool) +0:36 Constant: +0:36 0 (const int) +0:36 direct index (bool) +0:36 'i_b2' (uniform 2-component vector of bool) +0:36 Constant: +0:36 0 (const int) +0:36 direct index (bool) +0:36 'u_b2' (uniform 2-component vector of bool) +0:36 Constant: +0:36 1 (const int) +0:36 direct index (bool) +0:36 'i_b2' (uniform 2-component vector of bool) +0:36 Constant: +0:36 1 (const int) +0:37 Sequence +0:37 move second child to first child (3-component vector of bool) +0:37 'b3' (3-component vector of bool) +0:37 Construct bvec3 (3-component vector of bool) +0:37 logical-and (bool) +0:37 logical-and (bool) +0:37 logical-and (bool) +0:37 logical-and (bool) +0:37 logical-and (bool) +0:37 direct index (bool) +0:37 'u_b3' (uniform 3-component vector of bool) +0:37 Constant: +0:37 0 (const int) +0:37 direct index (bool) +0:37 'i_b3' (uniform 3-component vector of bool) +0:37 Constant: +0:37 0 (const int) +0:37 direct index (bool) +0:37 'u_b3' (uniform 3-component vector of bool) +0:37 Constant: +0:37 1 (const int) +0:37 direct index (bool) +0:37 'i_b3' (uniform 3-component vector of bool) +0:37 Constant: +0:37 1 (const int) +0:37 direct index (bool) +0:37 'u_b3' (uniform 3-component vector of bool) +0:37 Constant: +0:37 2 (const int) +0:37 direct index (bool) +0:37 'i_b3' (uniform 3-component vector of bool) +0:37 Constant: +0:37 2 (const int) +0:38 Sequence +0:38 move second child to first child (4-component vector of bool) +0:38 'b4' (4-component vector of bool) +0:38 Construct bvec4 (4-component vector of bool) +0:38 logical-and (bool) +0:38 logical-and (bool) +0:38 logical-and (bool) +0:38 logical-and (bool) +0:38 logical-and (bool) +0:38 logical-and (bool) +0:38 logical-and (bool) +0:38 direct index (bool) +0:38 'u_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 0 (const int) +0:38 direct index (bool) +0:38 'i_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 0 (const int) +0:38 direct index (bool) +0:38 'u_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 1 (const int) +0:38 direct index (bool) +0:38 'i_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 1 (const int) +0:38 direct index (bool) +0:38 'u_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 2 (const int) +0:38 direct index (bool) +0:38 'i_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 2 (const int) +0:38 direct index (bool) +0:38 'u_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 3 (const int) +0:38 direct index (bool) +0:38 'i_b4' (uniform 4-component vector of bool) +0:38 Constant: +0:38 3 (const int) +0:40 Sequence +0:40 move second child to first child (int) +0:40 'i' (int) +0:40 add (int) +0:40 'u_i' (uniform int) +0:40 'i_i' (flat in int) +0:41 Sequence +0:41 move second child to first child (2-component vector of int) +0:41 'i2' (2-component vector of int) +0:41 add (2-component vector of int) +0:41 'u_i2' (uniform 2-component vector of int) +0:41 'i_i2' (flat in 2-component vector of int) +0:42 Sequence +0:42 move second child to first child (3-component vector of int) +0:42 'i3' (3-component vector of int) +0:42 add (3-component vector of int) +0:42 'u_i3' (uniform 3-component vector of int) +0:42 'i_i3' (flat in 3-component vector of int) +0:43 Sequence +0:43 move second child to first child (4-component vector of int) +0:43 'i4' (4-component vector of int) +0:43 add (4-component vector of int) +0:43 'u_i4' (uniform 4-component vector of int) +0:43 'i_i4' (flat in 4-component vector of int) +0:45 Sequence +0:45 move second child to first child (float) +0:45 'f' (float) +0:45 add (float) +0:45 'u_f' (uniform float) +0:45 'i_f' (smooth in float) +0:46 Sequence +0:46 move second child to first child (2-component vector of float) +0:46 'f2' (2-component vector of float) +0:46 add (2-component vector of float) +0:46 'u_f2' (uniform 2-component vector of float) +0:46 'i_f2' (smooth in 2-component vector of float) +0:47 Sequence +0:47 move second child to first child (3-component vector of float) +0:47 'f3' (3-component vector of float) +0:47 add (3-component vector of float) +0:47 'u_f3' (uniform 3-component vector of float) +0:47 'i_f3' (smooth in 3-component vector of float) +0:48 Sequence +0:48 move second child to first child (4-component vector of float) +0:48 'f4' (4-component vector of float) +0:48 add (4-component vector of float) +0:48 'u_f4' (uniform 4-component vector of float) +0:48 'i_f4' (smooth in 4-component vector of float) +0:50 move second child to first child (4-component vector of float) +0:50 'gl_FragColor' (fragColor 4-component vector of float) +0:60 Test condition and select (4-component vector of float) +0:60 Condition +0:59 logical-or (bool) +0:58 logical-or (bool) +0:57 logical-or (bool) +0:56 logical-or (bool) +0:55 logical-or (bool) +0:54 logical-or (bool) +0:53 logical-or (bool) +0:52 logical-or (bool) +0:51 logical-or (bool) +0:51 'b' (bool) +0:52 direct index (bool) +0:52 'b2' (2-component vector of bool) +0:52 Constant: +0:52 0 (const int) +0:53 direct index (bool) +0:53 'b2' (2-component vector of bool) +0:53 Constant: +0:53 1 (const int) +0:54 direct index (bool) +0:54 'b3' (3-component vector of bool) +0:54 Constant: +0:54 0 (const int) +0:55 direct index (bool) +0:55 'b3' (3-component vector of bool) +0:55 Constant: +0:55 1 (const int) +0:56 direct index (bool) +0:56 'b3' (3-component vector of bool) +0:56 Constant: +0:56 2 (const int) +0:57 direct index (bool) +0:57 'b4' (4-component vector of bool) +0:57 Constant: +0:57 0 (const int) +0:58 direct index (bool) +0:58 'b4' (4-component vector of bool) +0:58 Constant: +0:58 1 (const int) +0:59 direct index (bool) +0:59 'b4' (4-component vector of bool) +0:59 Constant: +0:59 2 (const int) +0:60 direct index (bool) +0:60 'b4' (4-component vector of bool) +0:60 Constant: +0:60 3 (const int) +0:60 true case +0:79 Construct vec4 (4-component vector of float) +0:79 add (float) +0:78 add (float) +0:77 add (float) +0:76 add (float) +0:75 add (float) +0:74 add (float) +0:73 add (float) +0:72 add (float) +0:71 add (float) +0:70 add (float) +0:69 Convert int to float (float) +0:69 add (int) +0:68 add (int) +0:67 add (int) +0:66 add (int) +0:65 add (int) +0:64 add (int) +0:63 add (int) +0:62 add (int) +0:61 add (int) +0:61 'i' (int) +0:62 direct index (int) +0:62 'i2' (2-component vector of int) +0:62 Constant: +0:62 0 (const int) +0:63 direct index (int) +0:63 'i2' (2-component vector of int) +0:63 Constant: +0:63 1 (const int) +0:64 direct index (int) +0:64 'i3' (3-component vector of int) +0:64 Constant: +0:64 0 (const int) +0:65 direct index (int) +0:65 'i3' (3-component vector of int) +0:65 Constant: +0:65 1 (const int) +0:66 direct index (int) +0:66 'i3' (3-component vector of int) +0:66 Constant: +0:66 2 (const int) +0:67 direct index (int) +0:67 'i4' (4-component vector of int) +0:67 Constant: +0:67 0 (const int) +0:68 direct index (int) +0:68 'i4' (4-component vector of int) +0:68 Constant: +0:68 1 (const int) +0:69 direct index (int) +0:69 'i4' (4-component vector of int) +0:69 Constant: +0:69 2 (const int) +0:70 direct index (int) +0:70 'i4' (4-component vector of int) +0:70 Constant: +0:70 3 (const int) +0:71 'f' (float) +0:72 direct index (float) +0:72 'f2' (2-component vector of float) +0:72 Constant: +0:72 0 (const int) +0:73 direct index (float) +0:73 'f2' (2-component vector of float) +0:73 Constant: +0:73 1 (const int) +0:74 direct index (float) +0:74 'f3' (3-component vector of float) +0:74 Constant: +0:74 0 (const int) +0:75 direct index (float) +0:75 'f3' (3-component vector of float) +0:75 Constant: +0:75 1 (const int) +0:76 direct index (float) +0:76 'f3' (3-component vector of float) +0:76 Constant: +0:76 2 (const int) +0:77 direct index (float) +0:77 'f4' (4-component vector of float) +0:77 Constant: +0:77 0 (const int) +0:78 direct index (float) +0:78 'f4' (4-component vector of float) +0:78 Constant: +0:78 1 (const int) +0:79 direct index (float) +0:79 'f4' (4-component vector of float) +0:79 Constant: +0:79 2 (const int) +0:80 direct index (float) +0:80 'f4' (4-component vector of float) +0:80 Constant: +0:80 3 (const int) +0:60 false case +0:80 Constant: +0:80 1.000000 +0:80 1.000000 +0:80 1.000000 +0:80 1.000000 +0:? Linker Objects +0:? 'u_b' (uniform bool) +0:? 'u_b2' (uniform 2-component vector of bool) +0:? 'u_b3' (uniform 3-component vector of bool) +0:? 'u_b4' (uniform 4-component vector of bool) +0:? 'u_i' (uniform int) +0:? 'u_i2' (uniform 2-component vector of int) +0:? 'u_i3' (uniform 3-component vector of int) +0:? 'u_i4' (uniform 4-component vector of int) +0:? 'u_f' (uniform float) +0:? 'u_f2' (uniform 2-component vector of float) +0:? 'u_f3' (uniform 3-component vector of float) +0:? 'u_f4' (uniform 4-component vector of float) +0:? 'i_b' (uniform bool) +0:? 'i_b2' (uniform 2-component vector of bool) +0:? 'i_b3' (uniform 3-component vector of bool) +0:? 'i_b4' (uniform 4-component vector of bool) +0:? 'i_i' (flat in int) +0:? 'i_i2' (flat in 2-component vector of int) +0:? 'i_i3' (flat in 3-component vector of int) +0:? 'i_i4' (flat in 4-component vector of int) +0:? 'i_f' (smooth in float) +0:? 'i_f2' (smooth in 2-component vector of float) +0:? 'i_f3' (smooth in 3-component vector of float) +0:? 'i_f4' (smooth in 4-component vector of float) diff --git a/Test/baseResults/uint.frag.out b/Test/baseResults/uint.frag.out index de34477..292d391 100644 --- a/Test/baseResults/uint.frag.out +++ b/Test/baseResults/uint.frag.out @@ -311,4 +311,297 @@ Linked fragment stage: Shader version: 300 +ERROR: node is still EOpNull! +0:15 Function Definition: main( (void) +0:15 Function Parameters: +0:17 Sequence +0:17 Sequence +0:17 move second child to first child (mediump int) +0:17 'count' (mediump int) +0:17 Constant: +0:17 1 (const int) +0:19 Sequence +0:19 move second child to first child (mediump uint) +0:19 'u' (mediump uint) +0:19 add (mediump uint) +0:19 direct index (mediump uint) +0:19 't' (flat in mediump 2-component vector of uint) +0:19 Constant: +0:19 1 (const int) +0:19 Constant: +0:19 3 (const uint) +0:27 Test condition and select (void) +0:27 Condition +0:27 Constant: +0:27 true (const bool) +0:27 true case +0:28 multiply second child into first child (mediump int) +0:28 'count' (mediump int) +0:28 Constant: +0:28 2 (const int) +0:29 Test condition and select (void) +0:29 Condition +0:29 Constant: +0:29 true (const bool) +0:29 true case +0:30 multiply second child into first child (mediump int) +0:30 'count' (mediump int) +0:30 Constant: +0:30 3 (const int) +0:31 Test condition and select (void) +0:31 Condition +0:31 Constant: +0:31 false (const bool) +0:31 true case +0:32 multiply second child into first child (mediump int) +0:32 'count' (mediump int) +0:32 Constant: +0:32 5 (const int) +0:41 Test condition and select (void) +0:41 Condition +0:41 Constant: +0:41 true (const bool) +0:41 true case +0:42 multiply second child into first child (mediump int) +0:42 'count' (mediump int) +0:42 Constant: +0:42 7 (const int) +0:43 Test condition and select (void) +0:43 Condition +0:43 Constant: +0:43 true (const bool) +0:43 true case +0:44 multiply second child into first child (mediump int) +0:44 'count' (mediump int) +0:44 Constant: +0:44 11 (const int) +0:45 Test condition and select (void) +0:45 Condition +0:45 Constant: +0:45 false (const bool) +0:45 true case +0:46 multiply second child into first child (mediump int) +0:46 'count' (mediump int) +0:46 Constant: +0:46 13 (const int) +0:49 Sequence +0:49 move second child to first child (mediump int) +0:49 'shiftedii' (mediump int) +0:49 Constant: +0:49 -1 (const int) +0:50 Sequence +0:50 move second child to first child (mediump uint) +0:50 'shiftedui' (mediump uint) +0:50 Constant: +0:50 4194303 (const uint) +0:52 Sequence +0:52 move second child to first child (mediump int) +0:52 'shiftediu' (mediump int) +0:52 Constant: +0:52 -1 (const int) +0:53 Sequence +0:53 move second child to first child (mediump uint) +0:53 'shifteduu' (mediump uint) +0:53 Constant: +0:53 4194303 (const uint) +0:55 Test condition and select (void) +0:55 Condition +0:55 Compare Equal (bool) +0:55 'shiftedii' (mediump int) +0:55 'shiftediu' (mediump int) +0:55 true case +0:56 move second child to first child (mediump 4-component vector of uint) +0:56 'c' (out mediump 4-component vector of uint) +0:56 Function Call: texture(us21;vf2; (mediump 4-component vector of uint) +0:56 'usampler' (uniform lowp usampler2D) +0:56 'tc' (smooth in highp 2-component vector of float) +0:57 Test condition and select (void) +0:57 Condition +0:57 Compare Equal (bool) +0:57 'shiftedui' (mediump uint) +0:57 'shifteduu' (mediump uint) +0:57 true case +0:58 move second child to first child (mediump 4-component vector of uint) +0:58 'c' (out mediump 4-component vector of uint) +0:58 Function Call: texture(us21;vf2; (mediump 4-component vector of uint) +0:58 'usampler' (uniform lowp usampler2D) +0:58 add (highp 2-component vector of float) +0:58 'tc' (smooth in highp 2-component vector of float) +0:58 Constant: +0:58 1.000000 +0:59 Test condition and select (void) +0:59 Condition +0:59 Compare Equal (bool) +0:59 'shiftedii' (mediump int) +0:59 Convert uint to int (int) +0:59 'shiftedui' (mediump uint) +0:59 true case +0:60 move second child to first child (mediump 4-component vector of uint) +0:60 'c' (out mediump 4-component vector of uint) +0:60 Function Call: texture(us21;vf2; (mediump 4-component vector of uint) +0:60 'usampler' (uniform lowp usampler2D) +0:60 subtract (highp 2-component vector of float) +0:60 'tc' (smooth in highp 2-component vector of float) +0:60 Constant: +0:60 2.000000 +0:60 2.000000 +0:62 Test condition and select (void) +0:62 Condition +0:62 Compare Greater Than (bool) +0:62 direct index (mediump uint) +0:62 't' (flat in mediump 2-component vector of uint) +0:62 Constant: +0:62 0 (const int) +0:62 Constant: +0:62 4 (const uint) +0:62 true case +0:63 Sequence +0:63 Sequence +0:63 move second child to first child (mediump float) +0:63 'af' (mediump float) +0:63 Convert uint to float (mediump float) +0:63 'u' (mediump uint) +0:64 Sequence +0:64 move second child to first child (bool) +0:64 'ab' (bool) +0:64 Convert uint to bool (bool) +0:64 'u' (mediump uint) +0:65 Sequence +0:65 move second child to first child (mediump int) +0:65 'ai' (mediump int) +0:65 Convert uint to int (mediump int) +0:65 'u' (mediump uint) +0:67 add second child into first child (mediump 4-component vector of uint) +0:67 'c' (out mediump 4-component vector of uint) +0:67 Construct uvec4 (mediump 4-component vector of uint) +0:67 Convert float to uint (mediump uint) +0:67 'af' (mediump float) +0:67 Convert bool to uint (mediump uint) +0:67 'ab' (bool) +0:67 Convert int to uint (mediump uint) +0:67 'ai' (mediump int) +0:67 Convert int to uint (mediump uint) +0:67 'count' (mediump int) +0:75 Test condition and select (void) +0:75 Condition +0:75 Constant: +0:75 true (const bool) +0:75 true case +0:76 multiply second child into first child (mediump int) +0:76 'count' (mediump int) +0:76 Constant: +0:76 17 (const int) +0:78 Test condition and select (void) +0:78 Condition +0:78 Constant: +0:78 false (const bool) +0:78 true case +0:79 multiply second child into first child (mediump int) +0:79 'count' (mediump int) +0:79 Constant: +0:79 19 (const int) +0:81 Test condition and select (void) +0:81 Condition +0:81 Constant: +0:81 true (const bool) +0:81 true case +0:82 multiply second child into first child (mediump int) +0:82 'count' (mediump int) +0:82 Constant: +0:82 23 (const int) +0:84 Test condition and select (void) +0:84 Condition +0:84 Constant: +0:84 true (const bool) +0:84 true case +0:85 multiply second child into first child (mediump int) +0:85 'count' (mediump int) +0:85 Constant: +0:85 27 (const int) +0:87 Sequence +0:87 move second child to first child (mediump uint) +0:87 'mask1' (mediump uint) +0:87 Constant: +0:87 161 (const uint) +0:88 Sequence +0:88 move second child to first child (mediump uint) +0:88 'mask2' (mediump uint) +0:88 Constant: +0:88 2576 (const uint) +0:89 Sequence +0:89 move second child to first child (mediump uint) +0:89 'mask3' (mediump uint) +0:89 left-shift (mediump uint) +0:89 'mask1' (mediump uint) +0:89 Constant: +0:89 4 (const int) +0:90 Sequence +0:90 move second child to first child (mediump uint) +0:90 'mask4' (mediump uint) +0:90 Constant: +0:90 2737 (const uint) +0:92 Test condition and select (void) +0:92 Condition +0:92 Compare Equal (bool) +0:92 'mask3' (mediump uint) +0:92 'mask2' (mediump uint) +0:92 true case +0:93 multiply second child into first child (mediump int) +0:93 'count' (mediump int) +0:93 Constant: +0:93 100 (const int) +0:95 Test condition and select (void) +0:95 Condition +0:95 Compare Not Equal (bool) +0:95 bitwise and (mediump uint) +0:95 'mask3' (mediump uint) +0:95 'mask1' (mediump uint) +0:95 Constant: +0:95 0 (const uint) +0:95 true case +0:96 multiply second child into first child (mediump int) +0:96 'count' (mediump int) +0:96 Constant: +0:96 101 (const int) +0:98 Test condition and select (void) +0:98 Condition +0:98 Compare Equal (bool) +0:98 inclusive-or (mediump uint) +0:98 'mask1' (mediump uint) +0:98 'mask3' (mediump uint) +0:98 'mask4' (mediump uint) +0:98 true case +0:99 multiply second child into first child (mediump int) +0:99 'count' (mediump int) +0:99 Constant: +0:99 102 (const int) +0:101 Test condition and select (void) +0:101 Condition +0:101 Compare Equal (bool) +0:101 exclusive-or (mediump uint) +0:101 'mask1' (mediump uint) +0:101 'mask4' (mediump uint) +0:101 Constant: +0:101 2576 (const uint) +0:101 true case +0:102 multiply second child into first child (mediump int) +0:102 'count' (mediump int) +0:102 Constant: +0:102 103 (const int) +0:104 add second child into first child (mediump 4-component vector of uint) +0:104 'c' (out mediump 4-component vector of uint) +0:104 Construct uvec4 (mediump 4-component vector of uint) +0:104 Convert int to uint (mediump uint) +0:104 'count' (mediump int) +0:? Linker Objects +0:? 'badu' (smooth in mediump 2-component vector of uint) +0:? 't' (flat in mediump 2-component vector of uint) +0:? 'f' (smooth in highp float) +0:? 'tc' (smooth in highp 2-component vector of float) +0:? 'bad' (smooth in bool) +0:? 'v' (uniform mediump 4-component vector of uint) +0:? 'i' (uniform mediump int) +0:? 'b' (uniform bool) +0:? 'c' (out mediump 4-component vector of uint) +0:? 'usampler' (uniform lowp usampler2D) diff --git a/Test/baseResults/uniformArray.frag.out b/Test/baseResults/uniformArray.frag.out index 2d2cce1..f886e06 100644 --- a/Test/baseResults/uniformArray.frag.out +++ b/Test/baseResults/uniformArray.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/uniformArray.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. Shader version: 130 0:? Sequence @@ -52,4 +51,48 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:9 Sequence +0:9 Sequence +0:9 move second child to first child (4-component vector of float) +0:9 'texColor' (4-component vector of float) +0:9 add (4-component vector of float) +0:9 direct index (4-component vector of float) +0:9 'color' (uniform 6-element array of 4-component vector of float) +0:9 Constant: +0:9 1 (const int) +0:9 direct index (4-component vector of float) +0:9 'color' (uniform 6-element array of 4-component vector of float) +0:9 Constant: +0:9 1 (const int) +0:11 add second child into first child (3-component vector of float) +0:11 vector swizzle (3-component vector of float) +0:11 'texColor' (4-component vector of float) +0:11 Sequence +0:11 Constant: +0:11 0 (const int) +0:11 Constant: +0:11 1 (const int) +0:11 Constant: +0:11 2 (const int) +0:11 'inColor' (uniform 3-component vector of float) +0:13 add second child into first child (float) +0:13 direct index (float) +0:13 'texColor' (4-component vector of float) +0:13 Constant: +0:13 3 (const int) +0:13 direct index (float) +0:13 'alpha' (uniform 16-element array of float) +0:13 Constant: +0:13 12 (const int) +0:15 move second child to first child (4-component vector of float) +0:15 'gl_FragColor' (fragColor 4-component vector of float) +0:15 'texColor' (4-component vector of float) +0:? Linker Objects +0:? 'texSampler2D' (uniform sampler2D) +0:? 'inColor' (uniform 3-component vector of float) +0:? 'color' (uniform 6-element array of 4-component vector of float) +0:? 'alpha' (uniform 16-element array of float) diff --git a/Test/baseResults/variableArrayIndex.frag.out b/Test/baseResults/variableArrayIndex.frag.out index eae4a6a..0f09216 100644 --- a/Test/baseResults/variableArrayIndex.frag.out +++ b/Test/baseResults/variableArrayIndex.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/variableArrayIndex.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release Shader version: 130 @@ -116,4 +115,111 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:29 Function Definition: main( (void) +0:29 Function Parameters: +0:? Sequence +0:32 Sequence +0:32 move second child to first child (int) +0:32 'iLocal' (int) +0:32 'Count' (uniform int) +0:34 Test condition and select (void) +0:34 Condition +0:34 Compare Greater Than (bool) +0:34 i: direct index for structure (int) +0:34 direct index (structure{int i, float f, structure{int i, float f} s1_1}) +0:34 s2_1: direct index for structure (3-element array of structure{int i, float f, structure{int i, float f} s1_1}) +0:34 'foo3' (uniform structure{3-element array of structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:34 Constant: +0:34 0 (const int) +0:34 Constant: +0:34 1 (const int) +0:34 Constant: +0:34 0 (const int) +0:34 Constant: +0:34 0 (const int) +0:34 true case +0:35 move second child to first child (float) +0:35 'scale' (float) +0:35 f: direct index for structure (float) +0:35 s1_1: direct index for structure (structure{int i, float f}) +0:35 indirect index (structure{int i, float f, structure{int i, float f} s1_1}) +0:35 'foo2' (uniform 5-element array of structure{int i, float f, structure{int i, float f} s1_1}) +0:35 add (int) +0:35 add (int) +0:35 i: direct index for structure (int) +0:35 indirect index (structure{int i, float f, structure{int i, float f} s1_1}) +0:35 s2_1: direct index for structure (3-element array of structure{int i, float f, structure{int i, float f} s1_1}) +0:35 'foo3' (uniform structure{3-element array of structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:35 Constant: +0:35 0 (const int) +0:35 i: direct index for structure (int) +0:35 'foo' (uniform structure{int i, float f}) +0:35 Constant: +0:35 0 (const int) +0:35 Constant: +0:35 0 (const int) +0:35 Constant: +0:35 2 (const int) +0:35 Pre-Increment (int) +0:35 'iLocal' (int) +0:35 Constant: +0:35 2 (const int) +0:35 Constant: +0:35 1 (const int) +0:34 false case +0:37 move second child to first child (float) +0:37 'scale' (float) +0:37 f: direct index for structure (float) +0:37 s1_1: direct index for structure (structure{int i, float f}) +0:37 direct index (structure{int i, float f, structure{int i, float f} s1_1}) +0:37 s2_1: direct index for structure (3-element array of structure{int i, float f, structure{int i, float f} s1_1}) +0:37 'foo3' (uniform structure{3-element array of structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 0 (const int) +0:37 Constant: +0:37 2 (const int) +0:37 Constant: +0:37 1 (const int) +0:43 move second child to first child (4-component vector of float) +0:43 'gl_FragColor' (fragColor 4-component vector of float) +0:43 vector-scale (4-component vector of float) +0:43 'scale' (float) +0:43 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:43 'sampler' (uniform sampler2D) +0:43 'coord' (smooth in 2-component vector of float) +0:45 Sequence +0:45 move second child to first child (3-element array of 2-component vector of float) +0:45 'constructed' (3-element array of 2-component vector of float) +0:45 Construct vec2 (3-element array of 2-component vector of float) +0:45 'coord' (smooth in 2-component vector of float) +0:45 Construct vec2 (2-component vector of float) +0:45 'scale' (float) +0:45 Constant: +0:45 1.000000 +0:45 2.000000 +0:46 add second child into first child (4-component vector of float) +0:46 'gl_FragColor' (fragColor 4-component vector of float) +0:46 Construct vec4 (4-component vector of float) +0:46 indirect index (2-component vector of float) +0:46 'constructed' (3-element array of 2-component vector of float) +0:46 i: direct index for structure (int) +0:46 'foo' (uniform structure{int i, float f}) +0:46 Constant: +0:46 0 (const int) +0:46 indirect index (2-component vector of float) +0:46 'constructed' (3-element array of 2-component vector of float) +0:46 i: direct index for structure (int) +0:46 'foo' (uniform structure{int i, float f}) +0:46 Constant: +0:46 0 (const int) +0:? Linker Objects +0:? 'sampler' (uniform sampler2D) +0:? 'coord' (smooth in 2-component vector of float) +0:? 'foo' (uniform structure{int i, float f}) +0:? 'foo2' (uniform 5-element array of structure{int i, float f, structure{int i, float f} s1_1}) +0:? 'foo3' (uniform structure{3-element array of structure{int i, float f, structure{int i, float f} s1_1} s2_1, int i, float f, structure{int i, float f} s1_1}) +0:? 'Count' (uniform int) diff --git a/Test/baseResults/varyingArray.frag.out b/Test/baseResults/varyingArray.frag.out index f6b1089..e4dc52a 100644 --- a/Test/baseResults/varyingArray.frag.out +++ b/Test/baseResults/varyingArray.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/varyingArray.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:6: varying deprecated in version 130; may be removed in future release @@ -65,4 +64,57 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:10 Function Definition: main( (void) +0:10 Function Parameters: +0:12 Sequence +0:12 Sequence +0:12 move second child to first child (4-component vector of float) +0:12 'texColor' (4-component vector of float) +0:12 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:12 'texSampler2D' (uniform sampler2D) +0:12 Construct vec2 (2-component vector of float) +0:12 add (4-component vector of float) +0:12 direct index (smooth 4-component vector of float) +0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:12 Constant: +0:12 4 (const int) +0:12 direct index (smooth 4-component vector of float) +0:12 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:12 Constant: +0:12 5 (const int) +0:14 add second child into first child (4-component vector of float) +0:14 'texColor' (4-component vector of float) +0:14 'color' (smooth in 4-component vector of float) +0:16 move second child to first child (float) +0:16 direct index (float) +0:16 'texColor' (4-component vector of float) +0:16 Constant: +0:16 3 (const int) +0:16 'alpha' (smooth in float) +0:18 move second child to first child (4-component vector of float) +0:18 'gl_FragColor' (fragColor 4-component vector of float) +0:18 add (4-component vector of float) +0:18 add (4-component vector of float) +0:18 add (4-component vector of float) +0:18 direct index (smooth 4-component vector of float) +0:18 'foo' (smooth in 3-element array of 4-component vector of float) +0:18 Constant: +0:18 1 (const int) +0:18 direct index (smooth 4-component vector of float) +0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:18 Constant: +0:18 0 (const int) +0:18 direct index (smooth 4-component vector of float) +0:18 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:18 Constant: +0:18 4 (const int) +0:18 'texColor' (4-component vector of float) +0:? Linker Objects +0:? 'texSampler2D' (uniform sampler2D) +0:? 'color' (smooth in 4-component vector of float) +0:? 'alpha' (smooth in float) +0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:? 'foo' (smooth in 3-element array of 4-component vector of float) diff --git a/Test/baseResults/varyingArrayIndirect.frag.out b/Test/baseResults/varyingArrayIndirect.frag.out index 6f97318..4c80527 100644 --- a/Test/baseResults/varyingArrayIndirect.frag.out +++ b/Test/baseResults/varyingArrayIndirect.frag.out @@ -1,5 +1,4 @@ ../../LunarGLASS/test/varyingArrayIndirect.frag -Warning, version 130 is not yet complete; most features are present, but a few are missing. WARNING: 0:3: varying deprecated in version 130; may be removed in future release WARNING: 0:4: varying deprecated in version 130; may be removed in future release WARNING: 0:6: varying deprecated in version 130; may be removed in future release @@ -68,4 +67,60 @@ Linked fragment stage: Shader version: 130 +0:? Sequence +0:12 Function Definition: main( (void) +0:12 Function Parameters: +0:14 Sequence +0:14 Sequence +0:14 move second child to first child (4-component vector of float) +0:14 'texColor' (4-component vector of float) +0:14 Function Call: texture2D(s21;vf2; (4-component vector of float) +0:14 'texSampler2D' (uniform sampler2D) +0:14 Construct vec2 (2-component vector of float) +0:14 add (4-component vector of float) +0:14 add (4-component vector of float) +0:14 indirect index (smooth 4-component vector of float) +0:14 'userIn' (smooth in 2-element array of 4-component vector of float) +0:14 'b' (uniform int) +0:14 indirect index (smooth 4-component vector of float) +0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:14 'a' (uniform int) +0:14 direct index (smooth 4-component vector of float) +0:14 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:14 Constant: +0:14 5 (const int) +0:16 add second child into first child (4-component vector of float) +0:16 'texColor' (4-component vector of float) +0:16 'color' (smooth in 4-component vector of float) +0:18 move second child to first child (float) +0:18 direct index (float) +0:18 'texColor' (4-component vector of float) +0:18 Constant: +0:18 3 (const int) +0:18 'alpha' (smooth in float) +0:20 move second child to first child (4-component vector of float) +0:20 'gl_FragColor' (fragColor 4-component vector of float) +0:20 add (4-component vector of float) +0:20 add (4-component vector of float) +0:20 add (4-component vector of float) +0:20 direct index (smooth 4-component vector of float) +0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:20 Constant: +0:20 0 (const int) +0:20 indirect index (smooth 4-component vector of float) +0:20 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:20 'b' (uniform int) +0:20 'texColor' (4-component vector of float) +0:20 indirect index (smooth 4-component vector of float) +0:20 'userIn' (smooth in 2-element array of 4-component vector of float) +0:20 'a' (uniform int) +0:? Linker Objects +0:? 'texSampler2D' (uniform sampler2D) +0:? 'color' (smooth in 4-component vector of float) +0:? 'alpha' (smooth in float) +0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:? 'gl_TexCoord' (smooth in 6-element array of 4-component vector of float) +0:? 'userIn' (smooth in 2-element array of 4-component vector of float) +0:? 'a' (uniform int) +0:? 'b' (uniform int) diff --git a/Test/baseResults/versionsClean.frag.out b/Test/baseResults/versionsClean.frag.out index d66a9f9..2c9a46e 100644 --- a/Test/baseResults/versionsClean.frag.out +++ b/Test/baseResults/versionsClean.frag.out @@ -26,4 +26,19 @@ Linked fragment stage: Shader version: 300 +ERROR: node is still EOpNull! +0:41 Function Definition: main( (void) +0:41 Function Parameters: +0:43 Sequence +0:43 move second child to first child (highp 4-component vector of float) +0:43 'foo' (out highp 4-component vector of float) +0:43 Construct vec4 (highp 4-component vector of float) +0:43 'color' (smooth in highp 3-component vector of float) +0:43 Constant: +0:43 142.000000 +0:44 Branch: Kill +0:? Linker Objects +0:? 'color' (smooth in highp 3-component vector of float) +0:? 'foo' (out highp 4-component vector of float) +0:? 'bar' (uniform highp sampler2DArrayShadow) diff --git a/Test/baseResults/versionsClean.vert.out b/Test/baseResults/versionsClean.vert.out index f190dfa..e19e42a 100644 --- a/Test/baseResults/versionsClean.vert.out +++ b/Test/baseResults/versionsClean.vert.out @@ -1,5 +1,5 @@ versionsClean.vert -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. Shader version: 420 0:? Sequence @@ -8,7 +8,7 @@ Shader version: 420 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, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:42 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 0:42 Constant: 0:42 0 (const uint) 0:42 Construct vec4 (4-component vector of float) @@ -26,4 +26,22 @@ Linked vertex stage: Shader version: 420 +0:? Sequence +0:40 Function Definition: main( (void) +0:40 Function Parameters: +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, out 1-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 1-element 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) +0:42 'color' (in 3-component vector of float) +0:42 Constant: +0:42 142.000000 +0:? Linker Objects +0:? 'color' (in 3-component vector of float) +0:? 'foo' (uniform sampler2DRect) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/versionsErrors.frag.out b/Test/baseResults/versionsErrors.frag.out index 0547d24..e99b491 100644 --- a/Test/baseResults/versionsErrors.frag.out +++ b/Test/baseResults/versionsErrors.frag.out @@ -27,4 +27,18 @@ Linked fragment stage: Shader version: 110 +ERROR: node is still EOpNull! +0:42 Function Definition: main( (void) +0:42 Function Parameters: +0:44 Sequence +0:44 move second child to first child (4-component vector of float) +0:44 'gl_FragColor' (fragColor 4-component vector of float) +0:44 Construct vec4 (4-component vector of float) +0:44 'color' (smooth in 3-component vector of float) +0:44 Constant: +0:44 142.000000 +0:45 Branch: Kill +0:? Linker Objects +0:? 'color' (smooth in 3-component vector of float) +0:? 'foo' (uniform sampler2DRect) diff --git a/Test/baseResults/versionsErrors.vert.out b/Test/baseResults/versionsErrors.vert.out index bc30725..05ff22c 100644 --- a/Test/baseResults/versionsErrors.vert.out +++ b/Test/baseResults/versionsErrors.vert.out @@ -1,5 +1,5 @@ versionsErrors.vert -Warning, version 420 is not yet complete; some version-specific features are present, but many are missing. +Warning, version 420 is not yet complete; most version-specific features are present, but some are missing. WARNING: 0:38: attribute deprecated in version 130; may be removed in future release ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420 ERROR: 0:45: 'discard' : not supported in this stage: vertex @@ -14,7 +14,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, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) +0:44 'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord}) 0:44 Constant: 0:44 0 (const uint) 0:44 Construct vec4 (4-component vector of float) @@ -34,4 +34,23 @@ Linked vertex stage: Shader version: 420 Requested GL_ARB_texture_rectangle +ERROR: node is still EOpNull! +0:42 Function Definition: main( (void) +0:42 Function Parameters: +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, out 1-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 1-element 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) +0:44 'color' (in 3-component vector of float) +0:44 Constant: +0:44 142.000000 +0:45 Branch: Kill +0:? Linker Objects +0:? 'color' (in 3-component vector of float) +0:? 'foo' (uniform sampler2DRect) +0:? 'gl_VertexID' (gl_VertexId int) +0:? 'gl_InstanceID' (gl_InstanceId int) diff --git a/Test/baseResults/voidFunction.frag.out b/Test/baseResults/voidFunction.frag.out index 8e071fc..1b6ee3b 100644 --- a/Test/baseResults/voidFunction.frag.out +++ b/Test/baseResults/voidFunction.frag.out @@ -48,4 +48,45 @@ Linked fragment stage: Shader version: 120 +0:? Sequence +0:7 Sequence +0:7 move second child to first child (float) +0:7 'bar' (float) +0:7 Constant: +0:7 2.000000 +0:9 Function Definition: foo( (void) +0:9 Function Parameters: +0:11 Sequence +0:11 Post-Increment (float) +0:11 'bar' (float) +0:13 Branch: Return +0:16 Function Definition: foo2( (void) +0:16 Function Parameters: +0:18 Sequence +0:18 Post-Increment (float) +0:18 'bar' (float) +0:21 Function Definition: main( (void) +0:21 Function Parameters: +0:23 Sequence +0:23 Sequence +0:23 move second child to first child (4-component vector of float) +0:23 'outColor' (4-component vector of float) +0:23 'bigColor' (uniform 4-component vector of float) +0:25 Function Call: foo( (void) +0:27 Function Call: foo2( (void) +0:29 add second child into first child (float) +0:29 direct index (float) +0:29 'outColor' (4-component vector of float) +0:29 Constant: +0:29 0 (const int) +0:29 'bar' (float) +0:31 move second child to first child (4-component vector of float) +0:31 'gl_FragColor' (fragColor 4-component vector of float) +0:31 'outColor' (4-component vector of float) +0:33 Branch: Return +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) +0:? 'bar' (float) diff --git a/Test/baseResults/whileLoop.frag.out b/Test/baseResults/whileLoop.frag.out index 9539e2c..4ececaf 100644 --- a/Test/baseResults/whileLoop.frag.out +++ b/Test/baseResults/whileLoop.frag.out @@ -35,4 +35,32 @@ Linked fragment stage: Shader version: 110 +0:? Sequence +0:7 Function Definition: main( (void) +0:7 Function Parameters: +0:9 Sequence +0:9 Sequence +0:9 move second child to first child (4-component vector of float) +0:9 'color' (4-component vector of float) +0:9 'BaseColor' (smooth in 4-component vector of float) +0:11 Loop with condition tested first +0:11 Loop Condition +0:11 Compare Less Than (bool) +0:11 direct index (float) +0:11 'color' (4-component vector of float) +0:11 Constant: +0:11 0 (const int) +0:11 'd' (uniform float) +0:11 Loop Body +0:12 Sequence +0:12 add second child into first child (4-component vector of float) +0:12 'color' (4-component vector of float) +0:12 'bigColor' (uniform 4-component vector of float) +0:15 move second child to first child (4-component vector of float) +0:15 'gl_FragColor' (fragColor 4-component vector of float) +0:15 'color' (4-component vector of float) +0:? Linker Objects +0:? 'bigColor' (uniform 4-component vector of float) +0:? 'BaseColor' (smooth in 4-component vector of float) +0:? 'd' (uniform float) diff --git a/Test/runtests b/Test/runtests index a93444c..73b15a7 100755 --- a/Test/runtests +++ b/Test/runtests @@ -26,13 +26,23 @@ while read t; do diff -b $BASEDIR/$b.out $TARGETDIR/$b.out done < testlist +if [ -a localtestlist ] + then + while read t; do + echo Running $t... + b=`basename $t` + $EXE -i -l $t > $TARGETDIR/$b.out + diff -b $BASEDIR/$b.out $TARGETDIR/$b.out + done < localtestlist +fi + # # grouped shaders for bulk (faster) tests # function runBulkTest { echo Running $*... $EXE -i -l -t $* > $TARGETDIR/$1.out - diff -b $BASEDIR/$1.out $TARGETDIR/$1.out + diff -b $BASEDIR/$1.out $TARGETDIR/$1.out } runBulkTest mains1.frag mains2.frag noMain1.geom noMain2.geom diff --git a/Test/testlist b/Test/testlist index 6e686f3..1a203fa 100644 --- a/Test/testlist +++ b/Test/testlist @@ -10,7 +10,9 @@ versionsErrors.vert 100.frag 120.vert 120.frag +130.vert 130.frag +140.vert 140.frag 150.vert 150.geom diff --git a/Todo.txt b/Todo.txt index 49fe4c9..68ab159 100644 --- a/Todo.txt +++ b/Todo.txt @@ -71,7 +71,6 @@ Shader Functionality to Implement/Finish + Handle multiple compilation units per stage + Allow initializers on uniform declarations + signature matching takes type conversions into account, ambiguity is an error - - bug: allow constructors to contain non-dereferenced arrays? GLSL 1.3 + flat redeclaration of built-in variables - Preprocessor token pasting (##), ## does macro expansion after pasting not before @@ -82,6 +81,7 @@ Shader Functionality to Implement/Finish + ftransform() is deprecated + Deprecated built-in vertex inputs (attributes) and some outputs (varyings). GLSL 1.4 (Non-ES) + + rectangular textures + track as removed in this release, but present in others: + Use of gl_ClipVertex. Use gl_ClipDistance instead. + Built-in vertex shader inputs. diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index fc200a6..e307b75 100644 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -377,21 +377,19 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo infoSink.info.message(EPrefixError, "#version: statement must appear first in es-profile shader; before comments or newlines"); } - // A metecheck on the condition the compiler itself... + // A metecheck on the condition of the compiler itself... switch (version) { case 100: case 300: case 110: case 120: - // versions are complete - break; case 130: case 140: - infoSink.info << "Warning, version " << version << " is not yet complete; most features are present, but a few are missing.\n"; + // versions are complete break; default: - infoSink.info << "Warning, version " << version << " is not yet complete; some version-specific features are present, but many are missing.\n"; + infoSink.info << "Warning, version " << version << " is not yet complete; most version-specific features are present, but some are missing.\n"; break; } diff --git a/glslang/MachineIndependent/preprocessor/Pp.cpp b/glslang/MachineIndependent/preprocessor/Pp.cpp index 754ca0b..2bbf44c 100644 --- a/glslang/MachineIndependent/preprocessor/Pp.cpp +++ b/glslang/MachineIndependent/preprocessor/Pp.cpp @@ -933,9 +933,9 @@ int TPpContext::tZeroInput::scan(TPpToken* ppToken) // // Check an identifier (atom) to see if it is a macro that should be expanded. -// If it is, and defined, push an tInput that will produce the appropriate expansion +// If it is, and defined, push a tInput that will produce the appropriate expansion // and return 1. -// If it is, but undefined, and expandUndef is requested, push an tInput that will +// If it is, but undefined, and expandUndef is requested, push a tInput that will // expand to 0 and return -1. // Otherwise, return 0 to indicate no expansion, which is not necessarily an error. // diff --git a/glslang/MachineIndependent/preprocessor/PpContext.h b/glslang/MachineIndependent/preprocessor/PpContext.h index 1c14dd0..4823b57 100644 --- a/glslang/MachineIndependent/preprocessor/PpContext.h +++ b/glslang/MachineIndependent/preprocessor/PpContext.h @@ -338,6 +338,7 @@ protected: // void lAddByte(TokenStream *fTok, unsigned char fVal); int lReadByte(TokenStream *pTok); + void lUnreadByte(TokenStream *pTok); void RecordToken(TokenStream* pTok, int token, TPpToken* ppToken); void RewindTokenStream(TokenStream *pTok); int ReadToken(TokenStream* pTok, TPpToken* ppToken); diff --git a/glslang/MachineIndependent/preprocessor/PpScanner.cpp b/glslang/MachineIndependent/preprocessor/PpScanner.cpp index eedb478..879031f 100644 --- a/glslang/MachineIndependent/preprocessor/PpScanner.cpp +++ b/glslang/MachineIndependent/preprocessor/PpScanner.cpp @@ -251,7 +251,7 @@ int TPpContext::tStringInput::scan(TPpToken* ppToken) len = 0; switch (ch) { default: - return ch; // Single character token, including '\' (escaped newlines are handled at a lower level, so this is just a '\' token) + return ch; // Single character token, including '#' and '\' (escaped newlines are handled at a lower level, so this is just a '\' token) case EOF: return endOfInput; diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.cpp b/glslang/MachineIndependent/preprocessor/PpTokens.cpp index ad555fc..56cbbe7 100644 --- a/glslang/MachineIndependent/preprocessor/PpTokens.cpp +++ b/glslang/MachineIndependent/preprocessor/PpTokens.cpp @@ -112,6 +112,12 @@ int TPpContext::lReadByte(TokenStream *pTok) return tInput::endOfInput; } +void TPpContext::lUnreadByte(TokenStream *pTok) +{ + if (pTok->current > 0) + --pTok->current; +} + /* * Add a token to the end of a list for later playback. */ @@ -171,6 +177,16 @@ int TPpContext::ReadToken(TokenStream *pTok, TPpToken *ppToken) if (ltoken > 127) ltoken += 128; switch (ltoken) { + case '#': + if (lReadByte(pTok) == '#') { + parseContext.requireProfile(ppToken->loc, ~EEsProfile, "token pasting (##)"); + parseContext.profileRequires(ppToken->loc, ~EEsProfile, 130, 0, "token pasting (##)"); + parseContext.error(ppToken->loc, "token pasting not implemented (internal error)", "##", ""); + //return CPP_TOKEN_PASTE; + return ReadToken(pTok, ppToken); + } else + lUnreadByte(pTok); + break; case CPP_STRCONSTANT: case CPP_IDENTIFIER: case CPP_FLOATCONSTANT: diff --git a/glslang/MachineIndependent/preprocessor/PpTokens.h b/glslang/MachineIndependent/preprocessor/PpTokens.h index ae00abb..022fc33 100644 --- a/glslang/MachineIndependent/preprocessor/PpTokens.h +++ b/glslang/MachineIndependent/preprocessor/PpTokens.h @@ -110,7 +110,8 @@ NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define CPP_RIGHT_BRACE 288 #define CPP_UINTCONSTANT 289 #define CPP_DOUBLECONSTANT 290 +#define CPP_TOKEN_PASTE 291 -#define CPP_FIRST_USER_TOKEN_SY 291 +#define CPP_FIRST_USER_TOKEN_SY 292 #endif /* not PARSER_H */