Restore r26245 and all tests and test results since 4/1:
authorJohn Kessenich <cepheus@frii.com>
Mon, 14 Apr 2014 15:46:40 +0000 (15:46 +0000)
committerJohn Kessenich <cepheus@frii.com>
Mon, 14 Apr 2014 15:46:40 +0000 (15:46 +0000)
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

125 files changed:
Test/120.vert
Test/420_size_gl_in.geom
Test/array.frag
Test/baseResults/100.frag.out
Test/baseResults/100Limits.vert.out
Test/baseResults/100scope.vert.out
Test/baseResults/110scope.vert.out
Test/baseResults/120.frag.out
Test/baseResults/120.vert.out
Test/baseResults/130.frag.out
Test/baseResults/140.frag.out
Test/baseResults/150.frag.out
Test/baseResults/150.geom.out
Test/baseResults/150.tesc.out
Test/baseResults/150.vert.out
Test/baseResults/300.frag.out
Test/baseResults/300.vert.out
Test/baseResults/300BuiltIns.frag.out
Test/baseResults/300block.frag.out
Test/baseResults/300layout.frag.out
Test/baseResults/300layout.vert.out
Test/baseResults/300link.frag.out
Test/baseResults/300link2.frag.out
Test/baseResults/300link3.frag.out
Test/baseResults/300operations.frag.out
Test/baseResults/300scope.vert.out
Test/baseResults/330.frag.out
Test/baseResults/330comp.frag.out
Test/baseResults/400.frag.out
Test/baseResults/400.geom.out
Test/baseResults/410.geom.out
Test/baseResults/420.geom.out
Test/baseResults/420.vert.out
Test/baseResults/420_size_gl_in.geom.out
Test/baseResults/430.comp.out
Test/baseResults/430.vert.out
Test/baseResults/430scope.vert.out
Test/baseResults/440.frag.out
Test/baseResults/440.vert.out
Test/baseResults/Operations.frag.out
Test/baseResults/aggOps.frag.out
Test/baseResults/always-discard.frag.out
Test/baseResults/always-discard2.frag.out
Test/baseResults/array.frag.out
Test/baseResults/array100.frag.out
Test/baseResults/comment.frag.out
Test/baseResults/conditionalDiscard.frag.out
Test/baseResults/constErrors.frag.out
Test/baseResults/constFold.frag.out
Test/baseResults/conversion.frag.out
Test/baseResults/cppComplexExpr.vert.out
Test/baseResults/cppIndent.vert.out
Test/baseResults/cppNest.vert.out
Test/baseResults/cppSimple.vert.out
Test/baseResults/dataOut.frag.out
Test/baseResults/dataOutIndirect.frag.out
Test/baseResults/dce.frag.out
Test/baseResults/decls.frag.out
Test/baseResults/deepRvalue.frag.out
Test/baseResults/depthOut.frag.out
Test/baseResults/discard-dce.frag.out
Test/baseResults/doWhileLoop.frag.out
Test/baseResults/earlyReturnDiscard.frag.out
Test/baseResults/errors.frag.out
Test/baseResults/flowControl.frag.out
Test/baseResults/forLoop.frag.out
Test/baseResults/forwardRef.frag.out
Test/baseResults/functionCall.frag.out
Test/baseResults/functionSemantics.frag.out
Test/baseResults/length.frag.out
Test/baseResults/lineContinuation.vert.out
Test/baseResults/lineContinuation100.vert.out
Test/baseResults/link1.frag.out
Test/baseResults/localAggregates.frag.out
Test/baseResults/loops.frag.out
Test/baseResults/loopsArtificial.frag.out
Test/baseResults/mains1.frag.out
Test/baseResults/matrix.frag.out
Test/baseResults/matrix2.frag.out
Test/baseResults/matrixError.vert.out
Test/baseResults/newTexture.frag.out
Test/baseResults/noMain.vert.out
Test/baseResults/nonSquare.vert.out
Test/baseResults/numeral.frag.out
Test/baseResults/pointCoord.frag.out
Test/baseResults/precision.frag.out
Test/baseResults/precision.vert.out
Test/baseResults/prepost.frag.out
Test/baseResults/recurse1.vert.out
Test/baseResults/reflection.vert.out
Test/baseResults/sample.frag.out
Test/baseResults/sample.vert.out
Test/baseResults/simpleFunctionCall.frag.out
Test/baseResults/specExamples.frag.out
Test/baseResults/specExamples.vert.out
Test/baseResults/structAssignment.frag.out
Test/baseResults/structDeref.frag.out
Test/baseResults/structure.frag.out
Test/baseResults/switch.frag.out
Test/baseResults/swizzle.frag.out
Test/baseResults/syntaxError.frag.out
Test/baseResults/test.frag.out
Test/baseResults/texture.frag.out
Test/baseResults/tokenLength.vert.out
Test/baseResults/types.frag.out
Test/baseResults/uint.frag.out
Test/baseResults/uniformArray.frag.out
Test/baseResults/variableArrayIndex.frag.out
Test/baseResults/varyingArray.frag.out
Test/baseResults/varyingArrayIndirect.frag.out
Test/baseResults/versionsClean.frag.out
Test/baseResults/versionsClean.vert.out
Test/baseResults/versionsErrors.frag.out
Test/baseResults/versionsErrors.vert.out
Test/baseResults/voidFunction.frag.out
Test/baseResults/whileLoop.frag.out
Test/runtests
Test/testlist
Todo.txt
glslang/MachineIndependent/ShaderLang.cpp
glslang/MachineIndependent/preprocessor/Pp.cpp
glslang/MachineIndependent/preprocessor/PpContext.h
glslang/MachineIndependent/preprocessor/PpScanner.cpp
glslang/MachineIndependent/preprocessor/PpTokens.cpp
glslang/MachineIndependent/preprocessor/PpTokens.h

index 65e1a78..cc7a872 100644 (file)
@@ -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);
index fd6d134..b709d5a 100644 (file)
@@ -13,7 +13,7 @@ void foo()
     gl_in.length();\r
     gl_in[1].gl_Position;\r
     gl_in.length();\r
-    gl_in[i].gl_Position;\r
+    gl_in[i].gl_Position;   // should be sized to 3 by 'triangles'\r
 }\r
 \r
 in gl_PerVertex {  // ERROR, already used\r
index e51a7c9..8e3687f 100644 (file)
@@ -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
+}
index 6a74e77..bf72cd8 100644 (file)
@@ -331,7 +331,7 @@ ERROR: node is still EOpNull!
 0:?     'uint' (mediump int)\r
 0:?     'v' (smooth in 3-element array of mediump 4-component vector of float)\r
 0:?     'f' (mediump float)\r
-0:?     '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})\r
+0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})\r
 0:?     'fa' (implicitly-sized array of mediump float)\r
 0:?     'f13' (mediump float)\r
 0:?     'fi' (invariant mediump float)\r
@@ -361,4 +361,277 @@ Requested GL_EXT_shader_texture_lod
 Requested GL_OES_EGL_image_external\r
 Requested GL_OES_standard_derivatives\r
 Requested GL_OES_texture_3D\r
+ERROR: node is still EOpNull!\r
+0:3  Sequence\r
+0:3    move second child to first child (3-element array of mediump int)\r
+0:3      'a' (3-element array of mediump int)\r
+0:3      Constant:\r
+0:3        2 (const int)\r
+0:3        3 (const int)\r
+0:3        4 (const int)\r
+0:17  Function Definition: main( (void)\r
+0:17    Function Parameters: \r
+0:19    Sequence\r
+0:19      Constant:\r
+0:19        0.000000\r
+0:20      Sequence\r
+0:20        move second child to first child (mediump int)\r
+0:20          's' (mediump int)\r
+0:20          Constant:\r
+0:20            16 (const int)\r
+0:21      move second child to first child (mediump int)\r
+0:21        's' (mediump int)\r
+0:21        Constant:\r
+0:21          4 (const int)\r
+0:22      Test condition and select (void)\r
+0:22        Condition\r
+0:22        Compare Equal (bool)\r
+0:22          'a' (3-element array of mediump int)\r
+0:22          'a' (3-element array of mediump int)\r
+0:22        true case is null\r
+0:24      move second child to first child (mediump int)\r
+0:24        'b' (mediump int)\r
+0:24        bitwise and (mediump int)\r
+0:24          'c' (mediump int)\r
+0:24          Constant:\r
+0:24            4 (const int)\r
+0:25      move second child to first child (mediump int)\r
+0:25        'b' (mediump int)\r
+0:25        mod (mediump int)\r
+0:25          'c' (mediump int)\r
+0:25          Constant:\r
+0:25            4 (const int)\r
+0:26      move second child to first child (mediump int)\r
+0:26        'b' (mediump int)\r
+0:26        inclusive-or (mediump int)\r
+0:26          'c' (mediump int)\r
+0:26          Constant:\r
+0:26            4 (const int)\r
+0:27      right shift second child into first child (mediump int)\r
+0:27        'b' (mediump int)\r
+0:27        Constant:\r
+0:27          2 (const int)\r
+0:28      left shift second child into first child (mediump int)\r
+0:28        'b' (mediump int)\r
+0:28        Constant:\r
+0:28          2 (const int)\r
+0:29      mod second child into first child (mediump int)\r
+0:29        'b' (mediump int)\r
+0:29        Constant:\r
+0:29          3 (const int)\r
+0:36      move second child to first child (structure{mediump float f, 10-element array of mediump float a})\r
+0:36        's1' (structure{mediump float f, 10-element array of mediump float a})\r
+0:36        's2' (structure{mediump float f, 10-element array of mediump float a})\r
+0:37      Test condition and select (void)\r
+0:37        Condition\r
+0:37        Compare Equal (bool)\r
+0:37          's1' (structure{mediump float f, 10-element array of mediump float a})\r
+0:37          's2' (structure{mediump float f, 10-element array of mediump float a})\r
+0:37        true case is null\r
+0:38      Test condition and select (void)\r
+0:38        Condition\r
+0:38        Compare Not Equal (bool)\r
+0:38          's1' (structure{mediump float f, 10-element array of mediump float a})\r
+0:38          's2' (structure{mediump float f, 10-element array of mediump float a})\r
+0:38        true case is null\r
+0:40      'b' (mediump int)\r
+0:54  Function Definition: foo10( (void)\r
+0:54    Function Parameters: \r
+0:67  Function Definition: f11(s21; (void)\r
+0:67    Function Parameters: \r
+0:67      'p2d' (in lowp sampler2D)\r
+0:87  Function Definition: foo234( (void)\r
+0:87    Function Parameters: \r
+0:89    Sequence\r
+0:89      Function Call: texture3D(s31;vf3;f1; (highp 4-component vector of float)\r
+0:89        's3D2' (uniform highp sampler3D)\r
+0:89        Constant:\r
+0:89          0.200000\r
+0:89          0.200000\r
+0:89          0.200000\r
+0:89        Constant:\r
+0:89          0.200000\r
+0:90      Function Call: texture3DProj(s31;vf4;f1; (highp 4-component vector of float)\r
+0:90        's3D2' (uniform highp sampler3D)\r
+0:90        direct index (smooth mediump 4-component vector of float)\r
+0:90          'v' (smooth in 3-element array of mediump 4-component vector of float)\r
+0:90          Constant:\r
+0:90            1 (const int)\r
+0:90        Constant:\r
+0:90          0.400000\r
+0:91      dPdx (mediump 4-component vector of float)\r
+0:91        direct index (smooth mediump 4-component vector of float)\r
+0:91          'v' (smooth in 3-element array of mediump 4-component vector of float)\r
+0:91          Constant:\r
+0:91            0 (const int)\r
+0:92      Constant:\r
+0:92        0.000000\r
+0:93      fwidth (mediump float)\r
+0:93        'f13' (invariant mediump float)\r
+0:98  Function Definition: foo236( (void)\r
+0:98    Function Parameters: \r
+0:100    Sequence\r
+0:100      dPdx (mediump 4-component vector of float)\r
+0:100        direct index (smooth mediump 4-component vector of float)\r
+0:100          'v' (smooth in 3-element array of mediump 4-component vector of float)\r
+0:100          Constant:\r
+0:100            0 (const int)\r
+0:101      Constant:\r
+0:101        0.000000\r
+0:102      fwidth (mediump float)\r
+0:102        'f13' (invariant mediump float)\r
+0:103      move second child to first child (mediump float)\r
+0:103        'gl_FragDepth' (mediump float)\r
+0:103        'f13' (invariant mediump float)\r
+0:104      move second child to first child (highp float)\r
+0:104        'gl_FragDepthEXT' (gl_FragDepth highp float)\r
+0:104        'f13' (invariant mediump float)\r
+0:109  Function Definition: foo239( (void)\r
+0:109    Function Parameters: \r
+0:111    Sequence\r
+0:111      move second child to first child (mediump float)\r
+0:111        'gl_FragDepth' (mediump float)\r
+0:111        'f13' (invariant mediump float)\r
+0:112      move second child to first child (highp float)\r
+0:112        'gl_FragDepthEXT' (gl_FragDepth highp float)\r
+0:112        'f13' (invariant mediump float)\r
+0:119  Function Definition: foo245( (void)\r
+0:119    Function Parameters: \r
+0:121    Sequence\r
+0:121      Function Call: texture2D(sE21;vf2; (lowp 4-component vector of float)\r
+0:121        'sExt' (uniform lowp samplerExternalOES)\r
+0:121        Constant:\r
+0:121          0.200000\r
+0:121          0.200000\r
+0:122      Function Call: texture2DProj(sE21;vf3; (lowp 4-component vector of float)\r
+0:122        'sExt' (uniform lowp samplerExternalOES)\r
+0:122        Construct vec3 (3-component vector of float)\r
+0:122          'f13' (invariant mediump float)\r
+0:123      Function Call: texture2DProj(sE21;vf4; (lowp 4-component vector of float)\r
+0:123        'sExt' (uniform lowp samplerExternalOES)\r
+0:123        direct index (smooth mediump 4-component vector of float)\r
+0:123          'v' (smooth in 3-element array of mediump 4-component vector of float)\r
+0:123          Constant:\r
+0:123            2 (const int)\r
+0:130  Function Definition: foo246( (void)\r
+0:130    Function Parameters: \r
+0:132    Sequence\r
+0:132      Function Call: texture2D(sE21;vf2; (mediump 4-component vector of float)\r
+0:132        'mediumExt' (uniform mediump samplerExternalOES)\r
+0:132        Constant:\r
+0:132          0.200000\r
+0:132          0.200000\r
+0:133      Function Call: texture2DProj(sE21;vf4; (highp 4-component vector of float)\r
+0:133        'highExt' (uniform highp samplerExternalOES)\r
+0:133        direct index (smooth mediump 4-component vector of float)\r
+0:133          'v' (smooth in 3-element array of mediump 4-component vector of float)\r
+0:133          Constant:\r
+0:133            2 (const int)\r
+0:134      Constant:\r
+0:134        0.000000\r
+0:135      Constant:\r
+0:135        0.000000\r
+0:137      Bitwise not (mediump int)\r
+0:137        'a' (mediump int)\r
+0:138      inclusive-or (mediump int)\r
+0:138        'a' (mediump int)\r
+0:138        'a' (mediump int)\r
+0:139      bitwise and (mediump int)\r
+0:139        'a' (mediump int)\r
+0:139        'a' (mediump int)\r
+0:145  Function Definition: foo203940(i1;f1;f1; (mediump int)\r
+0:145    Function Parameters: \r
+0:145      'a' (in mediump int)\r
+0:145      'b' (in mediump float)\r
+0:147    Sequence\r
+0:147      Function Call: texture2DProjGradEXT(s21;vf3;vf2;vf2; (lowp 4-component vector of float)\r
+0:147        's2Dg' (uniform lowp sampler2D)\r
+0:147        Construct vec3 (3-component vector of float)\r
+0:147          'f13' (invariant mediump float)\r
+0:147        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:147        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:148      Branch: Return with expression\r
+0:148        'a' (in mediump int)\r
+0:151  Sequence\r
+0:151    move second child to first child (mediump float)\r
+0:151      'f123' (mediump float)\r
+0:151      Constant:\r
+0:151        4.000000\r
+0:152  Sequence\r
+0:152    move second child to first child (mediump float)\r
+0:152      'f124' (mediump float)\r
+0:152      Constant:\r
+0:152        50000000000.000000\r
+0:158  Function Definition: foo323433( (void)\r
+0:158    Function Parameters: \r
+0:160    Sequence\r
+0:160      Function Call: texture2DLodEXT(s21;vf2;f1; (lowp 4-component vector of float)\r
+0:160        's2Dg' (uniform lowp sampler2D)\r
+0:160        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:160        'f13' (invariant mediump float)\r
+0:161      Function Call: texture2DProjGradEXT(s21;vf3;vf2;vf2; (lowp 4-component vector of float)\r
+0:161        's2Dg' (uniform lowp sampler2D)\r
+0:161        Construct vec3 (3-component vector of float)\r
+0:161          'f13' (invariant mediump float)\r
+0:161        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:161        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:162      Function Call: texture2DGradEXT(s21;vf2;vf2;vf2; (lowp 4-component vector of float)\r
+0:162        's2Dg' (uniform lowp sampler2D)\r
+0:162        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:162        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:162        'uv2' (invariant uniform mediump 2-component vector of float)\r
+0:163      Function Call: textureCubeGradEXT(sC1;vf3;vf3;vf3; (lowp 4-component vector of float)\r
+0:163        'sCube' (uniform lowp samplerCube)\r
+0:163        Construct vec3 (3-component vector of float)\r
+0:163          'f13' (invariant mediump float)\r
+0:163        Construct vec3 (3-component vector of float)\r
+0:163          'f13' (invariant mediump float)\r
+0:163        Construct vec3 (3-component vector of float)\r
+0:163          'f13' (invariant mediump float)\r
+0:167  Function Definition: fgfg(f1;i1; (mediump int)\r
+0:167    Function Parameters: \r
+0:167      'f' (in mediump float)\r
+0:167      'i' (in highp int)\r
+0:167    Sequence\r
+0:167      Branch: Return with expression\r
+0:167        Constant:\r
+0:167          2 (const int)\r
+0:173  Function Definition: gggf(f1; (mediump int)\r
+0:173    Function Parameters: \r
+0:173      'f' (in mediump float)\r
+0:173    Sequence\r
+0:173      Branch: Return with expression\r
+0:173        Constant:\r
+0:173          2 (const int)\r
+0:175  Function Definition: agggf(f1; (mediump int)\r
+0:175    Function Parameters: \r
+0:175      'f' (in mediump float)\r
+0:175    Sequence\r
+0:175      Branch: Return with expression\r
+0:175        Constant:\r
+0:175          2 (const int)\r
+0:?   Linker Objects\r
+0:?     'a' (3-element array of mediump int)\r
+0:?     'uint' (mediump int)\r
+0:?     'v' (smooth in 3-element array of mediump 4-component vector of float)\r
+0:?     'f' (mediump float)\r
+0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump int x})\r
+0:?     'fa' (1-element array of mediump float)\r
+0:?     'f13' (mediump float)\r
+0:?     'fi' (invariant mediump float)\r
+0:?     'av' (smooth in mediump 4-component vector of float)\r
+0:?     'uv2' (uniform mediump 2-component vector of float)\r
+0:?     'uv3' (invariant uniform mediump 3-component vector of float)\r
+0:?     'glob2D' (lowp sampler2D)\r
+0:?     'vary2D' (smooth in lowp sampler2D)\r
+0:?     's3D' (uniform mediump sampler3D)\r
+0:?     's3D2' (uniform highp sampler3D)\r
+0:?     'sExt' (uniform lowp samplerExternalOES)\r
+0:?     'mediumExt' (uniform mediump samplerExternalOES)\r
+0:?     'highExt' (uniform highp samplerExternalOES)\r
+0:?     's2Dg' (uniform lowp sampler2D)\r
+0:?     'f123' (mediump float)\r
+0:?     'f124' (mediump float)\r
+0:?     'sCube' (uniform lowp samplerCube)\r
+0:?     's' (smooth in structure{mediump float f})\r
 \r
index 2c02af1..6bfa19b 100644 (file)
@@ -447,4 +447,444 @@ Linked vertex stage:
 \r
 \r
 Shader version: 100\r
+0:? Sequence\r
+0:15  Function Definition: foo(f1; (void)\r
+0:15    Function Parameters: \r
+0:15      'a' (inout highp float)\r
+0:17  Function Definition: bar( (highp int)\r
+0:17    Function Parameters: \r
+0:19    Sequence\r
+0:19      Branch: Return with expression\r
+0:19        Constant:\r
+0:19          1 (const int)\r
+0:22  Function Definition: main( (void)\r
+0:22    Function Parameters: \r
+0:24    Sequence\r
+0:24      Loop with condition tested first\r
+0:24        Loop Condition\r
+0:24        Compare Less Than (bool)\r
+0:24          'ga' (highp int)\r
+0:24          'gb' (highp int)\r
+0:24        No loop body\r
+0:26      Loop with condition not tested first\r
+0:26        Loop Condition\r
+0:26        Constant:\r
+0:26          false (const bool)\r
+0:26        No loop body\r
+0:28      Sequence\r
+0:28        Loop with condition tested first\r
+0:28          No loop condition\r
+0:28          No loop body\r
+0:29      Sequence\r
+0:29        Loop with condition tested first\r
+0:29          Loop Condition\r
+0:29          Compare Equal (bool)\r
+0:29            'ga' (highp int)\r
+0:29            'gb' (highp int)\r
+0:29          No loop body\r
+0:30      Sequence\r
+0:30        Loop with condition tested first\r
+0:30          No loop condition\r
+0:30          No loop body\r
+0:30          Loop Terminal Expression\r
+0:30          Post-Increment (highp float)\r
+0:30            'f' (highp float)\r
+0:31      Sequence\r
+0:31        move second child to first child (highp int)\r
+0:31          'ga' (highp int)\r
+0:31          Constant:\r
+0:31            0 (const int)\r
+0:31        Loop with condition tested first\r
+0:31          No loop condition\r
+0:31          No loop body\r
+0:32      Sequence\r
+0:32        Sequence\r
+0:32          move second child to first child (bool)\r
+0:32            'a' (bool)\r
+0:32            Constant:\r
+0:32              false (const bool)\r
+0:32        Loop with condition tested first\r
+0:32          No loop condition\r
+0:32          No loop body\r
+0:33      Sequence\r
+0:33        Sequence\r
+0:33          move second child to first child (highp float)\r
+0:33            'a' (highp float)\r
+0:33            Constant:\r
+0:33              0.000000\r
+0:33        Loop with condition tested first\r
+0:33          Loop Condition\r
+0:33          Compare Equal (bool)\r
+0:33            'a' (highp float)\r
+0:33            sine (highp float)\r
+0:33              'f' (highp float)\r
+0:33          No loop body\r
+0:34      Sequence\r
+0:34        Sequence\r
+0:34          move second child to first child (highp int)\r
+0:34            'a' (highp int)\r
+0:34            Constant:\r
+0:34              0 (const int)\r
+0:34        Loop with condition tested first\r
+0:34          Loop Condition\r
+0:34          Compare Less Than (bool)\r
+0:34            'a' (highp int)\r
+0:34            Constant:\r
+0:34              10 (const int)\r
+0:34          No loop body\r
+0:34          Loop Terminal Expression\r
+0:34          multiply second child into first child (highp int)\r
+0:34            'a' (highp int)\r
+0:34            Constant:\r
+0:34              2 (const int)\r
+0:35      Sequence\r
+0:35        Sequence\r
+0:35          move second child to first child (highp int)\r
+0:35            'a' (highp int)\r
+0:35            Constant:\r
+0:35              0 (const int)\r
+0:35        Loop with condition tested first\r
+0:35          Loop Condition\r
+0:35          Compare Less Than or Equal (bool)\r
+0:35            'a' (highp int)\r
+0:35            Constant:\r
+0:35              20 (const int)\r
+0:35          Loop Body\r
+0:35          Pre-Decrement (highp int)\r
+0:35            'a' (highp int)\r
+0:35          Loop Terminal Expression\r
+0:35          Post-Increment (highp int)\r
+0:35            'a' (highp int)\r
+0:36      Sequence\r
+0:36        Sequence\r
+0:36          move second child to first child (highp int)\r
+0:36            'a' (highp int)\r
+0:36            Constant:\r
+0:36              0 (const int)\r
+0:36        Loop with condition tested first\r
+0:36          Loop Condition\r
+0:36          Compare Less Than or Equal (bool)\r
+0:36            'a' (highp int)\r
+0:36            Constant:\r
+0:36              20 (const int)\r
+0:36          Loop Body\r
+0:36          Sequence\r
+0:36            Test condition and select (void)\r
+0:36              Condition\r
+0:36              Compare Equal (bool)\r
+0:36                'ga' (highp int)\r
+0:36                Constant:\r
+0:36                  0 (const int)\r
+0:36              true case\r
+0:36              move second child to first child (highp int)\r
+0:36                'a' (highp int)\r
+0:36                Constant:\r
+0:36                  4 (const int)\r
+0:36          Loop Terminal Expression\r
+0:36          Post-Increment (highp int)\r
+0:36            'a' (highp int)\r
+0:37      Sequence\r
+0:37        Sequence\r
+0:37          move second child to first child (highp float)\r
+0:37            'a' (highp float)\r
+0:37            Constant:\r
+0:37              0.000000\r
+0:37        Loop with condition tested first\r
+0:37          Loop Condition\r
+0:37          Compare Less Than or Equal (bool)\r
+0:37            'a' (highp float)\r
+0:37            Constant:\r
+0:37              20.000000\r
+0:37          No loop body\r
+0:37          Loop Terminal Expression\r
+0:37          add second child into first child (highp float)\r
+0:37            'a' (highp float)\r
+0:37            Constant:\r
+0:37              2.000000\r
+0:38      Sequence\r
+0:38        Sequence\r
+0:38          move second child to first child (highp float)\r
+0:38            'a' (highp float)\r
+0:38            Constant:\r
+0:38              0.000000\r
+0:38        Loop with condition tested first\r
+0:38          Loop Condition\r
+0:38          Compare Not Equal (bool)\r
+0:38            'a' (highp float)\r
+0:38            Constant:\r
+0:38              20.000000\r
+0:38          Loop Body\r
+0:38          Sequence\r
+0:38            Test condition and select (void)\r
+0:38              Condition\r
+0:38              Compare Equal (bool)\r
+0:38                'ga' (highp int)\r
+0:38                Constant:\r
+0:38                  0 (const int)\r
+0:38              true case\r
+0:38              move second child to first child (highp int)\r
+0:38                'ga' (highp int)\r
+0:38                Constant:\r
+0:38                  4 (const int)\r
+0:38          Loop Terminal Expression\r
+0:38          subtract second child into first child (highp float)\r
+0:38            'a' (highp float)\r
+0:38            Constant:\r
+0:38              2.000000\r
+0:39      Sequence\r
+0:39        Sequence\r
+0:39          move second child to first child (highp float)\r
+0:39            'a' (highp float)\r
+0:39            Constant:\r
+0:39              0.000000\r
+0:39        Loop with condition tested first\r
+0:39          Loop Condition\r
+0:39          Compare Equal (bool)\r
+0:39            'a' (highp float)\r
+0:39            Constant:\r
+0:39              20.000000\r
+0:39          Loop Body\r
+0:39          Sequence\r
+0:39            Sequence\r
+0:39              move second child to first child (highp float)\r
+0:39                'a' (highp float)\r
+0:39                Constant:\r
+0:39                  0.000000\r
+0:39            Loop with condition tested first\r
+0:39              Loop Condition\r
+0:39              Compare Equal (bool)\r
+0:39                'a' (highp float)\r
+0:39                Constant:\r
+0:39                  20.000000\r
+0:39              No loop body\r
+0:39              Loop Terminal Expression\r
+0:39              Post-Decrement (highp float)\r
+0:39                'a' (highp float)\r
+0:39          Loop Terminal Expression\r
+0:39          Post-Decrement (highp float)\r
+0:39            'a' (highp float)\r
+0:40      Sequence\r
+0:40        Sequence\r
+0:40          move second child to first child (highp float)\r
+0:40            'a' (highp float)\r
+0:40            Constant:\r
+0:40              0.000000\r
+0:40        Loop with condition tested first\r
+0:40          Loop Condition\r
+0:40          Compare Less Than or Equal (bool)\r
+0:40            'a' (highp float)\r
+0:40            Constant:\r
+0:40              20.000000\r
+0:40          No loop body\r
+0:40          Loop Terminal Expression\r
+0:40          add second child into first child (highp float)\r
+0:40            'a' (highp float)\r
+0:40            Constant:\r
+0:40              2.000000\r
+0:41      Sequence\r
+0:41        Sequence\r
+0:41          move second child to first child (highp float)\r
+0:41            'a' (highp float)\r
+0:41            Constant:\r
+0:41              0.000000\r
+0:41        Loop with condition tested first\r
+0:41          Loop Condition\r
+0:41          Compare Less Than or Equal (bool)\r
+0:41            'a' (highp float)\r
+0:41            Constant:\r
+0:41              20.000000\r
+0:41          No loop body\r
+0:41          Loop Terminal Expression\r
+0:41          add second child into first child (highp float)\r
+0:41            'a' (highp float)\r
+0:41            Constant:\r
+0:41              2.000000\r
+0:42      Sequence\r
+0:42        Sequence\r
+0:42          move second child to first child (highp float)\r
+0:42            'a' (highp float)\r
+0:42            Constant:\r
+0:42              0.000000\r
+0:42        Loop with condition tested first\r
+0:42          Loop Condition\r
+0:42          Compare Greater Than (bool)\r
+0:42            'a' (highp float)\r
+0:42            Constant:\r
+0:42              40.000000\r
+0:42          No loop body\r
+0:42          Loop Terminal Expression\r
+0:42          add second child into first child (highp float)\r
+0:42            'a' (highp float)\r
+0:42            Constant:\r
+0:42              2.000000\r
+0:43      Sequence\r
+0:43        Sequence\r
+0:43          move second child to first child (highp float)\r
+0:43            'a' (highp float)\r
+0:43            Constant:\r
+0:43              0.000000\r
+0:43        Loop with condition tested first\r
+0:43          Loop Condition\r
+0:43          Compare Greater Than or Equal (bool)\r
+0:43            'a' (highp float)\r
+0:43            Constant:\r
+0:43              20.000000\r
+0:43          Loop Body\r
+0:43          Function Call: foo(f1; (void)\r
+0:43            'a' (highp float)\r
+0:43          Loop Terminal Expression\r
+0:43          add second child into first child (highp float)\r
+0:43            'a' (highp float)\r
+0:43            Constant:\r
+0:43              2.000000\r
+0:47      indirect index (lowp sampler2D)\r
+0:47        'fsa' (uniform 3-element array of lowp sampler2D)\r
+0:47        'ga' (highp int)\r
+0:48      indirect index (highp float)\r
+0:48        'fua' (uniform 10-element array of highp float)\r
+0:48        'ga' (highp int)\r
+0:49      indirect index (highp 3-component vector of float)\r
+0:49        'am3' (in highp 3X3 matrix of float)\r
+0:49        'ga' (highp int)\r
+0:50      indirect index (highp float)\r
+0:50        'av2' (in highp 2-component vector of float)\r
+0:50        'ga' (highp int)\r
+0:51      indirect index (smooth highp 4-component vector of float)\r
+0:51        'va' (smooth out 4-element array of highp 4-component vector of float)\r
+0:51        add (highp int)\r
+0:51          Constant:\r
+0:51            2 (const int)\r
+0:51          'ga' (highp int)\r
+0:52      indirect index (highp 2-component vector of float)\r
+0:52        Constant:\r
+0:52          1.000000\r
+0:52          0.000000\r
+0:52          0.000000\r
+0:52          1.000000\r
+0:52        'ga' (highp int)\r
+0:53      indirect index (highp float)\r
+0:53        Constant:\r
+0:53          2.000000\r
+0:53          2.000000\r
+0:53          2.000000\r
+0:53        divide (highp int)\r
+0:53          'ga' (highp int)\r
+0:53          Constant:\r
+0:53            2 (const int)\r
+0:54      indirect index (highp int)\r
+0:54        'ia' (9-element array of highp int)\r
+0:54        'ga' (highp int)\r
+0:56      Sequence\r
+0:56        Sequence\r
+0:56          move second child to first child (highp int)\r
+0:56            'a' (highp int)\r
+0:56            Constant:\r
+0:56              3 (const int)\r
+0:56        Loop with condition tested first\r
+0:56          Loop Condition\r
+0:56          Compare Greater Than or Equal (bool)\r
+0:56            'a' (highp int)\r
+0:56            Constant:\r
+0:56              0 (const int)\r
+0:56          Loop Body\r
+0:57          Sequence\r
+0:57            indirect index (lowp sampler2D)\r
+0:57              'fsa' (uniform 3-element array of lowp sampler2D)\r
+0:57              'a' (highp int)\r
+0:58            indirect index (highp float)\r
+0:58              'fua' (uniform 10-element array of highp float)\r
+0:58              add (highp int)\r
+0:58                'a' (highp int)\r
+0:58                Constant:\r
+0:58                  2 (const int)\r
+0:59            indirect index (highp 3-component vector of float)\r
+0:59              'am3' (in highp 3X3 matrix of float)\r
+0:59              component-wise multiply (highp int)\r
+0:59                Constant:\r
+0:59                  3 (const int)\r
+0:59                'a' (highp int)\r
+0:60            indirect index (highp float)\r
+0:60              'av2' (in highp 2-component vector of float)\r
+0:60              component-wise multiply (highp int)\r
+0:60                Constant:\r
+0:60                  3 (const int)\r
+0:60                'a' (highp int)\r
+0:61            indirect index (smooth highp 4-component vector of float)\r
+0:61              'va' (smooth out 4-element array of highp 4-component vector of float)\r
+0:61              subtract (highp int)\r
+0:61                'a' (highp int)\r
+0:61                Constant:\r
+0:61                  1 (const int)\r
+0:62            indirect index (highp 2-component vector of float)\r
+0:62              Constant:\r
+0:62                1.000000\r
+0:62                0.000000\r
+0:62                0.000000\r
+0:62                1.000000\r
+0:62              divide (highp int)\r
+0:62                'a' (highp int)\r
+0:62                Constant:\r
+0:62                  2 (const int)\r
+0:63            indirect index (highp float)\r
+0:63              Constant:\r
+0:63                2.000000\r
+0:63                2.000000\r
+0:63                2.000000\r
+0:63              'a' (highp int)\r
+0:64            indirect index (highp int)\r
+0:64              'ia' (9-element array of highp int)\r
+0:64              'a' (highp int)\r
+0:65            indirect index (highp int)\r
+0:65              'ia' (9-element array of highp int)\r
+0:65              Function Call: bar( (highp int)\r
+0:56          Loop Terminal Expression\r
+0:56          Post-Decrement (highp int)\r
+0:56            'a' (highp int)\r
+0:68      direct index (lowp sampler2D)\r
+0:68        'fsa' (uniform 3-element array of lowp sampler2D)\r
+0:68        Constant:\r
+0:68          2 (const int)\r
+0:69      direct index (highp float)\r
+0:69        'fua' (uniform 10-element array of highp float)\r
+0:69        Constant:\r
+0:69          3 (const int)\r
+0:70      direct index (highp 3-component vector of float)\r
+0:70        'am3' (in highp 3X3 matrix of float)\r
+0:70        Constant:\r
+0:70          2 (const int)\r
+0:71      direct index (highp float)\r
+0:71        'av2' (in highp 2-component vector of float)\r
+0:71        Constant:\r
+0:71          1 (const int)\r
+0:72      direct index (smooth highp 4-component vector of float)\r
+0:72        'va' (smooth out 4-element array of highp 4-component vector of float)\r
+0:72        Constant:\r
+0:72          1 (const int)\r
+0:73      Constant:\r
+0:73        0.000000\r
+0:73        1.000000\r
+0:74      Constant:\r
+0:74        2.000000\r
+0:75      direct index (highp int)\r
+0:75        'ia' (9-element array of highp int)\r
+0:75        Constant:\r
+0:75          3 (const int)\r
+0:?   Linker Objects\r
+0:?     'ga' (highp int)\r
+0:?     'gb' (highp int)\r
+0:?     'f' (highp float)\r
+0:?     'fsa' (uniform 3-element array of lowp sampler2D)\r
+0:?     'fua' (uniform 10-element array of highp float)\r
+0:?     'am3' (in highp 3X3 matrix of float)\r
+0:?     'av2' (in highp 2-component vector of float)\r
+0:?     'va' (smooth out 4-element array of highp 4-component vector of float)\r
+0:?     'm2' (const highp 2X2 matrix of float)\r
+0:?       1.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?       1.000000\r
+0:?     'v3' (const highp 3-component vector of float)\r
+0:?       2.000000\r
+0:?       2.000000\r
+0:?       2.000000\r
 \r
index dcdc1d9..fda627c 100644 (file)
@@ -128,4 +128,111 @@ Linked vertex stage:
 \r
 \r
 Shader version: 100\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: f(i1;i1;i1; (highp int)\r
+0:3    Function Parameters: \r
+0:3      'a' (in highp int)\r
+0:3      'b' (in highp int)\r
+0:3      'c' (in highp int)\r
+0:?     Sequence\r
+0:8      Sequence\r
+0:8        Sequence\r
+0:8          move second child to first child (highp float)\r
+0:8            'a' (highp float)\r
+0:8            add (highp float)\r
+0:8              Convert int to float (highp float)\r
+0:8                'a' (in highp int)\r
+0:8              Constant:\r
+0:8                1.000000\r
+0:11      Branch: Return with expression\r
+0:11        'a' (in highp int)\r
+0:25  Function Definition: cos(f1; (highp float)\r
+0:25    Function Parameters: \r
+0:25      'x' (in highp float)\r
+0:27    Sequence\r
+0:27      Branch: Return with expression\r
+0:27        Constant:\r
+0:27          1.000000\r
+0:29  Function Definition: radians(b1; (bool)\r
+0:29    Function Parameters: \r
+0:29      'x' (in bool)\r
+0:31    Sequence\r
+0:31      Branch: Return with expression\r
+0:31        Constant:\r
+0:31          true (const bool)\r
+0:36  Function Definition: main( (void)\r
+0:36    Function Parameters: \r
+0:?     Sequence\r
+0:39      Function Call: g( (highp int)\r
+0:42      'sin' (highp float)\r
+0:43      Constant:\r
+0:43        0.000000\r
+0:44      Function Call: f(i1;i1;i1; (highp int)\r
+0:44        Constant:\r
+0:44          1 (const int)\r
+0:44        Constant:\r
+0:44          2 (const int)\r
+0:44        Constant:\r
+0:44          3 (const int)\r
+0:47      move second child to first child (highp float)\r
+0:47        'f' (highp float)\r
+0:47        Constant:\r
+0:47          3.000000\r
+0:49      move second child to first child (highp 4-component vector of float)\r
+0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float)\r
+0:49        Construct vec4 (highp 4-component vector of float)\r
+0:49          'f' (highp float)\r
+0:51      Sequence\r
+0:51        Sequence\r
+0:51          move second child to first child (highp int)\r
+0:51            'f' (highp int)\r
+0:51            Constant:\r
+0:51              0 (const int)\r
+0:51        Loop with condition tested first\r
+0:51          Loop Condition\r
+0:51          Compare Less Than (bool)\r
+0:51            'f' (highp int)\r
+0:51            Constant:\r
+0:51              10 (const int)\r
+0:51          Loop Body\r
+0:52          Pre-Increment (highp int)\r
+0:52            'f' (highp int)\r
+0:51          Loop Terminal Expression\r
+0:51          Pre-Increment (highp int)\r
+0:51            'f' (highp int)\r
+0:54      Sequence\r
+0:54        move second child to first child (highp int)\r
+0:54          'x' (highp int)\r
+0:54          Constant:\r
+0:54            1 (const int)\r
+0:56      Sequence\r
+0:56        Sequence\r
+0:56          move second child to first child (highp float)\r
+0:56            'x' (highp float)\r
+0:56            Constant:\r
+0:56              2.000000\r
+0:56          move second child to first child (highp float)\r
+0:56            'y' (highp float)\r
+0:56            'x' (highp float)\r
+0:60      Sequence\r
+0:60        Sequence\r
+0:60          move second child to first child (highp int)\r
+0:60            'x' (highp int)\r
+0:60            'x' (highp int)\r
+0:68      Sequence\r
+0:68        Sequence\r
+0:68          move second child to first child (structure{highp int x})\r
+0:68            'S' (structure{highp int x})\r
+0:68            Constant:\r
+0:68              0 (const int)\r
+0:69        x: direct index for structure (highp int)\r
+0:69          'S' (structure{highp int x})\r
+0:69          Constant:\r
+0:69            0 (const int)\r
+0:73      Constant:\r
+0:73        0.000000\r
+0:?   Linker Objects\r
+0:?     'b' (bool)\r
+0:?     'tan' (highp float)\r
+0:?     's' (smooth out structure{highp float f})\r
 \r
index 3397154..9a1827b 100644 (file)
@@ -121,4 +121,113 @@ Linked vertex stage:
 \r
 \r
 Shader version: 110\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: f(i1;i1;i1; (int)\r
+0:3    Function Parameters: \r
+0:3      'a' (in int)\r
+0:3      'b' (in int)\r
+0:3      'c' (in int)\r
+0:?     Sequence\r
+0:8      Sequence\r
+0:8        Sequence\r
+0:8          move second child to first child (float)\r
+0:8            'a' (float)\r
+0:8            add (float)\r
+0:8              Convert int to float (float)\r
+0:8                'a' (in int)\r
+0:8              Constant:\r
+0:8                1.000000\r
+0:11      Branch: Return with expression\r
+0:11        'a' (in int)\r
+0:25  Function Definition: cos(f1; (float)\r
+0:25    Function Parameters: \r
+0:25      'x' (in float)\r
+0:27    Sequence\r
+0:27      Branch: Return with expression\r
+0:27        Constant:\r
+0:27          1.000000\r
+0:29  Function Definition: radians(b1; (bool)\r
+0:29    Function Parameters: \r
+0:29      'x' (in bool)\r
+0:31    Sequence\r
+0:31      Branch: Return with expression\r
+0:31        Constant:\r
+0:31          true (const bool)\r
+0:36  Function Definition: main( (void)\r
+0:36    Function Parameters: \r
+0:?     Sequence\r
+0:39      Function Call: g( (int)\r
+0:42      'sin' (float)\r
+0:43      Function Call: sin(f1; (float)\r
+0:43        Constant:\r
+0:43          0.700000\r
+0:44      Function Call: f(i1;i1;i1; (int)\r
+0:44        Constant:\r
+0:44          1 (const int)\r
+0:44        Constant:\r
+0:44          2 (const int)\r
+0:44        Constant:\r
+0:44          3 (const int)\r
+0:47      move second child to first child (float)\r
+0:47        'f' (float)\r
+0:47        Constant:\r
+0:47          3.000000\r
+0:49      move second child to first child (4-component vector of float)\r
+0:49        'gl_Position' (gl_Position 4-component vector of float)\r
+0:49        Construct vec4 (4-component vector of float)\r
+0:49          'f' (float)\r
+0:51      Sequence\r
+0:51        Sequence\r
+0:51          move second child to first child (int)\r
+0:51            'f' (int)\r
+0:51            Constant:\r
+0:51              0 (const int)\r
+0:51        Loop with condition tested first\r
+0:51          Loop Condition\r
+0:51          Compare Less Than (bool)\r
+0:51            'f' (int)\r
+0:51            Constant:\r
+0:51              10 (const int)\r
+0:51          Loop Body\r
+0:52          Pre-Increment (int)\r
+0:52            'f' (int)\r
+0:51          Loop Terminal Expression\r
+0:51          Pre-Increment (int)\r
+0:51            'f' (int)\r
+0:54      Sequence\r
+0:54        move second child to first child (int)\r
+0:54          'x' (int)\r
+0:54          Constant:\r
+0:54            1 (const int)\r
+0:56      Sequence\r
+0:56        Sequence\r
+0:56          move second child to first child (float)\r
+0:56            'x' (float)\r
+0:56            Constant:\r
+0:56              2.000000\r
+0:56          move second child to first child (float)\r
+0:56            'y' (float)\r
+0:56            'x' (float)\r
+0:60      Sequence\r
+0:60        Sequence\r
+0:60          move second child to first child (int)\r
+0:60            'x' (int)\r
+0:60            'x' (int)\r
+0:68      Sequence\r
+0:68        Sequence\r
+0:68          move second child to first child (structure{int x})\r
+0:68            'S' (structure{int x})\r
+0:68            Constant:\r
+0:68              0 (const int)\r
+0:69        x: direct index for structure (int)\r
+0:69          'S' (structure{int x})\r
+0:69          Constant:\r
+0:69            0 (const int)\r
+0:73      Constant:\r
+0:73        183.346494\r
+0:?   Linker Objects\r
+0:?     'b' (bool)\r
+0:?     'c' (bool)\r
+0:?     'f' (float)\r
+0:?     'tan' (float)\r
 \r
index 525068e..2c14ba3 100644 (file)
@@ -300,7 +300,7 @@ ERROR: node is still EOpNull!
 0:120        move second child to first child (4-component vector of float)\r
 0:120          'v' (4-component vector of float)\r
 0:120          direct index (smooth 4-component vector of float)\r
-0:120            'gl_TexCoord' (smooth in implicitly-sized array of 4-component vector of float)\r
+0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
 0:120            Constant:\r
 0:120              1 (const int)\r
 0:121      add second child into first child (4-component vector of float)\r
@@ -397,4 +397,355 @@ ERROR: Linking fragment stage: Recursion detected:
     foo(f1; calling foo(f1;\r
 \r
 Shader version: 120\r
+ERROR: node is still EOpNull!\r
+0:21  Function Definition: main( (void)\r
+0:21    Function Parameters: \r
+0:23    Sequence\r
+0:23      Sequence\r
+0:23        move second child to first child (2X3 matrix of float)\r
+0:23          'm23' (2X3 matrix of float)\r
+0:23          Construct mat2x3 (2X3 matrix of float)\r
+0:23            'm' (uniform 4X2 matrix of float)\r
+0:27      Sequence\r
+0:27        move second child to first child (structure{float f})\r
+0:27          'sv' (structure{float f})\r
+0:27          Construct structure (structure{float f})\r
+0:27            Convert int to float (float)\r
+0:27              'a' (int)\r
+0:28      Sequence\r
+0:28        move second child to first child (2-element array of float)\r
+0:28          'ia' (2-element array of float)\r
+0:28          Construct float (2-element array of float)\r
+0:28            Constant:\r
+0:28              3.000000\r
+0:28            direct index (float)\r
+0:28              'i' (smooth in 4-component vector of float)\r
+0:28              Constant:\r
+0:28                1 (const int)\r
+0:29      Sequence\r
+0:29        move second child to first child (float)\r
+0:29          'f1' (float)\r
+0:29          Constant:\r
+0:29            1.000000\r
+0:30      Sequence\r
+0:30        move second child to first child (float)\r
+0:30          'f' (float)\r
+0:30          Convert int to float (float)\r
+0:30            'a' (int)\r
+0:31      move second child to first child (float)\r
+0:31        'f' (float)\r
+0:31        Convert int to float (float)\r
+0:31          'a' (int)\r
+0:33      Sequence\r
+0:33        move second child to first child (3-component vector of float)\r
+0:33          'v3' (3-component vector of float)\r
+0:33          Convert int to float (3-component vector of float)\r
+0:33            'iv3' (3-component vector of int)\r
+0:34      move second child to first child (float)\r
+0:34        'f' (float)\r
+0:34        add (float)\r
+0:34          'f' (float)\r
+0:34          Convert int to float (float)\r
+0:34            'a' (int)\r
+0:35      move second child to first child (float)\r
+0:35        'f' (float)\r
+0:35        subtract (float)\r
+0:35          Convert int to float (float)\r
+0:35            'a' (int)\r
+0:35          'f' (float)\r
+0:36      add second child into first child (float)\r
+0:36        'f' (float)\r
+0:36        Convert int to float (float)\r
+0:36          'a' (int)\r
+0:37      move second child to first child (float)\r
+0:37        'f' (float)\r
+0:37        subtract (float)\r
+0:37          Convert int to float (float)\r
+0:37            'a' (int)\r
+0:37          'f' (float)\r
+0:38      multiply second child into first child (3-component vector of float)\r
+0:38        'v3' (3-component vector of float)\r
+0:38        Convert int to float (3-component vector of float)\r
+0:38          'iv3' (3-component vector of int)\r
+0:39      move second child to first child (3-component vector of float)\r
+0:39        'v3' (3-component vector of float)\r
+0:39        divide (3-component vector of float)\r
+0:39          Convert int to float (3-component vector of float)\r
+0:39            'iv3' (3-component vector of int)\r
+0:39          Constant:\r
+0:39            2.000000\r
+0:40      move second child to first child (3-component vector of float)\r
+0:40        'v3' (3-component vector of float)\r
+0:40        vector-scale (3-component vector of float)\r
+0:40          Constant:\r
+0:40            3.000000\r
+0:40          Convert int to float (3-component vector of float)\r
+0:40            'iv3' (3-component vector of int)\r
+0:41      move second child to first child (3-component vector of float)\r
+0:41        'v3' (3-component vector of float)\r
+0:41        vector-scale (3-component vector of float)\r
+0:41          Constant:\r
+0:41            2.000000\r
+0:41          'v3' (3-component vector of float)\r
+0:42      move second child to first child (3-component vector of float)\r
+0:42        'v3' (3-component vector of float)\r
+0:42        subtract (3-component vector of float)\r
+0:42          'v3' (3-component vector of float)\r
+0:42          Constant:\r
+0:42            2.000000\r
+0:43      Test condition and select (void)\r
+0:43        Condition\r
+0:47        logical-or (bool)\r
+0:46          logical-or (bool)\r
+0:45            logical-or (bool)\r
+0:44              logical-or (bool)\r
+0:43                logical-or (bool)\r
+0:43                  Compare Less Than (bool)\r
+0:43                    'f' (float)\r
+0:43                    Convert int to float (float)\r
+0:43                      'a' (int)\r
+0:44                  Compare Less Than or Equal (bool)\r
+0:44                    Convert int to float (float)\r
+0:44                      'a' (int)\r
+0:44                    'f' (float)\r
+0:45                Compare Greater Than (bool)\r
+0:45                  'f' (float)\r
+0:45                  Convert int to float (float)\r
+0:45                    'a' (int)\r
+0:46              Compare Greater Than or Equal (bool)\r
+0:46                'f' (float)\r
+0:46                Convert int to float (float)\r
+0:46                  'a' (int)\r
+0:47            Compare Equal (bool)\r
+0:47              Convert int to float (float)\r
+0:47                'a' (int)\r
+0:47              'f' (float)\r
+0:48          Compare Not Equal (bool)\r
+0:48            'f' (float)\r
+0:48            Convert int to float (float)\r
+0:48              'a' (int)\r
+0:43        true case is null\r
+0:49      move second child to first child (float)\r
+0:49        'f' (float)\r
+0:49        Test condition and select (float)\r
+0:49          Condition\r
+0:49          'b' (bool)\r
+0:49          true case\r
+0:49          Convert int to float (float)\r
+0:49            'a' (int)\r
+0:49          false case\r
+0:49          'f' (float)\r
+0:50      move second child to first child (float)\r
+0:50        'f' (float)\r
+0:50        Test condition and select (float)\r
+0:50          Condition\r
+0:50          'b' (bool)\r
+0:50          true case\r
+0:50          'f' (float)\r
+0:50          false case\r
+0:50          Convert int to float (float)\r
+0:50            'a' (int)\r
+0:51      move second child to first child (float)\r
+0:51        'f' (float)\r
+0:51        Convert int to float (float)\r
+0:51          Test condition and select (int)\r
+0:51            Condition\r
+0:51            'b' (bool)\r
+0:51            true case\r
+0:51            'a' (int)\r
+0:51            false case\r
+0:51            'a' (int)\r
+0:52      Sequence\r
+0:52        move second child to first child (structure{float f})\r
+0:52          'news' (structure{float f})\r
+0:52          'sv' (structure{float f})\r
+0:54      vector swizzle (2-component vector of float)\r
+0:54        'i' (smooth in 4-component vector of float)\r
+0:54        Sequence\r
+0:54          Constant:\r
+0:54            0 (const int)\r
+0:54          Constant:\r
+0:54            1 (const int)\r
+0:55      'm' (uniform 4X2 matrix of float)\r
+0:56      'm' (uniform 4X2 matrix of float)\r
+0:58      'f' (float)\r
+0:59      move second child to first child (float)\r
+0:59        'f' (float)\r
+0:59        Convert int to float (float)\r
+0:59          'a' (int)\r
+0:60      'f' (float)\r
+0:61      'b' (bool)\r
+0:62      move second child to first child (bool)\r
+0:62        'b' (bool)\r
+0:62        'b' (bool)\r
+0:63      'f' (float)\r
+0:65      move second child to first child (4-component vector of float)\r
+0:65        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:65        Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:65          's2D' (uniform sampler2D)\r
+0:65          'centTexCoord' (centroid smooth in 2-component vector of float)\r
+0:?       Sequence\r
+0:79        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:82      direct index (float)\r
+0:82        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:82        Constant:\r
+0:82          0 (const int)\r
+0:83      direct index (float)\r
+0:83        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:83        Constant:\r
+0:83          0 (const int)\r
+0:84      direct index (float)\r
+0:84        'centTexCoord' (centroid smooth in 2-component vector of float)\r
+0:84        Constant:\r
+0:84          0 (const int)\r
+0:85      move second child to first child (bool)\r
+0:85        Comma (bool)\r
+0:85          'a' (int)\r
+0:85          'b' (bool)\r
+0:85        Constant:\r
+0:85          true (const bool)\r
+0:91  Function Definition: main( (int)\r
+0:91    Function Parameters: \r
+0:92  Function Definition: main(i1; (void)\r
+0:92    Function Parameters: \r
+0:92      'a' (in int)\r
+0:97  Function Definition: foo(f1; (int)\r
+0:97    Function Parameters: \r
+0:97      'a' (out float)\r
+0:99    Sequence\r
+0:99      Branch: Return with expression\r
+0:99        Constant:\r
+0:99          3.200000\r
+0:100      Function Call: foo(f1; (int)\r
+0:100        'a' (out float)\r
+0:103  Function Definition: gen(vf3; (bool)\r
+0:103    Function Parameters: \r
+0:103      'v' (in 3-component vector of float)\r
+0:105    Sequence\r
+0:105      Test condition and select (void)\r
+0:105        Condition\r
+0:105        logical-and (bool)\r
+0:105          Compare Less Than (bool)\r
+0:105            Absolute value (float)\r
+0:105              direct index (float)\r
+0:105                'v' (in 3-component vector of float)\r
+0:105                Constant:\r
+0:105                  0 (const int)\r
+0:105            Constant:\r
+0:105              0.000100\r
+0:105          Compare Less Than (bool)\r
+0:105            Absolute value (float)\r
+0:105              direct index (float)\r
+0:105                'v' (in 3-component vector of float)\r
+0:105                Constant:\r
+0:105                  1 (const int)\r
+0:105            Constant:\r
+0:105              0.000100\r
+0:105        true case\r
+0:106        Branch: Return with expression\r
+0:106          Constant:\r
+0:106            true (const bool)\r
+0:109  Function Definition: v1( (void)\r
+0:109    Function Parameters: \r
+0:113  Function Definition: v2( (void)\r
+0:113    Function Parameters: \r
+0:115    Sequence\r
+0:115      Branch: Return with expression\r
+0:115        Function Call: v1( (void)\r
+0:118  Function Definition: atest( (void)\r
+0:118    Function Parameters: \r
+0:120    Sequence\r
+0:120      Sequence\r
+0:120        move second child to first child (4-component vector of float)\r
+0:120          'v' (4-component vector of float)\r
+0:120          direct index (smooth 4-component vector of float)\r
+0:120            'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:120            Constant:\r
+0:120              1 (const int)\r
+0:121      add second child into first child (4-component vector of float)\r
+0:121        'v' (4-component vector of float)\r
+0:121        direct index (smooth 4-component vector of float)\r
+0:121          'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:121          Constant:\r
+0:121            3 (const int)\r
+0:139  Function Definition: foo123( (void)\r
+0:139    Function Parameters: \r
+0:141    Sequence\r
+0:141      Sequence\r
+0:141        move second child to first child (2X2 matrix of float)\r
+0:141          'r2' (2X2 matrix of float)\r
+0:141          component-wise multiply (2X2 matrix of float)\r
+0:141            'm22' (2X2 matrix of float)\r
+0:141            'm22' (2X2 matrix of float)\r
+0:142      Sequence\r
+0:142        move second child to first child (3X3 matrix of float)\r
+0:142          'r3' (3X3 matrix of float)\r
+0:142          component-wise multiply (3X3 matrix of float)\r
+0:142            'm33' (3X3 matrix of float)\r
+0:142            'm33' (3X3 matrix of float)\r
+0:143      Sequence\r
+0:143        move second child to first child (4X4 matrix of float)\r
+0:143          'r4' (4X4 matrix of float)\r
+0:143          component-wise multiply (4X4 matrix of float)\r
+0:143            'm44' (4X4 matrix of float)\r
+0:143            'm44' (4X4 matrix of float)\r
+0:145      Sequence\r
+0:145        move second child to first child (2X3 matrix of float)\r
+0:145          'r23' (2X3 matrix of float)\r
+0:145          component-wise multiply (2X3 matrix of float)\r
+0:145            'm23' (2X3 matrix of float)\r
+0:145            'm23' (2X3 matrix of float)\r
+0:146      Sequence\r
+0:146        move second child to first child (2X4 matrix of float)\r
+0:146          'r24' (2X4 matrix of float)\r
+0:146          component-wise multiply (2X4 matrix of float)\r
+0:146            'm24' (2X4 matrix of float)\r
+0:146            'm24' (2X4 matrix of float)\r
+0:147      Sequence\r
+0:147        move second child to first child (3X2 matrix of float)\r
+0:147          'r32' (3X2 matrix of float)\r
+0:147          component-wise multiply (3X2 matrix of float)\r
+0:147            'm32' (3X2 matrix of float)\r
+0:147            'm32' (3X2 matrix of float)\r
+0:148      Sequence\r
+0:148        move second child to first child (3X4 matrix of float)\r
+0:148          'r34' (3X4 matrix of float)\r
+0:148          component-wise multiply (3X4 matrix of float)\r
+0:148            'm34' (3X4 matrix of float)\r
+0:148            'm34' (3X4 matrix of float)\r
+0:149      Sequence\r
+0:149        move second child to first child (4X2 matrix of float)\r
+0:149          'r42' (4X2 matrix of float)\r
+0:149          component-wise multiply (4X2 matrix of float)\r
+0:149            'm42' (4X2 matrix of float)\r
+0:149            'm42' (4X2 matrix of float)\r
+0:150      Sequence\r
+0:150        move second child to first child (4X3 matrix of float)\r
+0:150          'r43' (4X3 matrix of float)\r
+0:150          component-wise multiply (4X3 matrix of float)\r
+0:150            'm43' (4X3 matrix of float)\r
+0:150            'm43' (4X3 matrix of float)\r
+0:?   Linker Objects\r
+0:?     'lowp' (float)\r
+0:?     'mediump' (float)\r
+0:?     'highp' (float)\r
+0:?     'precision' (float)\r
+0:?     'i' (smooth in 4-component vector of float)\r
+0:?     'o' (out 4-component vector of float)\r
+0:?     's2D' (uniform sampler2D)\r
+0:?     'centTexCoord' (centroid smooth in 2-component vector of float)\r
+0:?     'm' (uniform 4X2 matrix of float)\r
+0:?     'imageBuffer' (float)\r
+0:?     'uimage2DRect' (float)\r
+0:?     'a' (int)\r
+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:?     'm22' (2X2 matrix of float)\r
+0:?     'm23' (2X3 matrix of float)\r
+0:?     'm24' (2X4 matrix of float)\r
+0:?     'm32' (3X2 matrix of float)\r
+0:?     'm33' (3X3 matrix of float)\r
+0:?     'm34' (3X4 matrix of float)\r
+0:?     'm42' (4X2 matrix of float)\r
+0:?     'm43' (4X3 matrix of float)\r
+0:?     'm44' (4X4 matrix of float)\r
 \r
index 61f152a..301f077 100644 (file)
@@ -45,7 +45,40 @@ ERROR: 0:108: 'overloadE' : no matching overloaded function found
 ERROR: 0:111: 'overloadE' : no matching overloaded function found \r
 ERROR: 0:117: 'overloadF' : no matching overloaded function found \r
 ERROR: 0:121: 'gl_TexCoord array size' : must be less than gl_MaxTextureCoords (32)\r
-ERROR: 46 compilation errors.  No code generated.\r
+ERROR: 0:157: 'switch' : Reserved word. \r
+ERROR: 0:163: 'default' : Reserved word. \r
+ERROR: 0:157: 'switch statements' : not supported for this version or the enabled extensions \r
+ERROR: 0:168: 'bit shift left' : not supported for this version or the enabled extensions \r
+ERROR: 0:168: 'bit shift right' : not supported for this version or the enabled extensions \r
+ERROR: 0:168: 'bitwise and' : not supported for this version or the enabled extensions \r
+ERROR: 0:168: 'bitwise inclusive or' : not supported for this version or the enabled extensions \r
+ERROR: 0:171: 'modf' : no matching overloaded function found \r
+ERROR: 0:171: '=' :  cannot convert from 'const float' to '3-component vector of float'\r
+ERROR: 0:172: 'trunc' : no matching overloaded function found \r
+ERROR: 0:173: 'round' : no matching overloaded function found \r
+ERROR: 0:173: '=' :  cannot convert from 'const float' to '2-component vector of float'\r
+ERROR: 0:174: 'roundEven' : no matching overloaded function found \r
+ERROR: 0:174: '=' :  cannot convert from 'const float' to '2-component vector of float'\r
+ERROR: 0:175: 'isnan' : no matching overloaded function found \r
+ERROR: 0:175: '=' :  cannot convert from 'const float' to '2-component vector of bool'\r
+ERROR: 0:176: 'isinf' : no matching overloaded function found \r
+ERROR: 0:176: '=' :  cannot convert from 'const float' to '4-component vector of bool'\r
+ERROR: 0:178: 'sinh' : no matching overloaded function found \r
+ERROR: 0:179: 'cosh' : no matching overloaded function found \r
+ERROR: 0:179: 'tanh' : no matching overloaded function found \r
+ERROR: 0:180: 'c4D' : undeclared identifier \r
+ERROR: 0:180: 'asinh' : no matching overloaded function found \r
+ERROR: 0:180: 'acosh' : no matching overloaded function found \r
+ERROR: 0:181: 'atanh' : no matching overloaded function found \r
+ERROR: 0:183: 'gl_VertexID' : undeclared identifier \r
+ERROR: 0:183: '=' :  cannot convert from 'float' to 'int'\r
+ERROR: 0:184: 'gl_ClipDistance' : undeclared identifier \r
+ERROR: 0:184: 'gl_ClipDistance' :  left of '[' is not of type array, matrix, or vector  \r
+ERROR: 0:184: 'assign' :  l-value required (can't modify a const)\r
+ERROR: 0:190: 'token pasting (##)' : not supported for this version or the enabled extensions \r
+ERROR: 0:190: '##' : token pasting not implemented (internal error) \r
+ERROR: 0:190: '' :  syntax error\r
+ERROR: 79 compilation errors.  No code generated.\r
 \r
 \r
 Shader version: 120\r
@@ -281,6 +314,66 @@ ERROR: node is still EOpNull!
 0:139            Compare Less Than (4-component vector of bool)\r
 0:139              'v4' (4-component vector of float)\r
 0:139              'attv4' (in 4-component vector of float)\r
+0:154  Function Definition: foo213( (void)\r
+0:154    Function Parameters: \r
+0:156    Sequence\r
+0:156      Sequence\r
+0:156        move second child to first child (float)\r
+0:156          'f' (float)\r
+0:156          Constant:\r
+0:156            3.000000\r
+0:157      switch\r
+0:157      condition\r
+0:157        'c' (uniform int)\r
+0:157      body\r
+0:157        Sequence\r
+0:158          case:  with expression\r
+0:158            Constant:\r
+0:158              1 (const int)\r
+0:?           Sequence\r
+0:159            move second child to first child (float)\r
+0:159              'f' (float)\r
+0:159              sine (float)\r
+0:159                'f' (float)\r
+0:160            Branch: Break\r
+0:161          case:  with expression\r
+0:161            Constant:\r
+0:161              2 (const int)\r
+0:?           Sequence\r
+0:162            move second child to first child (float)\r
+0:162              'f' (float)\r
+0:162              component-wise multiply (float)\r
+0:162                'f' (float)\r
+0:162                'f' (float)\r
+0:163          default: \r
+0:?           Sequence\r
+0:164            move second child to first child (float)\r
+0:164              'f' (float)\r
+0:164              Constant:\r
+0:164                3.000000\r
+0:168      inclusive-or (int)\r
+0:168        left-shift (int)\r
+0:168          'i' (int)\r
+0:168          Constant:\r
+0:168            3 (const int)\r
+0:168        Constant:\r
+0:168          69 (const int)\r
+0:172      Sequence\r
+0:172        move second child to first child (float)\r
+0:172          't' (float)\r
+0:172          Constant:\r
+0:172            0.000000\r
+0:178      Constant:\r
+0:178        0.000000\r
+0:180      Constant:\r
+0:180        0.000000\r
+0:181      Constant:\r
+0:181        0.000000\r
+0:184      move second child to first child (float)\r
+0:184        Constant:\r
+0:184          0.000000\r
+0:184        Constant:\r
+0:184          0.300000\r
 0:?   Linker Objects\r
 0:?     'i' (in 4-component vector of float)\r
 0:?     'o' (smooth out 4-component vector of float)\r
@@ -294,10 +387,331 @@ ERROR: node is still EOpNull!
 0:?       0.295520\r
 0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)\r
 0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)\r
+0:?     'c' (uniform int)\r
+0:?     'x' (in 2-component vector of int)\r
+0:?     'v2a' (in 2-component vector of float)\r
+0:?     'c1D' (in float)\r
+0:?     'c2D' (in 2-component vector of float)\r
+0:?     'c3D' (in 3-component vector of float)\r
+0:?     'v4' (uniform 4-component vector of float)\r
+0:?     'abc' (int)\r
 \r
 \r
 Linked vertex stage:\r
 \r
 \r
 Shader version: 120\r
+ERROR: node is still EOpNull!\r
+0:15  Function Definition: main( (void)\r
+0:15    Function Parameters: \r
+0:17    Sequence\r
+0:17      move second child to first child (2-component vector of float)\r
+0:17        'centTexCoord' (invariant smooth out 2-component vector of float)\r
+0:17        'attv2' (in 2-component vector of float)\r
+0:18      move second child to first child (4-component vector of float)\r
+0:18        'gl_Position' (invariant gl_Position 4-component vector of float)\r
+0:18        'attv4' (in 4-component vector of float)\r
+0:20      move second child to first child (4-component vector of float)\r
+0:20        'gl_ClipVertex' (gl_ClipVertex 4-component vector of float)\r
+0:20        'attv4' (in 4-component vector of float)\r
+0:21      move second child to first child (float)\r
+0:21        Constant:\r
+0:21          0.000000\r
+0:21        Constant:\r
+0:21          0.200000\r
+0:25      move second child to first child (4-component vector of float)\r
+0:25        'gl_Position' (invariant gl_Position 4-component vector of float)\r
+0:25        direct index (4-component vector of float)\r
+0:25          'b' (12-element array of 4-component vector of float)\r
+0:25          Constant:\r
+0:25            11 (const int)\r
+0:28      Sequence\r
+0:28        move second child to first child (int)\r
+0:28          'a1' (int)\r
+0:28          Constant:\r
+0:28            1 (const int)\r
+0:30      Sequence\r
+0:30        move second child to first child (int)\r
+0:30          'aa' (int)\r
+0:30          Constant:\r
+0:30            7 (const int)\r
+0:31      Sequence\r
+0:31        move second child to first child (int)\r
+0:31          'a2' (int)\r
+0:32      Sequence\r
+0:32        move second child to first child (int)\r
+0:32          'a3' (int)\r
+0:32          Constant:\r
+0:32            12 (const int)\r
+0:43      move second child to first child (float)\r
+0:43        'gl_PointSize' (invariant gl_PointSize float)\r
+0:43        Constant:\r
+0:43          3.800000\r
+0:61  Function Definition: overloadB(f1;f1; (void)\r
+0:61    Function Parameters: \r
+0:61      '' (in float)\r
+0:61      '' (const (read only) float)\r
+0:78  Function Definition: foo( (void)\r
+0:78    Function Parameters: \r
+0:?     Sequence\r
+0:83      Function Call: overloadB(f1;f1; (void)\r
+0:83        'f' (float)\r
+0:83        'f' (float)\r
+0:84      Function Call: overloadB(f1;f1; (void)\r
+0:84        'f' (float)\r
+0:84        Constant:\r
+0:84          2.000000\r
+0:85      Function Call: overloadB(f1;f1; (void)\r
+0:85        Constant:\r
+0:85          1.000000\r
+0:85        Convert int to float (float)\r
+0:85          'i' (int)\r
+0:87      Constant:\r
+0:87        0.000000\r
+0:88      Function Call: overloadC(i1;i1; (2-component vector of float)\r
+0:88        Constant:\r
+0:88          1 (const int)\r
+0:88        'i' (int)\r
+0:89      Function Call: overloadC(vf2;vf2; (2-component vector of float)\r
+0:89        Constant:\r
+0:89          1.000000\r
+0:89          1.000000\r
+0:89        Constant:\r
+0:89          2.000000\r
+0:89          2.000000\r
+0:90      Constant:\r
+0:90        0.000000\r
+0:91      Function Call: overloadC(vf2;vf2; (2-component vector of float)\r
+0:91        Constant:\r
+0:91          1.000000\r
+0:91          1.000000\r
+0:91        Constant:\r
+0:91          2.000000\r
+0:91          2.000000\r
+0:93      Function Call: overloadD(i1;f1; (3-component vector of float)\r
+0:93        'i' (int)\r
+0:93        'f' (float)\r
+0:94      Function Call: overloadD(f1;i1; (3-component vector of float)\r
+0:94        'f' (float)\r
+0:94        'i' (int)\r
+0:95      Function Call: overloadD(f1;i1; (3-component vector of float)\r
+0:95        Convert int to float (float)\r
+0:95          'i' (int)\r
+0:95        'i' (int)\r
+0:98      Constant:\r
+0:98        0.000000\r
+0:100      Constant:\r
+0:100        0.841471\r
+0:101      Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:101        's2D' (uniform sampler2D)\r
+0:101        Constant:\r
+0:101          0.000000\r
+0:101          0.000000\r
+0:102      clamp (4-component vector of float)\r
+0:102        'attv4' (in 4-component vector of float)\r
+0:102        Constant:\r
+0:102          0.000000\r
+0:102        Constant:\r
+0:102          1.000000\r
+0:103      clamp (4-component vector of float)\r
+0:103        Convert int to float (4-component vector of float)\r
+0:103          Convert float to int (4-component vector of int)\r
+0:103            'attv4' (in 4-component vector of float)\r
+0:103        Constant:\r
+0:103          0.000000\r
+0:103        Constant:\r
+0:103          1.000000\r
+0:106      Constant:\r
+0:106        0.000000\r
+0:107      Constant:\r
+0:107        0.000000\r
+0:108      Constant:\r
+0:108        0.000000\r
+0:109      Function Call: overloadE(vf2; (3-component vector of float)\r
+0:109        Constant:\r
+0:109          3.300000\r
+0:109          3.300000\r
+0:110      Function Call: overloadE(mf22; (3-component vector of float)\r
+0:110        Constant:\r
+0:110          0.500000\r
+0:110          0.000000\r
+0:110          0.000000\r
+0:110          0.500000\r
+0:111      Constant:\r
+0:111        0.000000\r
+0:112      Function Call: overloadE(vf2; (3-component vector of float)\r
+0:112        Constant:\r
+0:112          1.000000\r
+0:112          1.000000\r
+0:115      Function Call: overloadE(f1[2]; (3-component vector of float)\r
+0:115        'b' (2-element array of float)\r
+0:117      Constant:\r
+0:117        0.000000\r
+0:118      Function Call: overloadF(i1; (3-component vector of float)\r
+0:118        Constant:\r
+0:118          1 (const int)\r
+0:128  Function Definition: foo2( (void)\r
+0:128    Function Parameters: \r
+0:?     Sequence\r
+0:135      Comma (void)\r
+0:135        Function Call: outFun(f1;vi2;i1;f1; (void)\r
+0:135          Convert int to float (float)\r
+0:135            'i' (int)\r
+0:135          'tempArg' (2-component vector of int)\r
+0:135          'i' (int)\r
+0:135          'f' (float)\r
+0:135        move second child to first child (2-component vector of float)\r
+0:135          'v2' (2-component vector of float)\r
+0:135          Convert int to float (2-component vector of float)\r
+0:135            'tempArg' (2-component vector of int)\r
+0:136      Comma (int)\r
+0:136        move second child to first child (int)\r
+0:136          'tempReturn' (int)\r
+0:136          Function Call: outFunRet(f1;i1;i1;vi4; (int)\r
+0:136            Convert int to float (float)\r
+0:136              'i' (int)\r
+0:136            'tempArg' (int)\r
+0:136            'i' (int)\r
+0:136            'tempArg' (4-component vector of int)\r
+0:136        move second child to first child (float)\r
+0:136          'f' (float)\r
+0:136          Convert int to float (float)\r
+0:136            'tempArg' (int)\r
+0:136        move second child to first child (4-component vector of float)\r
+0:136          'v4' (4-component vector of float)\r
+0:136          Convert int to float (4-component vector of float)\r
+0:136            'tempArg' (4-component vector of int)\r
+0:136        'tempReturn' (int)\r
+0:137      Sequence\r
+0:137        move second child to first child (float)\r
+0:137          'ret' (float)\r
+0:137          Convert int to float (float)\r
+0:137            Comma (int)\r
+0:137              move second child to first child (int)\r
+0:137                'tempReturn' (int)\r
+0:137                Function Call: outFunRet(f1;i1;i1;vi4; (int)\r
+0:137                  Convert int to float (float)\r
+0:137                    'i' (int)\r
+0:137                  'tempArg' (int)\r
+0:137                  'i' (int)\r
+0:137                  'tempArg' (4-component vector of int)\r
+0:137              move second child to first child (float)\r
+0:137                'f' (float)\r
+0:137                Convert int to float (float)\r
+0:137                  'tempArg' (int)\r
+0:137              move second child to first child (4-component vector of float)\r
+0:137                'v4' (4-component vector of float)\r
+0:137                Convert int to float (4-component vector of float)\r
+0:137                  'tempArg' (4-component vector of int)\r
+0:137              'tempReturn' (int)\r
+0:138      Sequence\r
+0:138        move second child to first child (2-component vector of float)\r
+0:138          'ret2' (2-component vector of float)\r
+0:138          Convert int to float (2-component vector of float)\r
+0:138            Comma (2-component vector of int)\r
+0:138              move second child to first child (2-component vector of int)\r
+0:138                'tempReturn' (2-component vector of int)\r
+0:138                Function Call: outFunRet(f1;vi4;i1;vi4; (2-component vector of int)\r
+0:138                  Convert int to float (float)\r
+0:138                    'i' (int)\r
+0:138                  'tempArg' (4-component vector of int)\r
+0:138                  'i' (int)\r
+0:138                  'tempArg' (4-component vector of int)\r
+0:138              move second child to first child (4-component vector of float)\r
+0:138                'v4' (4-component vector of float)\r
+0:138                Convert int to float (4-component vector of float)\r
+0:138                  'tempArg' (4-component vector of int)\r
+0:138              move second child to first child (4-component vector of float)\r
+0:138                'v4' (4-component vector of float)\r
+0:138                Convert int to float (4-component vector of float)\r
+0:138                  'tempArg' (4-component vector of int)\r
+0:138              'tempReturn' (2-component vector of int)\r
+0:139      Sequence\r
+0:139        move second child to first child (bool)\r
+0:139          'b' (bool)\r
+0:139          any (bool)\r
+0:139            Compare Less Than (4-component vector of bool)\r
+0:139              'v4' (4-component vector of float)\r
+0:139              'attv4' (in 4-component vector of float)\r
+0:154  Function Definition: foo213( (void)\r
+0:154    Function Parameters: \r
+0:156    Sequence\r
+0:156      Sequence\r
+0:156        move second child to first child (float)\r
+0:156          'f' (float)\r
+0:156          Constant:\r
+0:156            3.000000\r
+0:157      switch\r
+0:157      condition\r
+0:157        'c' (uniform int)\r
+0:157      body\r
+0:157        Sequence\r
+0:158          case:  with expression\r
+0:158            Constant:\r
+0:158              1 (const int)\r
+0:?           Sequence\r
+0:159            move second child to first child (float)\r
+0:159              'f' (float)\r
+0:159              sine (float)\r
+0:159                'f' (float)\r
+0:160            Branch: Break\r
+0:161          case:  with expression\r
+0:161            Constant:\r
+0:161              2 (const int)\r
+0:?           Sequence\r
+0:162            move second child to first child (float)\r
+0:162              'f' (float)\r
+0:162              component-wise multiply (float)\r
+0:162                'f' (float)\r
+0:162                'f' (float)\r
+0:163          default: \r
+0:?           Sequence\r
+0:164            move second child to first child (float)\r
+0:164              'f' (float)\r
+0:164              Constant:\r
+0:164                3.000000\r
+0:168      inclusive-or (int)\r
+0:168        left-shift (int)\r
+0:168          'i' (int)\r
+0:168          Constant:\r
+0:168            3 (const int)\r
+0:168        Constant:\r
+0:168          69 (const int)\r
+0:172      Sequence\r
+0:172        move second child to first child (float)\r
+0:172          't' (float)\r
+0:172          Constant:\r
+0:172            0.000000\r
+0:178      Constant:\r
+0:178        0.000000\r
+0:180      Constant:\r
+0:180        0.000000\r
+0:181      Constant:\r
+0:181        0.000000\r
+0:184      move second child to first child (float)\r
+0:184        Constant:\r
+0:184          0.000000\r
+0:184        Constant:\r
+0:184          0.300000\r
+0:?   Linker Objects\r
+0:?     'i' (in 4-component vector of float)\r
+0:?     'o' (smooth out 4-component vector of float)\r
+0:?     'attv2' (in 2-component vector of float)\r
+0:?     'attv4' (in 4-component vector of float)\r
+0:?     's2D' (uniform sampler2D)\r
+0:?     'centTexCoord' (invariant smooth out 2-component vector of float)\r
+0:?     'initted' (uniform float)\r
+0:?       3.400000\r
+0:?     'concall' (const float)\r
+0:?       0.295520\r
+0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)\r
+0:?     'gl_TexCoord' (smooth out 35-element array of 4-component vector of float)\r
+0:?     'c' (uniform int)\r
+0:?     'x' (in 2-component vector of int)\r
+0:?     'v2a' (in 2-component vector of float)\r
+0:?     'c1D' (in float)\r
+0:?     'c2D' (in 2-component vector of float)\r
+0:?     'c3D' (in 3-component vector of float)\r
+0:?     'v4' (uniform 4-component vector of float)\r
+0:?     'abc' (int)\r
 \r
index a69b633..9e0139e 100644 (file)
@@ -1,5 +1,4 @@
 130.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 ERROR: 0:25: 'textureGather(...)' : not supported for this version or the enabled extensions \r
 ERROR: 0:35: 'redeclaration' : cannot change the type of gl_Color\r
 ERROR: 0:38: 'gl_Color' : redeclaring non-array as array \r
@@ -363,4 +362,326 @@ Requested GL_ARB_shading_language_420pack
 Requested GL_ARB_texture_cube_map_array\r
 Requested GL_ARB_texture_gather\r
 Requested GL_ARB_texture_rectangle\r
+ERROR: node is still EOpNull!\r
+0:16  Function Definition: main( (void)\r
+0:16    Function Parameters: \r
+0:18    Sequence\r
+0:18      Sequence\r
+0:18        move second child to first child (float)\r
+0:18          'clip' (float)\r
+0:18          direct index (smooth float)\r
+0:18            'gl_ClipDistance' (smooth in 4-element array of float)\r
+0:18            Constant:\r
+0:18              3 (const int)\r
+0:23  Function Definition: foo( (void)\r
+0:23    Function Parameters: \r
+0:25    Sequence\r
+0:25      Sequence\r
+0:25        move second child to first child (4-component vector of float)\r
+0:25          's' (4-component vector of float)\r
+0:25          Function Call: textureGather(sC1;vf3; (4-component vector of float)\r
+0:25            'sampC' (uniform samplerCube)\r
+0:25            Constant:\r
+0:25              0.200000\r
+0:25              0.200000\r
+0:25              0.200000\r
+0:30  Function Definition: bar( (void)\r
+0:30    Function Parameters: \r
+0:32    Sequence\r
+0:32      Sequence\r
+0:32        move second child to first child (4-component vector of float)\r
+0:32          's' (4-component vector of float)\r
+0:32          Function Call: textureGather(sC1;vf3; (4-component vector of float)\r
+0:32            'sampC' (uniform samplerCube)\r
+0:32            Constant:\r
+0:32              0.200000\r
+0:32              0.200000\r
+0:32              0.200000\r
+0:43  Function Definition: bar2( (void)\r
+0:43    Function Parameters: \r
+0:45    Sequence\r
+0:45      Sequence\r
+0:45        move second child to first child (4-component vector of float)\r
+0:45          's' (4-component vector of float)\r
+0:45          Function Call: textureGather(sC1;vf3; (4-component vector of float)\r
+0:45            'sampC' (uniform samplerCube)\r
+0:45            Constant:\r
+0:45              0.200000\r
+0:45              0.200000\r
+0:45              0.200000\r
+0:49      move second child to first child (3-component vector of bool)\r
+0:49        'b3' (3-component vector of bool)\r
+0:49        Compare Less Than (3-component vector of bool)\r
+0:49          'uv3' (3-component vector of uint)\r
+0:49          'uv3' (3-component vector of uint)\r
+0:50      move second child to first child (3-component vector of bool)\r
+0:50        'b3' (3-component vector of bool)\r
+0:50        Equal (3-component vector of bool)\r
+0:50          'uv3' (3-component vector of uint)\r
+0:50          'uv3' (3-component vector of uint)\r
+0:56      direct index (int)\r
+0:56        'a1' (1-element array of int)\r
+0:56        Constant:\r
+0:56          0 (const int)\r
+0:57      direct index (int)\r
+0:57        'a2' (1-element array of int)\r
+0:57        Constant:\r
+0:57          0 (const int)\r
+0:60      direct index (int)\r
+0:60        'a3' (4-element array of int)\r
+0:60        Constant:\r
+0:60          3 (const int)\r
+0:61      Compare Not Equal (bool)\r
+0:61        'b3' (3-component vector of bool)\r
+0:61        'b3' (3-component vector of bool)\r
+0:62      Constant:\r
+0:62        false (const bool)\r
+0:63      Constant:\r
+0:63        false (const bool)\r
+0:64      Constant:\r
+0:64        false (const bool)\r
+0:65      Constant:\r
+0:65        true (const bool)\r
+0:66      Constant:\r
+0:66        false (const bool)\r
+0:77  Function Definition: bar23( (void)\r
+0:77    Function Parameters: \r
+0:?     Sequence\r
+0:80      's' (4-component vector of float)\r
+0:81      move second child to first child (4-component vector of float)\r
+0:81        's' (4-component vector of float)\r
+0:81        Function Call: textureGatherOffset(sR21;vf2;vi2; (4-component vector of float)\r
+0:81          'samp2DR' (uniform sampler2DRect)\r
+0:81          Constant:\r
+0:81            0.300000\r
+0:81            0.300000\r
+0:81          Constant:\r
+0:81            1 (const int)\r
+0:81            1 (const int)\r
+0:82      move second child to first child (4-component vector of float)\r
+0:82        's' (4-component vector of float)\r
+0:82        Function Call: textureGatherOffset(s21;vf2;vi2; (4-component vector of float)\r
+0:82          'samp2D' (uniform sampler2D)\r
+0:82          Constant:\r
+0:82            0.300000\r
+0:82            0.300000\r
+0:82          Constant:\r
+0:82            1 (const int)\r
+0:82            1 (const int)\r
+0:83      move second child to first child (4-component vector of float)\r
+0:83        's' (4-component vector of float)\r
+0:83        Function Call: textureGatherOffset(sA21;vf3;vi2; (4-component vector of float)\r
+0:83          'samp2DA' (uniform sampler2DArray)\r
+0:83          Constant:\r
+0:83            0.300000\r
+0:83            0.300000\r
+0:83            0.300000\r
+0:83          Constant:\r
+0:83            1 (const int)\r
+0:83            1 (const int)\r
+0:84      move second child to first child (4-component vector of float)\r
+0:84        's' (4-component vector of float)\r
+0:84        Function Call: textureGatherOffset(sS21;vf2;f1;vi2; (4-component vector of float)\r
+0:84          'samp2DS' (uniform sampler2DShadow)\r
+0:84          Constant:\r
+0:84            0.300000\r
+0:84            0.300000\r
+0:84          Constant:\r
+0:84            1.300000\r
+0:84          Constant:\r
+0:84            1 (const int)\r
+0:84            1 (const int)\r
+0:85      move second child to first child (4-component vector of float)\r
+0:85        's' (4-component vector of float)\r
+0:85        Function Call: textureGatherOffset(s21;vf2;vi2;i1; (4-component vector of float)\r
+0:85          'samp2D' (uniform sampler2D)\r
+0:85          Constant:\r
+0:85            0.300000\r
+0:85            0.300000\r
+0:85          Constant:\r
+0:85            1 (const int)\r
+0:85            1 (const int)\r
+0:85          Constant:\r
+0:85            2 (const int)\r
+0:90  Function Definition: bar234( (void)\r
+0:90    Function Parameters: \r
+0:?     Sequence\r
+0:93      move second child to first child (4-component vector of float)\r
+0:93        's' (4-component vector of float)\r
+0:93        Function Call: textureGatherOffset(s21;vf2;vi2; (4-component vector of float)\r
+0:93          'samp2D' (uniform sampler2D)\r
+0:93          Constant:\r
+0:93            0.300000\r
+0:93            0.300000\r
+0:93          Constant:\r
+0:93            1 (const int)\r
+0:93            1 (const int)\r
+0:94      move second child to first child (4-component vector of float)\r
+0:94        's' (4-component vector of float)\r
+0:94        Function Call: textureGatherOffset(sA21;vf3;vi2; (4-component vector of float)\r
+0:94          'samp2DA' (uniform sampler2DArray)\r
+0:94          Constant:\r
+0:94            0.300000\r
+0:94            0.300000\r
+0:94            0.300000\r
+0:94          Constant:\r
+0:94            1 (const int)\r
+0:94            1 (const int)\r
+0:95      move second child to first child (4-component vector of float)\r
+0:95        's' (4-component vector of float)\r
+0:95        Function Call: textureGatherOffset(sR21;vf2;vi2; (4-component vector of float)\r
+0:95          'samp2DR' (uniform sampler2DRect)\r
+0:95          Constant:\r
+0:95            0.300000\r
+0:95            0.300000\r
+0:95          Constant:\r
+0:95            1 (const int)\r
+0:95            1 (const int)\r
+0:96      move second child to first child (4-component vector of float)\r
+0:96        's' (4-component vector of float)\r
+0:96        Function Call: textureGatherOffset(sS21;vf2;f1;vi2; (4-component vector of float)\r
+0:96          'samp2DS' (uniform sampler2DShadow)\r
+0:96          Constant:\r
+0:96            0.300000\r
+0:96            0.300000\r
+0:96          Constant:\r
+0:96            1.300000\r
+0:96          Constant:\r
+0:96            1 (const int)\r
+0:96            1 (const int)\r
+0:97      move second child to first child (4-component vector of float)\r
+0:97        's' (4-component vector of float)\r
+0:97        Function Call: textureGatherOffset(s21;vf2;vi2;i1; (4-component vector of float)\r
+0:97          'samp2D' (uniform sampler2D)\r
+0:97          Constant:\r
+0:97            0.300000\r
+0:97            0.300000\r
+0:97          Constant:\r
+0:97            1 (const int)\r
+0:97            1 (const int)\r
+0:97          Constant:\r
+0:97            2 (const int)\r
+0:107  Function Definition: bar235( (void)\r
+0:107    Function Parameters: \r
+0:109    Sequence\r
+0:109      Sequence\r
+0:109        move second child to first child (3-component vector of int)\r
+0:109          'a' (3-component vector of int)\r
+0:109          Function Call: textureSize(sAC1;i1; (3-component vector of int)\r
+0:109            'Sca' (uniform samplerCubeArray)\r
+0:109            Constant:\r
+0:109              3 (const int)\r
+0:110      Sequence\r
+0:110        move second child to first child (4-component vector of float)\r
+0:110          'b' (4-component vector of float)\r
+0:110          Function Call: texture(sAC1;vf4; (4-component vector of float)\r
+0:110            'Sca' (uniform samplerCubeArray)\r
+0:110            'i' (smooth in 4-component vector of float)\r
+0:111      Sequence\r
+0:111        move second child to first child (4-component vector of int)\r
+0:111          'c' (4-component vector of int)\r
+0:111          Function Call: texture(isA31;vf4;f1; (4-component vector of int)\r
+0:111            'Isca' (uniform isampler3DArray)\r
+0:111            'i' (smooth in 4-component vector of float)\r
+0:111            Constant:\r
+0:111              0.700000\r
+0:112      Sequence\r
+0:112        move second child to first child (4-component vector of uint)\r
+0:112          'd' (4-component vector of uint)\r
+0:112          Function Call: texture(usAC1;vf4; (4-component vector of uint)\r
+0:112            'Usca' (uniform usamplerCubeArray)\r
+0:112            'i' (smooth in 4-component vector of float)\r
+0:114      move second child to first child (4-component vector of float)\r
+0:114        'b' (4-component vector of float)\r
+0:114        Function Call: textureLod(sAC1;vf4;f1; (4-component vector of float)\r
+0:114          'Sca' (uniform samplerCubeArray)\r
+0:114          'i' (smooth in 4-component vector of float)\r
+0:114          Constant:\r
+0:114            1.700000\r
+0:115      move second child to first child (3-component vector of int)\r
+0:115        'a' (3-component vector of int)\r
+0:115        Function Call: textureSize(sASC1;i1; (3-component vector of int)\r
+0:115          'Scas' (uniform samplerCubeArrayShadow)\r
+0:115          direct index (int)\r
+0:115            'a' (3-component vector of int)\r
+0:115            Constant:\r
+0:115              0 (const int)\r
+0:116      Sequence\r
+0:116        move second child to first child (float)\r
+0:116          'f' (float)\r
+0:116          Function Call: texture(sASC1;vf4;f1; (float)\r
+0:116            'Scas' (uniform samplerCubeArrayShadow)\r
+0:116            'i' (smooth in 4-component vector of float)\r
+0:116            direct index (float)\r
+0:116              'b' (4-component vector of float)\r
+0:116              Constant:\r
+0:116                1 (const int)\r
+0:117      move second child to first child (4-component vector of int)\r
+0:117        'c' (4-component vector of int)\r
+0:117        Function Call: textureGrad(isA31;vf4;vf3;vf3; (4-component vector of int)\r
+0:117          'Isca' (uniform isampler3DArray)\r
+0:117          'i' (smooth in 4-component vector of float)\r
+0:117          Constant:\r
+0:117            0.100000\r
+0:117            0.100000\r
+0:117            0.100000\r
+0:117          Constant:\r
+0:117            0.200000\r
+0:117            0.200000\r
+0:117            0.200000\r
+0:126  Function Definition: bar23444( (void)\r
+0:126    Function Parameters: \r
+0:?     Sequence\r
+0:129      Sequence\r
+0:129        move second child to first child (float)\r
+0:129          'a1' (float)\r
+0:129          direct index (float)\r
+0:129            direct index (3-component vector of float)\r
+0:129              'm43' (4X3 matrix of float)\r
+0:129              Constant:\r
+0:129                3 (const int)\r
+0:129            Constant:\r
+0:129              1 (const int)\r
+0:131      Sequence\r
+0:131        move second child to first child (float)\r
+0:131          'b' (const (read only) float)\r
+0:131          component-wise multiply (float)\r
+0:131            Constant:\r
+0:131              2.000000\r
+0:131            'a1' (float)\r
+0:132      move second child to first child (float)\r
+0:132        direct index (float)\r
+0:132          'a' (3-component vector of float)\r
+0:132          Constant:\r
+0:132            0 (const int)\r
+0:132        add (float)\r
+0:132          'gl_MinProgramTexelOffset' (float)\r
+0:132          'gl_MaxProgramTexelOffset' (float)\r
+0:?   Linker Objects\r
+0:?     'a' (3-component vector of float)\r
+0:?     'b' (float)\r
+0:?     'c' (int)\r
+0:?     'i' (smooth in 4-component vector of float)\r
+0:?     'o' (out 4-component vector of float)\r
+0:?     'fflat' (flat in float)\r
+0:?     'fsmooth' (smooth in float)\r
+0:?     'fnop' (noperspective in float)\r
+0:?     'gl_ClipDistance' (smooth in 4-element array of float)\r
+0:?     'sampC' (uniform samplerCube)\r
+0:?     'gl_Color' (smooth in 4-component vector of float)\r
+0:?     'gl_Color' (flat in 4-component vector of float)\r
+0:?     'samp2D' (uniform sampler2D)\r
+0:?     'samp2DS' (uniform sampler2DShadow)\r
+0:?     'samp2DR' (uniform sampler2DRect)\r
+0:?     'samp2DA' (uniform sampler2DArray)\r
+0:?     'Sca' (uniform samplerCubeArray)\r
+0:?     'Isca' (uniform isampler3DArray)\r
+0:?     'Usca' (uniform usamplerCubeArray)\r
+0:?     'Scas' (uniform samplerCubeArrayShadow)\r
+0:?     'ai' (const 3-element array of int)\r
+0:?       10 (const int)\r
+0:?       23 (const int)\r
+0:?       32 (const int)\r
+0:?     'instanceName' (layout(binding=0 column_major shared ) uniform block{layout(column_major shared ) uniform int a})\r
+0:?     'bounds' (layout(binding=0 ) uniform sampler2D)\r
 \r
index cd5f20b..9ce7cac 100644 (file)
@@ -1,5 +1,4 @@
 140.frag\r
-Warning, version 140 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 ERROR: 0:17: '#error' : GL_ES is not set  \r
 ERROR: 0:20: 'fragment-shader struct input' : not supported for this version or the enabled extensions \r
@@ -84,4 +83,69 @@ Linked fragment stage:
 \r
 Shader version: 140\r
 Requested GL_ARB_separate_shader_objects\r
+ERROR: node is still EOpNull!\r
+0:10  Function Definition: main( (void)\r
+0:10    Function Parameters: \r
+0:12    Sequence\r
+0:12      Sequence\r
+0:12        move second child to first child (float)\r
+0:12          'clip' (float)\r
+0:12          direct index (smooth float)\r
+0:12            'gl_ClipDistance' (smooth in 5-element array of float)\r
+0:12            Constant:\r
+0:12              2 (const int)\r
+0:22  Sequence\r
+0:22    move second child to first child (float)\r
+0:22      'patch' (float)\r
+0:22      Constant:\r
+0:22        3.100000\r
+0:30  Function Definition: foo( (void)\r
+0:30    Function Parameters: \r
+0:32    Sequence\r
+0:32      Sequence\r
+0:32        move second child to first child (2-component vector of float)\r
+0:32          'r1' (2-component vector of float)\r
+0:32          modf (2-component vector of float)\r
+0:32            vector swizzle (2-component vector of float)\r
+0:32              'v' (smooth in 4-component vector of float)\r
+0:32              Sequence\r
+0:32                Constant:\r
+0:32                  0 (const int)\r
+0:32                Constant:\r
+0:32                  1 (const int)\r
+0:32            vector swizzle (2-component vector of float)\r
+0:32              'v' (smooth in 4-component vector of float)\r
+0:32              Sequence\r
+0:32                Constant:\r
+0:32                  2 (const int)\r
+0:32                Constant:\r
+0:32                  3 (const int)\r
+0:33      Sequence\r
+0:33        move second child to first child (2-component vector of float)\r
+0:33          'r2' (2-component vector of float)\r
+0:33          modf (2-component vector of float)\r
+0:33            vector swizzle (2-component vector of float)\r
+0:33              'o' (out 4-component vector of float)\r
+0:33              Sequence\r
+0:33                Constant:\r
+0:33                  0 (const int)\r
+0:33                Constant:\r
+0:33                  1 (const int)\r
+0:33            vector swizzle (2-component vector of float)\r
+0:33              'o' (out 4-component vector of float)\r
+0:33              Sequence\r
+0:33                Constant:\r
+0:33                  2 (const int)\r
+0:33                Constant:\r
+0:33                  3 (const int)\r
+0:?   Linker Objects\r
+0:?     'v' (smooth in 4-component vector of float)\r
+0:?     'i' (smooth in 4-component vector of float)\r
+0:?     'o' (out 4-component vector of float)\r
+0:?     'gl_ClipDistance' (smooth in 5-element array of float)\r
+0:?     'gl_ClipDistance' (smooth in 5-element array of float)\r
+0:?     's' (smooth in structure{float f})\r
+0:?     'patch' (float)\r
+0:?     'vl' (layout(location=3 ) smooth in 4-component vector of float)\r
+0:?     'vl2' (layout(location=4 ) smooth in 4-component vector of float)\r
 \r
index be2205e..6795551 100644 (file)
@@ -1,5 +1,5 @@
 150.frag\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:4: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord\r
 ERROR: 0:5: 'redeclaration' : cannot redeclare with different qualification: gl_FragCoord\r
 ERROR: 0:6: 'layout qualifier' : can only apply origin_upper_left and pixel_center_origin to gl_FragCoord \r
@@ -37,4 +37,23 @@ Linked fragment stage:
 Shader version: 150\r
 gl_FragCoord pixel center is integer\r
 gl_FragCoord origin is upper left\r
+ERROR: node is still EOpNull!\r
+0:9  Function Definition: main( (void)\r
+0:9    Function Parameters: \r
+0:11    Sequence\r
+0:11      Sequence\r
+0:11        move second child to first child (4-component vector of float)\r
+0:11          'c' (4-component vector of float)\r
+0:11          'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:18  Sequence\r
+0:18    move second child to first child (float)\r
+0:18      'patch' (float)\r
+0:18      Constant:\r
+0:18        3.100000\r
+0:?   Linker Objects\r
+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:?     'foo' (smooth in 4-component vector of float)\r
+0:?     's' (smooth in structure{float f})\r
+0:?     'patch' (float)\r
 \r
index a4272d2..8646ebf 100644 (file)
@@ -1,5 +1,5 @@
 150.geom\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:15: 'fromVertex' : block instance name redefinition \r
 ERROR: 0:19: 'fromVertex' : redefinition \r
 ERROR: 0:21: 'fooC' : block instance name redefinition \r
@@ -51,7 +51,7 @@ ERROR: node is still EOpNull!
 0:30        0.000000\r
 0:32      move second child to first child (3-component vector of float)\r
 0:32        color: direct index for structure (layout(stream=0 ) out 3-component vector of float)\r
-0:32          '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
+0:32          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
 0:32          Constant:\r
 0:32            0 (const uint)\r
 0:32        color: direct index for structure (in 3-component vector of float)\r
@@ -64,7 +64,7 @@ ERROR: node is still EOpNull!
 0:33      move second child to first child (float)\r
 0:33        direct index (layout(stream=0 ) float)\r
 0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out implicitly-sized array of float)\r
-0:33            '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
+0:33            'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 0:33            Constant:\r
 0:33              2 (const uint)\r
 0:33          Constant:\r
@@ -81,7 +81,7 @@ ERROR: node is still EOpNull!
 0:33            2 (const int)\r
 0:34      move second child to first child (4-component vector of float)\r
 0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float)\r
-0:34          '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
+0:34          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 0:34          Constant:\r
 0:34            0 (const uint)\r
 0:34        gl_Position: direct index for structure (in 4-component vector of float)\r
@@ -93,7 +93,7 @@ ERROR: node is still EOpNull!
 0:34            0 (const int)\r
 0:35      move second child to first child (float)\r
 0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)\r
-0:35          '__anon__1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
+0:35          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 0:35          Constant:\r
 0:35            1 (const uint)\r
 0:35        gl_PointSize: direct index for structure (in float)\r
@@ -127,7 +127,8 @@ ERROR: node is still EOpNull!
 0:?   Linker Objects\r
 0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})\r
 0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
-0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
+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})\r
 0:?     'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
 0:?     'ov0' (layout(stream=0 ) out 4-component vector of float)\r
 0:?     'ov4' (layout(stream=4 ) out 4-component vector of float)\r
@@ -141,12 +142,12 @@ ERROR: node is still EOpNull!
 0:?     'ov2s3' (layout(stream=3 ) out 4-component vector of float)\r
 0:?     'badv4' (layout(stream=3 ) out 4-component vector of float)\r
 0:?     'bad2v4' (in 4-element array of 4-component vector of float)\r
-0:?     '__anon__1' (layout(stream=3 ) out block{layout(stream=3 ) out int a})\r
+0:?     'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})\r
 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})\r
 0:?     'inbi' (in 4-element array of block{layout(stream=2 ) in int a})\r
 0:?     'insn' (in 4-element array of block{in int a15})\r
-0:?     '__anon__2' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})\r
-0:?     '__anon__3' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})\r
+0:?     'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})\r
+0:?     'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})\r
 \r
 \r
 Linked geometry stage:\r
@@ -157,4 +158,113 @@ invocations = 4
 max_vertices = 300\r
 input primitive = lines_adjancency\r
 output primitive = triangle_strip\r
+ERROR: node is still EOpNull!\r
+0:25  Function Definition: main( (void)\r
+0:25    Function Parameters: \r
+0:27    Sequence\r
+0:27      EmitVertex (void)\r
+0:28      EndPrimitive (void)\r
+0:29      Constant:\r
+0:29        0.000000\r
+0:30      Constant:\r
+0:30        0.000000\r
+0:32      move second child to first child (3-component vector of float)\r
+0:32        color: direct index for structure (layout(stream=0 ) out 3-component vector of float)\r
+0:32          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
+0:32          Constant:\r
+0:32            0 (const uint)\r
+0:32        color: direct index for structure (in 3-component vector of float)\r
+0:32          direct index (block{in 3-component vector of float color})\r
+0:32            'fromV' (in 4-element array of block{in 3-component vector of float color})\r
+0:32            Constant:\r
+0:32              0 (const int)\r
+0:32          Constant:\r
+0:32            0 (const int)\r
+0:33      move second child to first child (float)\r
+0:33        direct index (layout(stream=0 ) float)\r
+0:33          gl_ClipDistance: direct index for structure (layout(stream=0 ) out 4-element array of float)\r
+0:33            'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})\r
+0:33            Constant:\r
+0:33              2 (const uint)\r
+0:33          Constant:\r
+0:33            3 (const int)\r
+0:33        direct index (float)\r
+0:33          gl_ClipDistance: direct index for structure (in 1-element array of float)\r
+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})\r
+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})\r
+0:33              Constant:\r
+0:33                1 (const int)\r
+0:33            Constant:\r
+0:33              2 (const int)\r
+0:33          Constant:\r
+0:33            2 (const int)\r
+0:34      move second child to first child (4-component vector of float)\r
+0:34        gl_Position: direct index for structure (layout(stream=0 ) gl_Position 4-component vector of float)\r
+0:34          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})\r
+0:34          Constant:\r
+0:34            0 (const uint)\r
+0:34        gl_Position: direct index for structure (in 4-component vector of float)\r
+0:34          direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:34            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:34            Constant:\r
+0:34              0 (const int)\r
+0:34          Constant:\r
+0:34            0 (const int)\r
+0:35      move second child to first child (float)\r
+0:35        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)\r
+0:35          'anon@1' (layout(stream=0 ) out block{layout(stream=0 ) gl_Position 4-component vector of float gl_Position, layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 4-element array of float gl_ClipDistance})\r
+0:35          Constant:\r
+0:35            1 (const uint)\r
+0:35        gl_PointSize: direct index for structure (in float)\r
+0:35          direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:35            'gl_in' (in 4-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:35            Constant:\r
+0:35              3 (const int)\r
+0:35          Constant:\r
+0:35            1 (const int)\r
+0:36      move second child to first child (int)\r
+0:36        'gl_PrimitiveID' (layout(stream=0 ) out int)\r
+0:36        'gl_PrimitiveIDIn' (in int)\r
+0:37      move second child to first child (int)\r
+0:37        'gl_Layer' (layout(stream=0 ) out int)\r
+0:37        Constant:\r
+0:37          2 (const int)\r
+0:65  Function Definition: foo(i1; (void)\r
+0:65    Function Parameters: \r
+0:65      'a' (in int)\r
+0:67    Sequence\r
+0:67      move second child to first child (4-component vector of float)\r
+0:67        a: direct index for structure (layout(stream=6 ) out 4-component vector of float)\r
+0:67          'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})\r
+0:67          Constant:\r
+0:67            0 (const int)\r
+0:67        Constant:\r
+0:67          1.000000\r
+0:67          1.000000\r
+0:67          1.000000\r
+0:67          1.000000\r
+0:?   Linker Objects\r
+0:?     'fromV' (in 4-element array of block{in 3-component vector of float color})\r
+0:?     'toF' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) out 3-component vector of float color})\r
+0:?     '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})\r
+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})\r
+0:?     'ov0' (layout(stream=0 ) out 4-component vector of float)\r
+0:?     'ov4' (layout(stream=4 ) out 4-component vector of float)\r
+0:?     'o1v0' (layout(stream=0 ) out 4-component vector of float)\r
+0:?     'ua' (layout(stream=3 ) uniform int)\r
+0:?     'ibb' (layout(stream=3 column_major shared ) uniform block{layout(stream=3 column_major shared ) uniform int ua})\r
+0:?     'ov3' (layout(stream=3 ) out 4-component vector of float)\r
+0:?     'ouuaa6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})\r
+0:?     'ouua6' (layout(stream=6 ) out block{layout(stream=6 ) out 4-component vector of float a})\r
+0:?     'ouua7' (layout(stream=7 ) out block{layout(stream=6 ) out 4-component vector of float a})\r
+0:?     'ov2s3' (layout(stream=3 ) out 4-component vector of float)\r
+0:?     'badv4' (layout(stream=3 ) out 4-component vector of float)\r
+0:?     'bad2v4' (in 4-element array of 4-component vector of float)\r
+0:?     'anon@2' (layout(stream=3 ) out block{layout(stream=3 ) out int a})\r
+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})\r
+0:?     'inbi' (in 4-element array of block{layout(stream=2 ) in int a})\r
+0:?     'insn' (in 4-element array of block{in int a15})\r
+0:?     'anon@3' (layout(stream=3 ) out block{layout(stream=3 ) out float f15})\r
+0:?     'anon@4' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b15})\r
 \r
index e32b653..6de33cb 100644 (file)
@@ -1,5 +1,5 @@
 150.tesc\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 150\r
 Requested GL_ARB_tessellation_shader\r
@@ -104,12 +104,12 @@ vertices = 4
 0:33        Constant:\r
 0:33          1.300000\r
 0:?   Linker Objects\r
+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:?     'outa' (4-element array of int)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 \r
 150.tese\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:12: 'barrier' : no matching overloaded function found \r
 ERROR: 1 compilation errors.  No code generated.\r
 \r
@@ -192,20 +192,20 @@ ERROR: node is still EOpNull!
 0:30              1 (const int)\r
 0:32      move second child to first child (4-component vector of float)\r
 0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:32          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:32          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:32          Constant:\r
 0:32            0 (const uint)\r
 0:32        'p' (4-component vector of float)\r
 0:33      move second child to first child (float)\r
 0:33        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:33          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:33          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:33          Constant:\r
 0:33            1 (const uint)\r
 0:33        'ps' (float)\r
 0:34      move second child to first child (float)\r
 0:34        direct index (float)\r
 0:34          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
-0:34            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:34            '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})\r
 0:34            Constant:\r
 0:34              2 (const uint)\r
 0:34          Constant:\r
@@ -213,9 +213,10 @@ ERROR: node is still EOpNull!
 0:34        'cd' (float)\r
 0:?   Linker Objects\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
+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})\r
 \r
 400.tesc\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:6: 'quads' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) \r
 ERROR: 0:7: 'ccw' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) \r
 ERROR: 0:8: 'fractional_even_spacing' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) \r
@@ -343,10 +344,10 @@ ERROR: node is still EOpNull!
 0:44        Constant:\r
 0:44          1 (const int)\r
 0:?   Linker Objects\r
+0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:?     'outa' (4-element array of int)\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
 0:?     'inc' (in 32-element array of 2-component vector of float)\r
@@ -359,7 +360,7 @@ ERROR: node is still EOpNull!
 0:?     'ovlc' (layout(location=4 ) out 4-element array of 4-component vector of float)\r
 \r
 400.tese\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:3: 'vertices' : there is no such layout identifier for this stage taking an assigned value \r
 ERROR: 0:5: 'triangles' : cannot change previously set input primitive \r
 ERROR: 0:6: 'isolines' : cannot change previously set input primitive \r
@@ -470,20 +471,20 @@ ERROR: node is still EOpNull!
 0:40              1 (const int)\r
 0:42      move second child to first child (4-component vector of float)\r
 0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:42          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:42          Constant:\r
 0:42            0 (const uint)\r
 0:42        'p' (4-component vector of float)\r
 0:43      move second child to first child (float)\r
 0:43        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:43          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:43          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:43          Constant:\r
 0:43            1 (const uint)\r
 0:43        'ps' (float)\r
 0:44      move second child to first child (float)\r
 0:44        direct index (float)\r
 0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
-0:44            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:44            '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})\r
 0:44            Constant:\r
 0:44              2 (const uint)\r
 0:44          Constant:\r
@@ -492,6 +493,7 @@ ERROR: node is still EOpNull!
 0:?   Linker Objects\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
+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})\r
 0:?     'badp1' (smooth patch in 4-component vector of float)\r
 0:?     'badp2' (flat patch in 4-component vector of float)\r
 0:?     'badp3' (noperspective patch in 4-component vector of float)\r
@@ -512,7 +514,7 @@ ERROR: node is still EOpNull!
 0:?     'ovlb' (layout(location=24 ) out 2-element array of 4-component vector of float)\r
 \r
 410.tesc\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:4: 'length' :  array must first be sized by a redeclaration or layout qualifier\r
 ERROR: 1 compilation errors.  No code generated.\r
 \r
@@ -523,11 +525,12 @@ ERROR: node is still EOpNull!
 0:8  Function Definition: main( (void)\r
 0:8    Function Parameters: \r
 0:?   Linker Objects\r
+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})\r
 0:?     'outa' (1-element array of int)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
 \r
 420.tesc\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:7: 'vertices' : inconsistent output number of vertices for array size of gl_out\r
 ERROR: 0:11: 'vertices' : inconsistent output number of vertices for array size of a\r
 ERROR: 0:12: 'vertices' : inconsistent output number of vertices for array size of outb\r
@@ -610,7 +613,7 @@ ERROR: node is still EOpNull!
 0:?     'outf' (out float)\r
 \r
 420.tese\r
-Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:7: '=' :  cannot convert from '3-element array of float' to '2-element array of float'\r
 ERROR: 0:8: 'initializer list' : wrong vector size (or rows in a matrix column): 2-component vector of float\r
 ERROR: 0:9: 'initializer list' : wrong number of matrix columns: 3X3 matrix of float\r
@@ -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:\r
     main(\r
 ERROR: Linking tessellation control stage: Types must match:\r
+    gl_out: "out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 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}"\r
+ERROR: Linking tessellation control stage: Types must match:\r
     outa: "4-element array of int" versus "1-element array of int"\r
 ERROR: Linking tessellation control stage: Multiple function bodies in multiple compilation units for the same signature in the same stage:\r
     main(\r
@@ -823,8 +828,8 @@ vertices = 4
 0:20        move second child to first child (4-component vector of float)\r
 0:20          'p' (4-component vector of float)\r
 0:20          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:20            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:20              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:20            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:20              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:20              Constant:\r
 0:20                1 (const int)\r
 0:20            Constant:\r
@@ -833,8 +838,8 @@ vertices = 4
 0:21        move second child to first child (float)\r
 0:21          'ps' (float)\r
 0:21          gl_PointSize: direct index for structure (in float)\r
-0:21            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:21              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:21            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:21              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:21              Constant:\r
 0:21                1 (const int)\r
 0:21            Constant:\r
@@ -843,9 +848,9 @@ vertices = 4
 0:22        move second child to first child (float)\r
 0:22          'cd' (float)\r
 0:22          direct index (float)\r
-0:22            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
-0:22              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:22                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:22            gl_ClipDistance: direct index for structure (in 1-element array of float)\r
+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})\r
+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})\r
 0:22                Constant:\r
 0:22                  1 (const int)\r
 0:22              Constant:\r
@@ -866,8 +871,8 @@ vertices = 4
 0:26          'gl_InvocationID' (in int)\r
 0:28      move second child to first child (4-component vector of float)\r
 0:28        gl_Position: direct index for structure (out 4-component vector of float)\r
-0:28          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:28          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
+0:28            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:28            Constant:\r
 0:28              1 (const int)\r
 0:28          Constant:\r
@@ -875,8 +880,8 @@ vertices = 4
 0:28        'p' (4-component vector of float)\r
 0:29      move second child to first child (float)\r
 0:29        gl_PointSize: direct index for structure (out float)\r
-0:29          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:29          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
+0:29            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:29            Constant:\r
 0:29              1 (const int)\r
 0:29          Constant:\r
@@ -884,9 +889,9 @@ vertices = 4
 0:29        'ps' (float)\r
 0:30      move second child to first child (float)\r
 0:30        direct index (float)\r
-0:30          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
-0:30            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:30              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:30          gl_ClipDistance: direct index for structure (out 1-element array of float)\r
+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})\r
+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})\r
 0:30              Constant:\r
 0:30                1 (const int)\r
 0:30            Constant:\r
@@ -921,8 +926,8 @@ vertices = 4
 0:23        move second child to first child (4-component vector of float)\r
 0:23          'p' (4-component vector of float)\r
 0:23          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:23              Constant:\r
 0:23                1 (const int)\r
 0:23            Constant:\r
@@ -931,8 +936,8 @@ vertices = 4
 0:24        move second child to first child (float)\r
 0:24          'ps' (float)\r
 0:24          gl_PointSize: direct index for structure (in float)\r
-0:24            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:24              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:24            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:24              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:24              Constant:\r
 0:24                1 (const int)\r
 0:24            Constant:\r
@@ -941,9 +946,9 @@ vertices = 4
 0:25        move second child to first child (float)\r
 0:25          'cd' (float)\r
 0:25          direct index (float)\r
-0:25            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
-0:25              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:25                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:25            gl_ClipDistance: direct index for structure (in 1-element array of float)\r
+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})\r
+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})\r
 0:25                Constant:\r
 0:25                  1 (const int)\r
 0:25              Constant:\r
@@ -964,8 +969,8 @@ vertices = 4
 0:29          'gl_InvocationID' (in int)\r
 0:31      move second child to first child (4-component vector of float)\r
 0:31        gl_Position: direct index for structure (out 4-component vector of float)\r
-0:31          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:31          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
+0:31            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:31            Constant:\r
 0:31              1 (const int)\r
 0:31          Constant:\r
@@ -973,8 +978,8 @@ vertices = 4
 0:31        'p' (4-component vector of float)\r
 0:32      move second child to first child (float)\r
 0:32        gl_PointSize: direct index for structure (out float)\r
-0:32          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:32          direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
+0:32            'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:32            Constant:\r
 0:32              1 (const int)\r
 0:32          Constant:\r
@@ -982,9 +987,9 @@ vertices = 4
 0:32        'ps' (float)\r
 0:33      move second child to first child (float)\r
 0:33        direct index (float)\r
-0:33          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
-0:33            direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:33              'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:33          gl_ClipDistance: direct index for structure (out 1-element array of float)\r
+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})\r
+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})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -1010,8 +1015,8 @@ vertices = 4
 0:42    Function Parameters: \r
 0:44    Sequence\r
 0:44      gl_PointSize: direct index for structure (out float)\r
-0:44        direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
-0:44          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:44        direct index (block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
+0:44          'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:44          Constant:\r
 0:44            4 (const int)\r
 0:44        Constant:\r
@@ -1025,8 +1030,8 @@ vertices = 4
 0:17        move second child to first child (4-component vector of float)\r
 0:17          'p' (4-component vector of float)\r
 0:17          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:17            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:17              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:17            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:17              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:17              Constant:\r
 0:17                1 (const int)\r
 0:17            Constant:\r
@@ -1035,8 +1040,8 @@ vertices = 4
 0:18        move second child to first child (float)\r
 0:18          'ps' (float)\r
 0:18          gl_PointSize: direct index for structure (in float)\r
-0:18            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:18              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:18            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:18              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:18              Constant:\r
 0:18                1 (const int)\r
 0:18            Constant:\r
@@ -1045,9 +1050,9 @@ vertices = 4
 0:19        move second child to first child (float)\r
 0:19          'cd' (float)\r
 0:19          direct index (float)\r
-0:19            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
-0:19              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:19                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:19            gl_ClipDistance: direct index for structure (in 1-element array of float)\r
+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})\r
+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})\r
 0:19                Constant:\r
 0:19                  1 (const int)\r
 0:19              Constant:\r
@@ -1080,9 +1085,9 @@ vertices = 4
 0:26        Constant:\r
 0:26          1 (const int)\r
 0:?   Linker Objects\r
+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})\r
 0:?     'outa' (4-element array of int)\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
-0:?     'gl_out' (out 4-element array of block{out 4-component vector of float gl_Position, out float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
@@ -1120,8 +1125,8 @@ ERROR: node is still EOpNull!
 0:22        move second child to first child (4-component vector of float)\r
 0:22          'p' (4-component vector of float)\r
 0:22          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:22            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:22              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:22            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:22              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:22              Constant:\r
 0:22                1 (const int)\r
 0:22            Constant:\r
@@ -1130,8 +1135,8 @@ ERROR: node is still EOpNull!
 0:23        move second child to first child (float)\r
 0:23          'ps' (float)\r
 0:23          gl_PointSize: direct index for structure (in float)\r
-0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:23            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:23              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:23              Constant:\r
 0:23                1 (const int)\r
 0:23            Constant:\r
@@ -1140,9 +1145,9 @@ ERROR: node is still EOpNull!
 0:24        move second child to first child (float)\r
 0:24          'cd' (float)\r
 0:24          direct index (float)\r
-0:24            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
-0:24              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:24                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:24            gl_ClipDistance: direct index for structure (in 1-element array of float)\r
+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})\r
+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})\r
 0:24                Constant:\r
 0:24                  1 (const int)\r
 0:24              Constant:\r
@@ -1177,20 +1182,20 @@ ERROR: node is still EOpNull!
 0:30              1 (const int)\r
 0:32      move second child to first child (4-component vector of float)\r
 0:32        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:32          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:32          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:32          Constant:\r
 0:32            0 (const uint)\r
 0:32        'p' (4-component vector of float)\r
 0:33      move second child to first child (float)\r
 0:33        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:33          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:33          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:33          Constant:\r
 0:33            1 (const uint)\r
 0:33        'ps' (float)\r
 0:34      move second child to first child (float)\r
 0:34        direct index (float)\r
-0:34          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
-0:34            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:34          gl_ClipDistance: direct index for structure (out 3-element array of float)\r
+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})\r
 0:34            Constant:\r
 0:34              2 (const uint)\r
 0:34          Constant:\r
@@ -1210,8 +1215,8 @@ ERROR: node is still EOpNull!
 0:32        move second child to first child (4-component vector of float)\r
 0:32          'p' (4-component vector of float)\r
 0:32          gl_Position: direct index for structure (in 4-component vector of float)\r
-0:32            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:32              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:32            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:32              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:32              Constant:\r
 0:32                1 (const int)\r
 0:32            Constant:\r
@@ -1220,8 +1225,8 @@ ERROR: node is still EOpNull!
 0:33        move second child to first child (float)\r
 0:33          'ps' (float)\r
 0:33          gl_PointSize: direct index for structure (in float)\r
-0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:33              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:33            direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:33              'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 0:33              Constant:\r
 0:33                1 (const int)\r
 0:33            Constant:\r
@@ -1230,9 +1235,9 @@ ERROR: node is still EOpNull!
 0:34        move second child to first child (float)\r
 0:34          'cd' (float)\r
 0:34          direct index (float)\r
-0:34            gl_ClipDistance: direct index for structure (in implicitly-sized array of float)\r
-0:34              direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
-0:34                'gl_in' (in 32-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in implicitly-sized array of float gl_ClipDistance})\r
+0:34            gl_ClipDistance: direct index for structure (in 1-element array of float)\r
+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})\r
+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})\r
 0:34                Constant:\r
 0:34                  1 (const int)\r
 0:34              Constant:\r
@@ -1267,20 +1272,20 @@ ERROR: node is still EOpNull!
 0:40              1 (const int)\r
 0:42      move second child to first child (4-component vector of float)\r
 0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:42          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:42          Constant:\r
 0:42            0 (const uint)\r
 0:42        'p' (4-component vector of float)\r
 0:43      move second child to first child (float)\r
 0:43        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:43          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:43          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 1-element array of float gl_ClipDistance})\r
 0:43          Constant:\r
 0:43            1 (const uint)\r
 0:43        'ps' (float)\r
 0:44      move second child to first child (float)\r
 0:44        direct index (float)\r
-0:44          gl_ClipDistance: direct index for structure (out implicitly-sized array of float)\r
-0:44            '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance})\r
+0:44          gl_ClipDistance: direct index for structure (out 3-element array of float)\r
+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})\r
 0:44            Constant:\r
 0:44              2 (const uint)\r
 0:44          Constant:\r
@@ -1362,12 +1367,13 @@ ERROR: node is still EOpNull!
 0:76        true case is null\r
 0:?   Linker Objects\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
+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})\r
 0:?     'patchOut' (patch out 4-component vector of float)\r
 0:?     'badp1' (smooth patch in 4-component vector of float)\r
 0:?     'badp2' (flat patch in 4-component vector of float)\r
 0:?     'badp3' (noperspective patch in 4-component vector of float)\r
 0:?     'badp4' (patch sample in 3-component vector of float)\r
-0:?     'gl_in' (in 32-element array of block{in implicitly-sized array of float gl_ClipDistance})\r
+0:?     'gl_in' (in 32-element array of block{in 1-element array of float gl_ClipDistance})\r
 0:?     'ina' (in 2-component vector of float)\r
 0:?     'inb' (in 32-element array of 2-component vector of float)\r
 0:?     'inc' (in 32-element array of 2-component vector of float)\r
@@ -1403,7 +1409,7 @@ ERROR: node is still EOpNull!
 0:?     'b3' (2-element array of 4-component vector of float)\r
 0:?     'b4' (2-element array of 4-component vector of float)\r
 0:?     'c3' (4X2 matrix of float)\r
-0:?     'd2' (implicitly-sized array of structure{float s, float t})\r
+0:?     'd2' (1-element array of structure{float s, float t})\r
 0:?     'b5' (5-element array of float)\r
 0:?     'constructed' (const structure{2-component vector of uint uv2, 2-element array of structure{float f, 2X3 matrix of float m23} s})\r
 0:?       1 (const uint)\r
index 9bd9d70..2db24a7 100644 (file)
@@ -1,5 +1,5 @@
 150.vert\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:22: 'a' : cannot redeclare a user-block member array \r
 ERROR: 1 compilation errors.  No code generated.\r
 \r
@@ -11,20 +11,20 @@ ERROR: node is still EOpNull!
 0:11    Sequence\r
 0:11      move second child to first child (4-component vector of float)\r
 0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)\r
-0:11          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:11          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:11          Constant:\r
 0:11            0 (const uint)\r
 0:11        'iv4' (in 4-component vector of float)\r
 0:12      move second child to first child (float)\r
 0:12        gl_PointSize: direct index for structure (gl_PointSize float)\r
-0:12          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:12          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:12          Constant:\r
 0:12            1 (const uint)\r
 0:12        'ps' (uniform float)\r
 0:13      move second child to first child (float)\r
 0:13        direct index (float)\r
 0:13          gl_ClipDistance: direct index for structure (out 4-element array of float)\r
-0:13            '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:13            'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:13            Constant:\r
 0:13              2 (const uint)\r
 0:13          Constant:\r
@@ -35,14 +35,14 @@ ERROR: node is still EOpNull!
 0:13            0 (const int)\r
 0:14      move second child to first child (4-component vector of float)\r
 0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)\r
-0:14          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:14          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:14          Constant:\r
 0:14            3 (const uint)\r
 0:14        'iv4' (in 4-component vector of float)\r
 0:?   Linker Objects\r
 0:?     'iv4' (in 4-component vector of float)\r
 0:?     'ps' (uniform float)\r
-0:?     '__anon__1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})\r
+0:?     'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform implicitly-sized array of int a})\r
 0:?     'gl_VertexID' (gl_VertexId int)\r
 0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
@@ -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)\r
 \r
 Shader version: 150\r
+ERROR: node is still EOpNull!\r
+0:9  Function Definition: main( (void)\r
+0:9    Function Parameters: \r
+0:11    Sequence\r
+0:11      move second child to first child (4-component vector of float)\r
+0:11        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)\r
+0:11          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:11          Constant:\r
+0:11            0 (const uint)\r
+0:11        'iv4' (in 4-component vector of float)\r
+0:12      move second child to first child (float)\r
+0:12        gl_PointSize: direct index for structure (gl_PointSize float)\r
+0:12          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:12          Constant:\r
+0:12            1 (const uint)\r
+0:12        'ps' (uniform float)\r
+0:13      move second child to first child (float)\r
+0:13        direct index (float)\r
+0:13          gl_ClipDistance: direct index for structure (out 4-element array of float)\r
+0:13            'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:13            Constant:\r
+0:13              2 (const uint)\r
+0:13          Constant:\r
+0:13            2 (const int)\r
+0:13        direct index (float)\r
+0:13          'iv4' (in 4-component vector of float)\r
+0:13          Constant:\r
+0:13            0 (const int)\r
+0:14      move second child to first child (4-component vector of float)\r
+0:14        gl_ClipVertex: direct index for structure (gl_ClipVertex 4-component vector of float)\r
+0:14          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 4-element array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out 1-element array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:14          Constant:\r
+0:14            3 (const uint)\r
+0:14        'iv4' (in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'iv4' (in 4-component vector of float)\r
+0:?     'ps' (uniform float)\r
+0:?     'anon@1' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform 1-element array of int a})\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index a08ecbd..e0fda14 100644 (file)
@@ -394,4 +394,351 @@ Linked fragment stage:
 ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers\r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:53  Function Definition: main( (void)\r
+0:53    Function Parameters: \r
+0:?     Sequence\r
+0:57      move second child to first child (lowp 4-component vector of float)\r
+0:57        'v' (lowp 4-component vector of float)\r
+0:57        Function Call: texture(s21;vf2; (lowp 4-component vector of float)\r
+0:57          's2D' (uniform lowp sampler2D)\r
+0:57          'c2D' (smooth in lowp 2-component vector of float)\r
+0:58      move second child to first child (lowp 4-component vector of float)\r
+0:58        'v' (lowp 4-component vector of float)\r
+0:58        Function Call: textureProj(s31;vf4; (lowp 4-component vector of float)\r
+0:58          's3D' (uniform lowp sampler3D)\r
+0:58          'c4D' (smooth lowp 4-component vector of float)\r
+0:59      move second child to first child (lowp 4-component vector of float)\r
+0:59        'v' (lowp 4-component vector of float)\r
+0:59        Function Call: textureLod(sA21;vf3;f1; (lowp 4-component vector of float)\r
+0:59          's2DArray' (uniform lowp sampler2DArray)\r
+0:59          'c3D' (smooth in lowp 3-component vector of float)\r
+0:59          Constant:\r
+0:59            1.200000\r
+0:60      move second child to first child (lowp float)\r
+0:60        'f' (lowp float)\r
+0:60        Function Call: textureOffset(sS21;vf3;vi2;f1; (lowp float)\r
+0:60          's2DShadow' (uniform lowp sampler2DShadow)\r
+0:60          'c3D' (smooth in lowp 3-component vector of float)\r
+0:60          'ic2D' (flat in mediump 2-component vector of int)\r
+0:60          'c1D' (smooth in lowp float)\r
+0:61      move second child to first child (lowp 4-component vector of float)\r
+0:61        'v' (lowp 4-component vector of float)\r
+0:61        Function Call: texelFetch(s31;vi3;i1; (lowp 4-component vector of float)\r
+0:61          's3D' (uniform lowp sampler3D)\r
+0:61          'ic3D' (flat in mediump 3-component vector of int)\r
+0:61          'ic1D' (flat in mediump int)\r
+0:62      move second child to first child (lowp 4-component vector of float)\r
+0:62        'v' (lowp 4-component vector of float)\r
+0:62        Function Call: texelFetchOffset(s21;vi2;i1;vi2; (lowp 4-component vector of float)\r
+0:62          direct index (lowp sampler2D)\r
+0:62            'arrayedSampler' (uniform 5-element array of lowp sampler2D)\r
+0:62            Constant:\r
+0:62              2 (const int)\r
+0:62          'ic2D' (flat in mediump 2-component vector of int)\r
+0:62          Constant:\r
+0:62            4 (const int)\r
+0:62          'ic2D' (flat in mediump 2-component vector of int)\r
+0:63      move second child to first child (lowp float)\r
+0:63        'f' (lowp float)\r
+0:63        Function Call: textureLodOffset(sS21;vf3;f1;vi2; (lowp float)\r
+0:63          's2DShadow' (uniform lowp sampler2DShadow)\r
+0:63          'c3D' (smooth in lowp 3-component vector of float)\r
+0:63          'c1D' (smooth in lowp float)\r
+0:63          'ic2D' (flat in mediump 2-component vector of int)\r
+0:64      move second child to first child (lowp 4-component vector of float)\r
+0:64        'v' (lowp 4-component vector of float)\r
+0:64        Function Call: textureProjLodOffset(s21;vf3;f1;vi2; (lowp 4-component vector of float)\r
+0:64          's2D' (uniform lowp sampler2D)\r
+0:64          'c3D' (smooth in lowp 3-component vector of float)\r
+0:64          'c1D' (smooth in lowp float)\r
+0:64          'ic2D' (flat in mediump 2-component vector of int)\r
+0:65      move second child to first child (lowp 4-component vector of float)\r
+0:65        'v' (lowp 4-component vector of float)\r
+0:65        Function Call: textureGrad(sC1;vf3;vf3;vf3; (lowp 4-component vector of float)\r
+0:65          'sCube' (uniform lowp samplerCube)\r
+0:65          'c3D' (smooth in lowp 3-component vector of float)\r
+0:65          'c3D' (smooth in lowp 3-component vector of float)\r
+0:65          'c3D' (smooth in lowp 3-component vector of float)\r
+0:66      move second child to first child (lowp float)\r
+0:66        'f' (lowp float)\r
+0:66        Function Call: textureGradOffset(sAS21;vf4;vf2;vf2;vi2; (lowp float)\r
+0:66          's2DArrayShadow' (uniform lowp sampler2DArrayShadow)\r
+0:66          'c4D' (smooth lowp 4-component vector of float)\r
+0:66          'c2D' (smooth in lowp 2-component vector of float)\r
+0:66          'c2D' (smooth in lowp 2-component vector of float)\r
+0:66          'ic2D' (flat in mediump 2-component vector of int)\r
+0:67      move second child to first child (lowp 4-component vector of float)\r
+0:67        'v' (lowp 4-component vector of float)\r
+0:67        Function Call: textureProjGrad(s31;vf4;vf3;vf3; (lowp 4-component vector of float)\r
+0:67          's3D' (uniform lowp sampler3D)\r
+0:67          'c4D' (smooth lowp 4-component vector of float)\r
+0:67          'c3D' (smooth in lowp 3-component vector of float)\r
+0:67          'c3D' (smooth in lowp 3-component vector of float)\r
+0:68      move second child to first child (lowp 4-component vector of float)\r
+0:68        'v' (lowp 4-component vector of float)\r
+0:68        Function Call: textureProjGradOffset(s21;vf3;vf2;vf2;vi2; (lowp 4-component vector of float)\r
+0:68          's2D' (uniform lowp sampler2D)\r
+0:68          'c3D' (smooth in lowp 3-component vector of float)\r
+0:68          'c2D' (smooth in lowp 2-component vector of float)\r
+0:68          'c2D' (smooth in lowp 2-component vector of float)\r
+0:68          'ic2D' (flat in mediump 2-component vector of int)\r
+0:69      move second child to first child (lowp 4-component vector of float)\r
+0:69        'v' (lowp 4-component vector of float)\r
+0:69        Function Call: texture(s21;vf2; (lowp 4-component vector of float)\r
+0:69          indirect index (lowp sampler2D)\r
+0:69            'arrayedSampler' (uniform 5-element array of lowp sampler2D)\r
+0:69            'ic1D' (flat in mediump int)\r
+0:69          'c2D' (smooth in lowp 2-component vector of float)\r
+0:72      move second child to first child (mediump 4-component vector of int)\r
+0:72        'iv' (mediump 4-component vector of int)\r
+0:72        Function Call: texture(is21;vf2; (mediump 4-component vector of int)\r
+0:72          'is2D' (uniform lowp isampler2D)\r
+0:72          'c2D' (smooth in lowp 2-component vector of float)\r
+0:73      move second child to first child (mediump 4-component vector of int)\r
+0:73        'iv' (mediump 4-component vector of int)\r
+0:73        Function Call: textureProjOffset(is21;vf4;vi2; (mediump 4-component vector of int)\r
+0:73          'is2D' (uniform lowp isampler2D)\r
+0:73          'c4D' (smooth lowp 4-component vector of float)\r
+0:73          'ic2D' (flat in mediump 2-component vector of int)\r
+0:74      move second child to first child (mediump 4-component vector of int)\r
+0:74        'iv' (mediump 4-component vector of int)\r
+0:74        Function Call: textureProjLod(is21;vf3;f1; (mediump 4-component vector of int)\r
+0:74          'is2D' (uniform lowp isampler2D)\r
+0:74          'c3D' (smooth in lowp 3-component vector of float)\r
+0:74          'c1D' (smooth in lowp float)\r
+0:75      move second child to first child (mediump 4-component vector of int)\r
+0:75        'iv' (mediump 4-component vector of int)\r
+0:75        Function Call: textureProjGrad(is21;vf3;vf2;vf2; (mediump 4-component vector of int)\r
+0:75          'is2D' (uniform lowp isampler2D)\r
+0:75          'c3D' (smooth in lowp 3-component vector of float)\r
+0:75          'c2D' (smooth in lowp 2-component vector of float)\r
+0:75          'c2D' (smooth in lowp 2-component vector of float)\r
+0:76      move second child to first child (mediump 4-component vector of int)\r
+0:76        'iv' (mediump 4-component vector of int)\r
+0:76        Function Call: texture(is31;vf3;f1; (mediump 4-component vector of int)\r
+0:76          'is3D' (uniform lowp isampler3D)\r
+0:76          'c3D' (smooth in lowp 3-component vector of float)\r
+0:76          Constant:\r
+0:76            4.200000\r
+0:77      move second child to first child (mediump 4-component vector of int)\r
+0:77        'iv' (mediump 4-component vector of int)\r
+0:77        Function Call: textureLod(isC1;vf3;f1; (mediump 4-component vector of int)\r
+0:77          'isCube' (uniform lowp isamplerCube)\r
+0:77          'c3D' (smooth in lowp 3-component vector of float)\r
+0:77          'c1D' (smooth in lowp float)\r
+0:78      move second child to first child (mediump 4-component vector of int)\r
+0:78        'iv' (mediump 4-component vector of int)\r
+0:78        Function Call: texelFetch(isA21;vi3;i1; (mediump 4-component vector of int)\r
+0:78          'is2DArray' (uniform lowp isampler2DArray)\r
+0:78          'ic3D' (flat in mediump 3-component vector of int)\r
+0:78          'ic1D' (flat in mediump int)\r
+0:80      move second child to first child (highp 2-component vector of int)\r
+0:80        vector swizzle (mediump 2-component vector of int)\r
+0:80          'iv' (mediump 4-component vector of int)\r
+0:80          Sequence\r
+0:80            Constant:\r
+0:80              0 (const int)\r
+0:80            Constant:\r
+0:80              1 (const int)\r
+0:80        Function Call: textureSize(sSC1;i1; (highp 2-component vector of int)\r
+0:80          'sCubeShadow' (uniform lowp samplerCubeShadow)\r
+0:80          Constant:\r
+0:80            2 (const int)\r
+0:88      add second child into first child (highp float)\r
+0:88        'f' (lowp float)\r
+0:88        direct index (highp float)\r
+0:88          'gl_FragCoord' (gl_FragCoord highp 4-component vector of float)\r
+0:88          Constant:\r
+0:88            1 (const int)\r
+0:89      move second child to first child (highp float)\r
+0:89        'gl_FragDepth' (gl_FragDepth highp float)\r
+0:89        'f' (lowp float)\r
+0:91      move second child to first child (lowp 3-component vector of float)\r
+0:91        'sc' (out lowp 3-component vector of float)\r
+0:91        c: direct index for structure (lowp 3-component vector of float)\r
+0:91          's2' (smooth in structure{lowp 3-component vector of float c, lowp float f})\r
+0:91          Constant:\r
+0:91            0 (const int)\r
+0:92      move second child to first child (lowp float)\r
+0:92        'sf' (out lowp float)\r
+0:92        f: direct index for structure (lowp float)\r
+0:92          's2' (smooth in structure{lowp 3-component vector of float c, lowp float f})\r
+0:92          Constant:\r
+0:92            1 (const int)\r
+0:94      add (lowp 2-component vector of float)\r
+0:94        hyp. sine (lowp float)\r
+0:94          'c1D' (smooth in lowp float)\r
+0:95        vector-scale (lowp 2-component vector of float)\r
+0:95          hyp. cosine (lowp float)\r
+0:95            'c1D' (smooth in lowp float)\r
+0:95          hyp. tangent (lowp 2-component vector of float)\r
+0:95            'c2D' (smooth in lowp 2-component vector of float)\r
+0:96      add (lowp 4-component vector of float)\r
+0:96        arc hyp. sine (lowp 4-component vector of float)\r
+0:96          'c4D' (smooth lowp 4-component vector of float)\r
+0:96        arc hyp. cosine (lowp 4-component vector of float)\r
+0:96          'c4D' (smooth lowp 4-component vector of float)\r
+0:97      arc hyp. tangent (lowp 3-component vector of float)\r
+0:97        'c3D' (smooth in lowp 3-component vector of float)\r
+0:108  Function Definition: foo( (void)\r
+0:108    Function Parameters: \r
+0:110    Sequence\r
+0:110      move second child to first child (lowp 4-component vector of float)\r
+0:110        direct index (lowp 4-component vector of float)\r
+0:110          'colors' (out 4-element array of lowp 4-component vector of float)\r
+0:110          Constant:\r
+0:110            2 (const int)\r
+0:110        'c4D' (smooth lowp 4-component vector of float)\r
+0:111      move second child to first child (lowp 4-component vector of float)\r
+0:111        indirect index (lowp 4-component vector of float)\r
+0:111          'colors' (out 4-element array of lowp 4-component vector of float)\r
+0:111          'ic1D' (flat in mediump int)\r
+0:111        'c4D' (smooth lowp 4-component vector of float)\r
+0:117  Function Definition: foo13(struct-s-i1-s211; (void)\r
+0:117    Function Parameters: \r
+0:117      'inSt2' (in structure{mediump int i, lowp sampler2D s})\r
+0:119    Sequence\r
+0:119      Test condition and select (void)\r
+0:119        Condition\r
+0:119        Compare Equal (bool)\r
+0:119          'st1' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:119          'st2' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:119        true case is null\r
+0:120      Test condition and select (void)\r
+0:120        Condition\r
+0:120        Compare Not Equal (bool)\r
+0:120          'st1' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:120          'st2' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:120        true case is null\r
+0:121      Constant:\r
+0:121        false (const bool)\r
+0:122      move second child to first child (structure{mediump int i, lowp sampler2D s})\r
+0:122        'inSt2' (in structure{mediump int i, lowp sampler2D s})\r
+0:122        'st1' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:123      Compare Equal (bool)\r
+0:123        'inSt2' (in structure{mediump int i, lowp sampler2D s})\r
+0:123        'st1' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:126  Function Definition: foo23( (void)\r
+0:126    Function Parameters: \r
+0:128    Sequence\r
+0:128      Function Call: textureOffset(sS21;vf3;vi2;f1; (lowp float)\r
+0:128        's2DShadow' (uniform lowp sampler2DShadow)\r
+0:128        'c3D' (smooth in lowp 3-component vector of float)\r
+0:128        Constant:\r
+0:128          -8 (const int)\r
+0:128          7 (const int)\r
+0:128        'c1D' (smooth in lowp float)\r
+0:129      Function Call: textureOffset(sS21;vf3;vi2;f1; (lowp float)\r
+0:129        's2DShadow' (uniform lowp sampler2DShadow)\r
+0:129        'c3D' (smooth in lowp 3-component vector of float)\r
+0:129        Constant:\r
+0:129          -9 (const int)\r
+0:129          8 (const int)\r
+0:129        'c1D' (smooth in lowp float)\r
+0:132  Function Definition: foo324( (void)\r
+0:132    Function Parameters: \r
+0:134    Sequence\r
+0:134      Sequence\r
+0:134        move second child to first child (lowp float)\r
+0:134          'p' (lowp float)\r
+0:134          Constant:\r
+0:134            210.712306\r
+0:135      add second child into first child (lowp float)\r
+0:135        'p' (lowp float)\r
+0:135        Constant:\r
+0:135          0.389418\r
+0:136      add second child into first child (lowp float)\r
+0:136        'p' (lowp float)\r
+0:136        Constant:\r
+0:136          5.000000\r
+0:137      add second child into first child (lowp float)\r
+0:137        'p' (lowp float)\r
+0:137        Constant:\r
+0:137          13.000000\r
+0:138      Sequence\r
+0:138        move second child to first child (lowp 3-component vector of float)\r
+0:138          'c3' (lowp 3-component vector of float)\r
+0:138          Constant:\r
+0:138            -15.000000\r
+0:138            -2.000000\r
+0:138            39.000000\r
+0:139      add second child into first child (lowp 3-component vector of float)\r
+0:139        'c3' (lowp 3-component vector of float)\r
+0:139        Constant:\r
+0:139          -1.000000\r
+0:139          -2.000000\r
+0:139          -3.000000\r
+0:140      add second child into first child (lowp 3-component vector of float)\r
+0:140        'c3' (lowp 3-component vector of float)\r
+0:140        Constant:\r
+0:140          1.000000\r
+0:140          2.000000\r
+0:140          3.000000\r
+0:141      Sequence\r
+0:141        move second child to first child (lowp 2-component vector of float)\r
+0:141          'c2' (lowp 2-component vector of float)\r
+0:141          Constant:\r
+0:141            1.000000\r
+0:141            -3.000000\r
+0:142      add second child into first child (lowp 2-component vector of float)\r
+0:142        'c2' (lowp 2-component vector of float)\r
+0:142        Constant:\r
+0:142          1.000000\r
+0:142          -3.000000\r
+0:143      add second child into first child (lowp 2-component vector of float)\r
+0:143        'c2' (lowp 2-component vector of float)\r
+0:143        Constant:\r
+0:143          3.000000\r
+0:143          -8.544004\r
+0:144      add second child into first child (lowp 2-component vector of float)\r
+0:144        'c2' (lowp 2-component vector of float)\r
+0:144        Constant:\r
+0:144          0.000000\r
+0:144          0.000000\r
+0:145      Sequence\r
+0:145        move second child to first child (lowp 3X2 matrix of float)\r
+0:145          'm32' (lowp 3X2 matrix of float)\r
+0:145          Constant:\r
+0:145            10.000000\r
+0:145            15.000000\r
+0:145            14.000000\r
+0:145            21.000000\r
+0:145            22.000000\r
+0:145            33.000000\r
+0:?   Linker Objects\r
+0:?     's2D' (uniform lowp sampler2D)\r
+0:?     's3D' (uniform lowp sampler3D)\r
+0:?     'sCube' (uniform lowp samplerCube)\r
+0:?     'sCubeShadow' (uniform lowp samplerCubeShadow)\r
+0:?     's2DShadow' (uniform lowp sampler2DShadow)\r
+0:?     's2DArray' (uniform lowp sampler2DArray)\r
+0:?     's2DArrayShadow' (uniform lowp sampler2DArrayShadow)\r
+0:?     'is2D' (uniform lowp isampler2D)\r
+0:?     'is3D' (uniform lowp isampler3D)\r
+0:?     'isCube' (uniform lowp isamplerCube)\r
+0:?     'is2DArray' (uniform lowp isampler2DArray)\r
+0:?     'us2D' (uniform lowp usampler2D)\r
+0:?     'us3D' (uniform lowp usampler3D)\r
+0:?     'usCube' (uniform lowp usamplerCube)\r
+0:?     'us2DArray' (uniform lowp usampler2DArray)\r
+0:?     'c1D' (smooth in lowp float)\r
+0:?     'c2D' (smooth in lowp 2-component vector of float)\r
+0:?     'c3D' (smooth in lowp 3-component vector of float)\r
+0:?     'c4D' (smooth lowp 4-component vector of float)\r
+0:?     'ic1D' (flat in mediump int)\r
+0:?     'ic2D' (flat in mediump 2-component vector of int)\r
+0:?     'ic3D' (flat in mediump 3-component vector of int)\r
+0:?     'ic4D' (flat in mediump 4-component vector of int)\r
+0:?     'badv' (noperspective in lowp 4-component vector of float)\r
+0:?     'bads' (smooth in lowp sampler2D)\r
+0:?     'badout' (smooth in structure{mediump int i, lowp sampler2D s})\r
+0:?     's2' (smooth in structure{lowp 3-component vector of float c, lowp float f})\r
+0:?     'sc' (out lowp 3-component vector of float)\r
+0:?     'sf' (out lowp float)\r
+0:?     'arrayedSampler' (uniform 5-element array of lowp sampler2D)\r
+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})\r
+0:?     'colors' (out 4-element array of lowp 4-component vector of float)\r
+0:?     'st1' (uniform structure{mediump int i, lowp sampler2D s})\r
+0:?     'st2' (uniform structure{mediump int i, lowp sampler2D s})\r
 \r
index 45f2d4a..d9d8c2f 100644 (file)
@@ -283,7 +283,7 @@ ERROR: node is still EOpNull!
 0:?     's2' (smooth out structure{highp 3-component vector of float c, highp float f})\r
 0:?     's3' (invariant smooth out structure{highp 3-component vector of float c, highp float f})\r
 0:?     'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})\r
-0:?     '__anon__0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})\r
+0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})\r
 0:?     's2D' (uniform lowp sampler2D)\r
 0:?     's3D' (uniform lowp sampler3D)\r
 0:?     's2DS' (uniform lowp sampler2DShadow)\r
@@ -300,4 +300,256 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:27  Function Definition: main( (void)\r
+0:27    Function Parameters: \r
+0:29    Sequence\r
+0:29      Sequence\r
+0:29        move second child to first child (highp int)\r
+0:29          'id' (highp int)\r
+0:29          add (highp int)\r
+0:29            'gl_VertexID' (gl_VertexId highp int)\r
+0:29            'gl_InstanceID' (gl_InstanceId highp int)\r
+0:31      Sequence\r
+0:31        move second child to first child (highp int)\r
+0:31          'c0' (highp int)\r
+0:31          Constant:\r
+0:31            64 (const int)\r
+0:32      Sequence\r
+0:32        move second child to first child (highp int)\r
+0:32          'c1' (highp int)\r
+0:32          Constant:\r
+0:32            128 (const int)\r
+0:33      Sequence\r
+0:33        move second child to first child (highp int)\r
+0:33          'c2' (highp int)\r
+0:33          Constant:\r
+0:33            16 (const int)\r
+0:34      Sequence\r
+0:34        move second child to first child (highp int)\r
+0:34          'c3' (highp int)\r
+0:34          Constant:\r
+0:34            15 (const int)\r
+0:35      Sequence\r
+0:35        move second child to first child (highp int)\r
+0:35          'c4' (highp int)\r
+0:35          Constant:\r
+0:35            32 (const int)\r
+0:36      Sequence\r
+0:36        move second child to first child (highp int)\r
+0:36          'c5' (highp int)\r
+0:36          Constant:\r
+0:36            80 (const int)\r
+0:37      Sequence\r
+0:37        move second child to first child (highp int)\r
+0:37          'c6' (highp int)\r
+0:37          Constant:\r
+0:37            32 (const int)\r
+0:38      Sequence\r
+0:38        move second child to first child (highp int)\r
+0:38          'c7' (highp int)\r
+0:38          Constant:\r
+0:38            16 (const int)\r
+0:39      Sequence\r
+0:39        move second child to first child (highp int)\r
+0:39          'c8' (highp int)\r
+0:39          Constant:\r
+0:39            32 (const int)\r
+0:40      Sequence\r
+0:40        move second child to first child (highp int)\r
+0:40          'c9' (highp int)\r
+0:40          Constant:\r
+0:40            -8 (const int)\r
+0:41      Sequence\r
+0:41        move second child to first child (highp int)\r
+0:41          'c10' (highp int)\r
+0:41          Constant:\r
+0:41            7 (const int)\r
+0:43      Sequence\r
+0:43        move second child to first child (highp 3X4 matrix of float)\r
+0:43          'tm' (highp 3X4 matrix of float)\r
+0:43          transpose (highp 3X4 matrix of float)\r
+0:43            'm43' (uniform highp 4X3 matrix of float)\r
+0:44      Sequence\r
+0:44        move second child to first child (highp float)\r
+0:44          'dm' (highp float)\r
+0:44          determinant (highp float)\r
+0:44            'm44' (uniform highp 4X4 matrix of float)\r
+0:45      Sequence\r
+0:45        move second child to first child (highp 3X3 matrix of float)\r
+0:45          'im' (highp 3X3 matrix of float)\r
+0:45          inverse (highp 3X3 matrix of float)\r
+0:45            'm33' (uniform highp 3X3 matrix of float)\r
+0:47      Sequence\r
+0:47        move second child to first child (highp 3X2 matrix of float)\r
+0:47          'op' (highp 3X2 matrix of float)\r
+0:47          outer product (highp 3X2 matrix of float)\r
+0:47            'v2' (smooth out highp 2-component vector of float)\r
+0:47            'v3' (in highp 3-component vector of float)\r
+0:49      move second child to first child (highp 4-component vector of float)\r
+0:49        'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:49        direct index (highp 4-component vector of float)\r
+0:49          'm44' (uniform highp 4X4 matrix of float)\r
+0:49          Constant:\r
+0:49            2 (const int)\r
+0:50      move second child to first child (highp float)\r
+0:50        'gl_PointSize' (gl_PointSize highp float)\r
+0:50        direct index (highp float)\r
+0:50          'v2' (smooth out highp 2-component vector of float)\r
+0:50          Constant:\r
+0:50            1 (const int)\r
+0:52      move second child to first child (highp 3-component vector of float)\r
+0:52        c: direct index for structure (highp 3-component vector of float)\r
+0:52          's' (smooth out structure{highp 3-component vector of float c, highp float f})\r
+0:52          Constant:\r
+0:52            0 (const int)\r
+0:52        'v3' (in highp 3-component vector of float)\r
+0:53      move second child to first child (highp float)\r
+0:53        f: direct index for structure (highp float)\r
+0:53          's' (smooth out structure{highp 3-component vector of float c, highp float f})\r
+0:53          Constant:\r
+0:53            1 (const int)\r
+0:53        'dm' (highp float)\r
+0:68  Sequence\r
+0:68    move second child to first child (2-element array of highp float)\r
+0:68      'okayA' (2-element array of highp float)\r
+0:68      Constant:\r
+0:68        3.000000\r
+0:68        4.000000\r
+0:71  Function Definition: newVFun( (void)\r
+0:71    Function Parameters: \r
+0:73    Sequence\r
+0:73      move second child to first child (highp 3-component vector of float)\r
+0:73        'newV' (smooth out highp 3-component vector of float)\r
+0:73        'v3' (in highp 3-component vector of float)\r
+0:118  Function Definition: foo23( (void)\r
+0:118    Function Parameters: \r
+0:120    Sequence\r
+0:120      Sequence\r
+0:120        move second child to first child (highp 2-component vector of int)\r
+0:120          'x1' (highp 2-component vector of int)\r
+0:120          Function Call: textureSize(s21;i1; (highp 2-component vector of int)\r
+0:120            's2D' (uniform lowp sampler2D)\r
+0:120            Constant:\r
+0:120              2 (const int)\r
+0:121      Constant:\r
+0:121        0.000000\r
+0:122      Sequence\r
+0:122        move second child to first child (highp 3-component vector of int)\r
+0:122          'x3' (highp 3-component vector of int)\r
+0:122          Function Call: textureSize(sAS21;i1; (highp 3-component vector of int)\r
+0:122            's2DAS' (uniform lowp sampler2DArrayShadow)\r
+0:122            Constant:\r
+0:122              -1 (const int)\r
+0:123      Constant:\r
+0:123        0.000000\r
+0:124      Sequence\r
+0:124        move second child to first child (highp 4-component vector of float)\r
+0:124          'x4' (highp 4-component vector of float)\r
+0:124          Function Call: texture(s21;vf2; (highp 4-component vector of float)\r
+0:124            's2D' (uniform lowp sampler2D)\r
+0:124            'c2D' (in highp 2-component vector of float)\r
+0:125      Constant:\r
+0:125        0.000000\r
+0:126      Sequence\r
+0:126        move second child to first child (highp 4-component vector of float)\r
+0:126          'x5' (highp 4-component vector of float)\r
+0:126          Function Call: textureProjOffset(s31;vf4;vi3; (highp 4-component vector of float)\r
+0:126            's3D' (uniform lowp sampler3D)\r
+0:126            Constant:\r
+0:126              0.200000\r
+0:126              0.200000\r
+0:126              0.200000\r
+0:126              0.200000\r
+0:126            Constant:\r
+0:126              1 (const int)\r
+0:126              1 (const int)\r
+0:126              1 (const int)\r
+0:127      Constant:\r
+0:127        0.000000\r
+0:128      Sequence\r
+0:128        move second child to first child (highp float)\r
+0:128          'x6' (highp float)\r
+0:128          Function Call: textureProjGradOffset(sS21;vf4;vf2;vf2;vi2; (highp float)\r
+0:128            's2DS' (uniform lowp sampler2DShadow)\r
+0:128            'invIn' (invariant in highp 4-component vector of float)\r
+0:128            Constant:\r
+0:128              4.200000\r
+0:128              4.200000\r
+0:128            Constant:\r
+0:128              5.300000\r
+0:128              5.300000\r
+0:128            Constant:\r
+0:128              1 (const int)\r
+0:128              1 (const int)\r
+0:137  Function Definition: foo2349( (void)\r
+0:137    Function Parameters: \r
+0:139    Sequence\r
+0:139      Sequence\r
+0:139        move second child to first child (3-element array of highp float)\r
+0:139          'x' (3-element array of highp float)\r
+0:139          Constant:\r
+0:139            1.000000\r
+0:139            2.000000\r
+0:139            3.000000\r
+0:140      Sequence\r
+0:140        move second child to first child (3-element array of highp float)\r
+0:140          'y' (3-element array of highp float)\r
+0:140          'x' (3-element array of highp float)\r
+0:141      Sequence\r
+0:141        move second child to first child (3-element array of highp float)\r
+0:141          'z' (3-element array of highp float)\r
+0:141          'x' (3-element array of highp float)\r
+0:143      move second child to first child (3-element array of highp float)\r
+0:143        'w' (3-element array of highp float)\r
+0:143        'y' (3-element array of highp float)\r
+0:155  Function Definition: gggf(f1; (highp int)\r
+0:155    Function Parameters: \r
+0:155      'f' (in highp float)\r
+0:155    Sequence\r
+0:155      Branch: Return with expression\r
+0:155        Constant:\r
+0:155          2 (const int)\r
+0:158  Function Definition: agggf(f1; (highp int)\r
+0:158    Function Parameters: \r
+0:158      'f' (in highp float)\r
+0:158    Sequence\r
+0:158      Branch: Return with expression\r
+0:158        Constant:\r
+0:158          2 (const int)\r
+0:?   Linker Objects\r
+0:?     'm43' (uniform highp 4X3 matrix of float)\r
+0:?     'm33' (uniform highp 3X3 matrix of float)\r
+0:?     'm44' (uniform highp 4X4 matrix of float)\r
+0:?     'v3' (in highp 3-component vector of float)\r
+0:?     'v2' (smooth out highp 2-component vector of float)\r
+0:?     'bad' (in 10-element array of highp 4-component vector of float)\r
+0:?     'badorder' (in highp 4-component vector of float)\r
+0:?     'badorder2' (invariant smooth out highp 4-component vector of float)\r
+0:?     'badorder4' (centroid in highp 4-component vector of float)\r
+0:?     'badorder3' (flat out highp 4-component vector of float)\r
+0:?     'rep' (smooth flat out highp 4-component vector of float)\r
+0:?     'rep2' (centroid smooth sample out highp 4-component vector of float)\r
+0:?     'rep3' (in highp 4-component vector of float)\r
+0:?     's' (smooth out structure{highp 3-component vector of float c, highp float f})\r
+0:?     'badsize' (1-element array of highp float)\r
+0:?     'badsize2' (1-element array of highp float)\r
+0:?     'ubInst' (layout(column_major shared ) uniform 1-element array of block{layout(column_major shared ) uniform 1-element array of highp int a})\r
+0:?     'okayA' (2-element array of highp float)\r
+0:?     'newV' (smooth out highp 3-component vector of float)\r
+0:?     'invIn' (in highp 4-component vector of float)\r
+0:?     's2' (smooth out structure{highp 3-component vector of float c, highp float f})\r
+0:?     's3' (invariant smooth out structure{highp 3-component vector of float c, highp float f})\r
+0:?     'a' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp float f})\r
+0:?     'anon@0' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform bool b23})\r
+0:?     's2D' (uniform lowp sampler2D)\r
+0:?     's3D' (uniform lowp sampler3D)\r
+0:?     's2DS' (uniform lowp sampler2DShadow)\r
+0:?     's2DAS' (uniform lowp sampler2DArrayShadow)\r
+0:?     'c2D' (in highp 2-component vector of float)\r
+0:?     'ssss' (smooth out structure{highp float f})\r
+0:?     'Binst' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform highp int a})\r
+0:?     'Bfoo' (highp int)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index ab66467..a165c6a 100644 (file)
@@ -212,4 +212,205 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:26  Function Definition: main( (void)\r
+0:26    Function Parameters: \r
+0:29    Sequence\r
+0:29      Sequence\r
+0:29        move second child to first child (mediump 3-component vector of float)\r
+0:29          'v' (mediump 3-component vector of float)\r
+0:29          mix (mediump 3-component vector of float)\r
+0:29            'x' (mediump 3-component vector of float)\r
+0:29            'y' (mediump 3-component vector of float)\r
+0:29            'bv' (3-component vector of bool)\r
+0:30      Sequence\r
+0:30        move second child to first child (mediump 4-component vector of int)\r
+0:30          'iv10' (mediump 4-component vector of int)\r
+0:30          Absolute value (mediump 4-component vector of int)\r
+0:30            'iv4a' (mediump 4-component vector of int)\r
+0:31      Sequence\r
+0:31        move second child to first child (mediump 4-component vector of int)\r
+0:31          'iv11' (mediump 4-component vector of int)\r
+0:31          Sign (mediump 4-component vector of int)\r
+0:31            'iv4a' (mediump 4-component vector of int)\r
+0:32      Sequence\r
+0:32        move second child to first child (mediump 4-component vector of int)\r
+0:32          'iv12' (mediump 4-component vector of int)\r
+0:32          min (mediump 4-component vector of int)\r
+0:32            'iv4a' (mediump 4-component vector of int)\r
+0:32            'iv4b' (mediump 4-component vector of int)\r
+0:33      Sequence\r
+0:33        move second child to first child (mediump 4-component vector of int)\r
+0:33          'iv13' (mediump 4-component vector of int)\r
+0:33          min (mediump 4-component vector of int)\r
+0:33            'iv4a' (mediump 4-component vector of int)\r
+0:33            'imin' (mediump int)\r
+0:34      Sequence\r
+0:34        move second child to first child (mediump 2-component vector of uint)\r
+0:34          'u' (mediump 2-component vector of uint)\r
+0:34          min (mediump 2-component vector of uint)\r
+0:34            'uv2x' (mediump 2-component vector of uint)\r
+0:34            'uv2y' (mediump 2-component vector of uint)\r
+0:35      Sequence\r
+0:35        move second child to first child (mediump 4-component vector of uint)\r
+0:35          'uv' (mediump 4-component vector of uint)\r
+0:35          min (mediump 4-component vector of uint)\r
+0:35            'uv4y' (mediump 4-component vector of uint)\r
+0:35            'uy' (mediump uint)\r
+0:36      Sequence\r
+0:36        move second child to first child (mediump 3-component vector of int)\r
+0:36          'iv14' (mediump 3-component vector of int)\r
+0:36          max (mediump 3-component vector of int)\r
+0:36            'iv3a' (mediump 3-component vector of int)\r
+0:36            'iv3b' (mediump 3-component vector of int)\r
+0:37      Sequence\r
+0:37        move second child to first child (mediump 4-component vector of int)\r
+0:37          'iv15' (mediump 4-component vector of int)\r
+0:37          max (mediump 4-component vector of int)\r
+0:37            'iv4a' (mediump 4-component vector of int)\r
+0:37            'imax' (mediump int)\r
+0:38      Sequence\r
+0:38        move second child to first child (mediump 2-component vector of uint)\r
+0:38          'u10' (mediump 2-component vector of uint)\r
+0:38          max (mediump 2-component vector of uint)\r
+0:38            'uv2x' (mediump 2-component vector of uint)\r
+0:38            'uv2y' (mediump 2-component vector of uint)\r
+0:39      Sequence\r
+0:39        move second child to first child (mediump 2-component vector of uint)\r
+0:39          'u11' (mediump 2-component vector of uint)\r
+0:39          max (mediump 2-component vector of uint)\r
+0:39            'uv2x' (mediump 2-component vector of uint)\r
+0:39            'uy' (mediump uint)\r
+0:40      Sequence\r
+0:40        move second child to first child (mediump 4-component vector of int)\r
+0:40          'iv16' (mediump 4-component vector of int)\r
+0:40          clamp (mediump 4-component vector of int)\r
+0:40            'iv4a' (mediump 4-component vector of int)\r
+0:40            'iv4a' (mediump 4-component vector of int)\r
+0:40            'iv4b' (mediump 4-component vector of int)\r
+0:41      Sequence\r
+0:41        move second child to first child (mediump 4-component vector of int)\r
+0:41          'iv17' (mediump 4-component vector of int)\r
+0:41          clamp (mediump 4-component vector of int)\r
+0:41            'iv4a' (mediump 4-component vector of int)\r
+0:41            'imin' (mediump int)\r
+0:41            'imax' (mediump int)\r
+0:42      Sequence\r
+0:42        move second child to first child (mediump 2-component vector of uint)\r
+0:42          'u12' (mediump 2-component vector of uint)\r
+0:42          clamp (mediump 2-component vector of uint)\r
+0:42            'uv2x' (mediump 2-component vector of uint)\r
+0:42            'uv2y' (mediump 2-component vector of uint)\r
+0:42            'uv2c' (mediump 2-component vector of uint)\r
+0:43      Sequence\r
+0:43        move second child to first child (mediump 4-component vector of uint)\r
+0:43          'uv10' (mediump 4-component vector of uint)\r
+0:43          clamp (mediump 4-component vector of uint)\r
+0:43            'uv4y' (mediump 4-component vector of uint)\r
+0:43            'umin' (mediump uint)\r
+0:43            'umax' (mediump uint)\r
+0:47      Sequence\r
+0:47        move second child to first child (mediump 3-component vector of float)\r
+0:47          'v11' (mediump 3-component vector of float)\r
+0:47          modf (mediump 3-component vector of float)\r
+0:47            'x' (mediump 3-component vector of float)\r
+0:47            'modfOut' (mediump 3-component vector of float)\r
+0:49      Sequence\r
+0:49        move second child to first child (mediump float)\r
+0:49          't' (mediump float)\r
+0:49          trunc (mediump float)\r
+0:49            'f' (mediump float)\r
+0:50      Sequence\r
+0:50        move second child to first child (mediump 2-component vector of float)\r
+0:50          'v12' (mediump 2-component vector of float)\r
+0:50          round (mediump 2-component vector of float)\r
+0:50            'v2a' (mediump 2-component vector of float)\r
+0:51      Sequence\r
+0:51        move second child to first child (mediump 2-component vector of float)\r
+0:51          'v13' (mediump 2-component vector of float)\r
+0:51          roundEven (mediump 2-component vector of float)\r
+0:51            'v2a' (mediump 2-component vector of float)\r
+0:52      Sequence\r
+0:52        move second child to first child (2-component vector of bool)\r
+0:52          'b10' (2-component vector of bool)\r
+0:52          isnan (2-component vector of bool)\r
+0:52            'v2a' (mediump 2-component vector of float)\r
+0:53      Sequence\r
+0:53        move second child to first child (4-component vector of bool)\r
+0:53          'b11' (4-component vector of bool)\r
+0:53          isinf (4-component vector of bool)\r
+0:53            'v4' (mediump 4-component vector of float)\r
+0:56      Sequence\r
+0:56        move second child to first child (mediump int)\r
+0:56          'i' (mediump int)\r
+0:56          floatBitsToInt (mediump int)\r
+0:56            'f' (mediump float)\r
+0:57      Sequence\r
+0:57        move second child to first child (mediump 4-component vector of uint)\r
+0:57          'uv11' (mediump 4-component vector of uint)\r
+0:57          floatBitsToUint (mediump 4-component vector of uint)\r
+0:57            'v4' (mediump 4-component vector of float)\r
+0:58      Sequence\r
+0:58        move second child to first child (mediump 4-component vector of float)\r
+0:58          'v14' (mediump 4-component vector of float)\r
+0:58          intBitsToFloat (mediump 4-component vector of float)\r
+0:58            'iv4a' (mediump 4-component vector of int)\r
+0:59      Sequence\r
+0:59        move second child to first child (mediump 2-component vector of float)\r
+0:59          'v15' (mediump 2-component vector of float)\r
+0:59          uintBitsToFloat (mediump 2-component vector of float)\r
+0:59            'uv2c' (mediump 2-component vector of uint)\r
+0:62      Sequence\r
+0:62        move second child to first child (highp uint)\r
+0:62          'u19' (mediump uint)\r
+0:62          packSnorm2x16 (highp uint)\r
+0:62            'v2a' (mediump 2-component vector of float)\r
+0:63      Sequence\r
+0:63        move second child to first child (highp 2-component vector of float)\r
+0:63          'v20' (mediump 2-component vector of float)\r
+0:63          unpackSnorm2x16 (highp 2-component vector of float)\r
+0:63            'uy' (mediump uint)\r
+0:64      Sequence\r
+0:64        move second child to first child (highp uint)\r
+0:64          'u15' (mediump uint)\r
+0:64          packUnorm2x16 (highp uint)\r
+0:64            'v2a' (mediump 2-component vector of float)\r
+0:65      Sequence\r
+0:65        move second child to first child (highp 2-component vector of float)\r
+0:65          'v16' (mediump 2-component vector of float)\r
+0:65          unpackUnorm2x16 (highp 2-component vector of float)\r
+0:65            'uy' (mediump uint)\r
+0:66      Sequence\r
+0:66        move second child to first child (highp uint)\r
+0:66          'u17' (mediump uint)\r
+0:66          packHalf2x16 (highp uint)\r
+0:66            'v2b' (mediump 2-component vector of float)\r
+0:67      Sequence\r
+0:67        move second child to first child (mediump 2-component vector of float)\r
+0:67          'v18' (mediump 2-component vector of float)\r
+0:67          unpackHalf2x16 (mediump 2-component vector of float)\r
+0:67            'uy' (mediump uint)\r
+0:70      Constant:\r
+0:70        0.000000\r
+0:?   Linker Objects\r
+0:?     'imax' (mediump int)\r
+0:?     'imin' (mediump int)\r
+0:?     'umax' (mediump uint)\r
+0:?     'umin' (mediump uint)\r
+0:?     'x' (mediump 3-component vector of float)\r
+0:?     'y' (mediump 3-component vector of float)\r
+0:?     'bv' (3-component vector of bool)\r
+0:?     'uy' (mediump uint)\r
+0:?     'uv2c' (mediump 2-component vector of uint)\r
+0:?     'uv2y' (mediump 2-component vector of uint)\r
+0:?     'uv2x' (mediump 2-component vector of uint)\r
+0:?     'uv4y' (mediump 4-component vector of uint)\r
+0:?     'iv3a' (mediump 3-component vector of int)\r
+0:?     'iv3b' (mediump 3-component vector of int)\r
+0:?     'iv4a' (mediump 4-component vector of int)\r
+0:?     'iv4b' (mediump 4-component vector of int)\r
+0:?     'f' (mediump float)\r
+0:?     'v2a' (mediump 2-component vector of float)\r
+0:?     'v2b' (mediump 2-component vector of float)\r
+0:?     'v4' (mediump 4-component vector of float)\r
 \r
index 0b21bf7..63c7ab5 100644 (file)
@@ -25,7 +25,7 @@ ERROR: node is still EOpNull!
 0:44          Convert uint to float (float)\r
 0:44            direct index (mediump uint)\r
 0:44              bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)\r
-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})\r
+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})\r
 0:44                Constant:\r
 0:44                  0 (const uint)\r
 0:44              Constant:\r
@@ -52,14 +52,63 @@ ERROR: node is still EOpNull!
 0:45            0 (const int)\r
 0:?   Linker Objects\r
 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})\r
-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})\r
+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})\r
 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})\r
 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})\r
-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})\r
+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})\r
 \r
 \r
 Linked fragment stage:\r
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:42  Function Definition: main( (void)\r
+0:42    Function Parameters: \r
+0:44    Sequence\r
+0:44      Function Call: texture(is31;vf3; (mediump 4-component vector of int)\r
+0:44        sampler: direct index for structure (lowp isampler3D)\r
+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})\r
+0:44          Constant:\r
+0:44            2 (const int)\r
+0:44        Construct vec3 (3-component vector of float)\r
+0:44          Convert int to float (float)\r
+0:44            ni: direct index for structure (layout(column_major shared ) uniform mediump int)\r
+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})\r
+0:44              Constant:\r
+0:44                1 (const int)\r
+0:44          Convert uint to float (float)\r
+0:44            direct index (mediump uint)\r
+0:44              bv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)\r
+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})\r
+0:44                Constant:\r
+0:44                  0 (const uint)\r
+0:44              Constant:\r
+0:44                1 (const int)\r
+0:44          Convert uint to float (float)\r
+0:44            direct index (mediump uint)\r
+0:44              nbv: direct index for structure (layout(column_major shared ) uniform mediump 4-component vector of uint)\r
+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})\r
+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})\r
+0:44                  Constant:\r
+0:44                    2 (const int)\r
+0:44                Constant:\r
+0:44                  0 (const int)\r
+0:44              Constant:\r
+0:44                2 (const int)\r
+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})\r
+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})\r
+0:45        direct index (mediump uint)\r
+0:45          v: direct index for structure (mediump 4-component vector of uint)\r
+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})\r
+0:45            Constant:\r
+0:45              1 (const int)\r
+0:45          Constant:\r
+0:45            0 (const int)\r
+0:?   Linker Objects\r
+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})\r
+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})\r
+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})\r
+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})\r
+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})\r
 \r
index 11674a8..a7a7da8 100644 (file)
@@ -37,4 +37,29 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:10  Function Definition: main( (void)\r
+0:10    Function Parameters: \r
+0:12    Sequence\r
+0:12      move second child to first child (mediump 4-component vector of float)\r
+0:12        'c' (layout(location=1 ) out mediump 4-component vector of float)\r
+0:12        'color' (layout(location=2 ) smooth in mediump 4-component vector of float)\r
+0:13      move second child to first child (mediump 4-component vector of float)\r
+0:13        'p' (layout(location=3 ) out mediump 4-component vector of float)\r
+0:13        'pos' (smooth in mediump 4-component vector of float)\r
+0:14      move second child to first child (mediump 4-component vector of float)\r
+0:14        direct index (layout(location=4 ) mediump 4-component vector of float)\r
+0:14          'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)\r
+0:14          Constant:\r
+0:14            1 (const int)\r
+0:14        'pos' (smooth in mediump 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'pos' (smooth in mediump 4-component vector of float)\r
+0:?     'color' (layout(location=2 ) smooth in mediump 4-component vector of float)\r
+0:?     'c' (layout(location=1 ) out mediump 4-component vector of float)\r
+0:?     'p' (layout(location=3 ) out mediump 4-component vector of float)\r
+0:?     'q' (layout(location=4 ) out 2-element array of mediump 4-component vector of float)\r
+0:?     'ca' (layout(location=40 ) out 4-element array of mediump float)\r
+0:?     'cb' (layout(location=41 ) out 2-element array of mediump float)\r
+0:?     'cc' (layout(location=39 ) out 6-element array of mediump float)\r
 \r
index 302d41d..52de07b 100644 (file)
@@ -42,15 +42,15 @@ ERROR: node is still EOpNull!
 0:46                    Constant:\r
 0:46                      1 (const int)\r
 0:46                M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)\r
-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})\r
+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})\r
 0:46                  Constant:\r
 0:46                    1 (const uint)\r
 0:46              M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)\r
-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})\r
+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})\r
 0:46                Constant:\r
 0:46                  0 (const uint)\r
 0:46            t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)\r
-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})\r
+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})\r
 0:46              Constant:\r
 0:46                1 (const uint)\r
 0:47      move second child to first child (highp 3-component vector of float)\r
@@ -70,8 +70,8 @@ ERROR: node is still EOpNull!
 0:?     'color' (smooth out highp 3-component vector of float)\r
 0:?     'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)\r
 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})\r
-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})\r
-0:?     '__anon__2' (out block{out highp float f})\r
+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})\r
+0:?     'anon@2' (out block{out highp float f})\r
 0:?     'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)\r
 0:?     'compute_only' (shared highp 4-component vector of float)\r
 0:?     'aoeuntaoeu' (layout(packed ) uniform highp float)\r
@@ -85,4 +85,62 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:44  Function Definition: main( (void)\r
+0:44    Function Parameters: \r
+0:46    Sequence\r
+0:46      move second child to first child (highp 4-component vector of float)\r
+0:46        'pos' (smooth out highp 4-component vector of float)\r
+0:46        vector-times-matrix (highp 4-component vector of float)\r
+0:46          'p' (layout(location=3 ) in highp 4-component vector of float)\r
+0:46          add (highp 4X4 matrix of float)\r
+0:46            add (highp 4X4 matrix of float)\r
+0:46              add (highp 4X4 matrix of float)\r
+0:46                add (highp 4X4 matrix of float)\r
+0:46                  M1: direct index for structure (layout(row_major std140 offset=0 ) uniform highp 4X4 matrix of float)\r
+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})\r
+0:46                    Constant:\r
+0:46                      0 (const int)\r
+0:46                  M2: direct index for structure (layout(column_major std140 offset=64 ) uniform highp 4X4 matrix of float)\r
+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})\r
+0:46                    Constant:\r
+0:46                      1 (const int)\r
+0:46                M4: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)\r
+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})\r
+0:46                  Constant:\r
+0:46                    1 (const uint)\r
+0:46              M3: direct index for structure (layout(column_major shared ) uniform highp 4X4 matrix of float)\r
+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})\r
+0:46                Constant:\r
+0:46                  0 (const uint)\r
+0:46            t2m: direct index for structure (layout(row_major shared ) uniform highp 4X4 matrix of float)\r
+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})\r
+0:46              Constant:\r
+0:46                1 (const uint)\r
+0:47      move second child to first child (highp 3-component vector of float)\r
+0:47        'color' (smooth out highp 3-component vector of float)\r
+0:47        vector-times-matrix (highp 3-component vector of float)\r
+0:47          'c' (layout(location=7 ) in highp 3-component vector of float)\r
+0:47          N1: direct index for structure (layout(row_major std140 offset=128 ) uniform highp 3X3 matrix of float)\r
+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})\r
+0:47            Constant:\r
+0:47              2 (const int)\r
+0:?   Linker Objects\r
+0:?     'c' (layout(location=7 ) in highp 3-component vector of float)\r
+0:?     'p' (layout(location=3 ) in highp 4-component vector of float)\r
+0:?     'q' (layout(location=9 ) in 4-element array of highp 4-component vector of float)\r
+0:?     'r' (layout(location=10 ) in 4-element array of structure{highp 4-component vector of float v})\r
+0:?     'pos' (smooth out highp 4-component vector of float)\r
+0:?     'color' (smooth out highp 3-component vector of float)\r
+0:?     'badm4' (layout(column_major shared ) uniform highp 4X4 matrix of float)\r
+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})\r
+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})\r
+0:?     'anon@2' (out block{out highp float f})\r
+0:?     'badoutA' (layout(location=10 ) smooth out highp 4-component vector of float)\r
+0:?     'compute_only' (shared highp 4-component vector of float)\r
+0:?     'aoeuntaoeu' (layout(packed ) uniform highp float)\r
+0:?     'cd' (layout(location=40 ) in highp float)\r
+0:?     'ce' (layout(location=37 ) in highp 4X3 matrix of float)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index e22cd8c..60d55e4 100644 (file)
@@ -14,4 +14,10 @@ Linked fragment stage:
 ERROR: Linking fragment stage: when more than one fragment shader output, all must have location qualifiers\r
 \r
 Shader version: 300\r
+0:? Sequence\r
+0:8  Function Definition: main( (void)\r
+0:8    Function Parameters: \r
+0:?   Linker Objects\r
+0:?     'color1' (out highp 4-component vector of float)\r
+0:?     'color2' (out highp 4-component vector of float)\r
 \r
index 7146bd1..b5938f7 100644 (file)
@@ -15,4 +15,12 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+0:? Sequence\r
+0:9  Function Definition: main( (void)\r
+0:9    Function Parameters: \r
+0:?   Linker Objects\r
+0:?     'pos' (smooth in mediump 4-component vector of float)\r
+0:?     'c' (layout(location=1 ) out mediump 4-component vector of float)\r
+0:?     'p' (layout(location=5 ) out mediump 4-component vector of float)\r
+0:?     'q' (layout(location=9 ) out 2-element array of mediump 4-component vector of float)\r
 \r
index 8cb4c76..f0540de 100644 (file)
@@ -12,4 +12,9 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+0:? Sequence\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:?   Linker Objects\r
+0:?     'color1' (out highp 4-component vector of float)\r
 \r
index 45995bd..295c1be 100644 (file)
@@ -241,4 +241,180 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:13  Function Definition: main( (void)\r
+0:13    Function Parameters: \r
+0:?     Sequence\r
+0:30      'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})\r
+0:31      's' (structure{mediump int i})\r
+0:32      'i' (mediump int)\r
+0:33      'u' (mediump uint)\r
+0:34      'u' (mediump uint)\r
+0:35      'iv3' (mediump 3-component vector of int)\r
+0:36      'iv4' (mediump 4-component vector of int)\r
+0:37      'i' (mediump int)\r
+0:38      'iv3' (mediump 3-component vector of int)\r
+0:39      'a' (5-element array of mediump float)\r
+0:40      'b' (bool)\r
+0:42      'f' (mediump float)\r
+0:43      'i' (mediump int)\r
+0:44      'f' (mediump float)\r
+0:45      'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})\r
+0:46      's' (structure{mediump int i})\r
+0:47      'a' (5-element array of mediump float)\r
+0:48      'b3' (3-component vector of bool)\r
+0:50      Constant:\r
+0:50        false (const bool)\r
+0:51      Constant:\r
+0:51        false (const bool)\r
+0:52      Constant:\r
+0:52        false (const bool)\r
+0:53      Constant:\r
+0:53        false (const bool)\r
+0:54      Constant:\r
+0:54        false (const bool)\r
+0:55      Constant:\r
+0:55        false (const bool)\r
+0:57      Constant:\r
+0:57        false (const bool)\r
+0:58      Constant:\r
+0:58        false (const bool)\r
+0:59      Constant:\r
+0:59        false (const bool)\r
+0:60      Constant:\r
+0:60        false (const bool)\r
+0:61      Constant:\r
+0:61        false (const bool)\r
+0:62      Constant:\r
+0:62        false (const bool)\r
+0:64      'u' (mediump uint)\r
+0:65      'i' (mediump int)\r
+0:66      'm2' (mediump 2X2 matrix of float)\r
+0:67      'v3' (mediump 3-component vector of float)\r
+0:68      'a' (5-element array of mediump float)\r
+0:70      'f' (mediump float)\r
+0:71      'm4' (mediump 4X4 matrix of float)\r
+0:72      'v3' (mediump 3-component vector of float)\r
+0:73      'a' (5-element array of mediump float)\r
+0:74      'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})\r
+0:76      'i' (mediump int)\r
+0:77      'u' (mediump uint)\r
+0:78      'i' (mediump int)\r
+0:79      'f' (mediump float)\r
+0:80      'm4' (mediump 4X4 matrix of float)\r
+0:81      'a' (5-element array of mediump float)\r
+0:82      'iv3' (mediump 3-component vector of int)\r
+0:84      'i' (mediump int)\r
+0:85      'u' (mediump uint)\r
+0:86      'i' (mediump int)\r
+0:87      'u' (mediump uint)\r
+0:88      'm2' (mediump 2X2 matrix of float)\r
+0:89      's' (structure{mediump int i})\r
+0:90      move second child to first child (mediump float)\r
+0:90        move second child to first child (mediump float)\r
+0:90          'f' (mediump float)\r
+0:90          'f' (mediump float)\r
+0:90        'f' (mediump float)\r
+0:93      vector-scale (mediump 4-component vector of float)\r
+0:93        'f' (mediump float)\r
+0:93        'v4' (mediump 4-component vector of float)\r
+0:94      add (mediump uint)\r
+0:94        'u' (mediump uint)\r
+0:94        'u' (mediump uint)\r
+0:95      divide (mediump 4-component vector of uint)\r
+0:95        'uv4' (mediump 4-component vector of uint)\r
+0:95        'u' (mediump uint)\r
+0:96      subtract second child into first child (mediump 3-component vector of int)\r
+0:96        'iv3' (mediump 3-component vector of int)\r
+0:96        'iv3' (mediump 3-component vector of int)\r
+0:98      mod second child into first child (mediump int)\r
+0:98        'i' (mediump int)\r
+0:98        Constant:\r
+0:98          3 (const int)\r
+0:99      mod (mediump 3-component vector of uint)\r
+0:99        'uv3' (mediump 3-component vector of uint)\r
+0:99        Constant:\r
+0:99          4 (const uint)\r
+0:100      Pre-Decrement (mediump 2X2 matrix of float)\r
+0:100        'm2' (mediump 2X2 matrix of float)\r
+0:101      Post-Increment (mediump 4-component vector of int)\r
+0:101        'iv4' (mediump 4-component vector of int)\r
+0:103      Compare Not Equal (bool)\r
+0:103        'm4' (mediump 4X4 matrix of float)\r
+0:103        'm4' (mediump 4X4 matrix of float)\r
+0:104      Compare Equal (bool)\r
+0:104        'm2' (mediump 2X2 matrix of float)\r
+0:104        'm2' (mediump 2X2 matrix of float)\r
+0:105      Compare Less Than or Equal (bool)\r
+0:105        'i' (mediump int)\r
+0:105        'i' (mediump int)\r
+0:106      Compare Equal (bool)\r
+0:106        'a' (5-element array of mediump float)\r
+0:106        'a' (5-element array of mediump float)\r
+0:107      Compare Not Equal (bool)\r
+0:107        's' (structure{mediump int i})\r
+0:107        's' (structure{mediump int i})\r
+0:109      logical-and (bool)\r
+0:109        'b' (bool)\r
+0:109        'b' (bool)\r
+0:110      logical-or (bool)\r
+0:110        'b' (bool)\r
+0:110        'b' (bool)\r
+0:111      logical-xor (bool)\r
+0:111        'b' (bool)\r
+0:111        'b' (bool)\r
+0:113      Comma (mediump 3-component vector of uint)\r
+0:113        Negate conditional (bool)\r
+0:113          'b' (bool)\r
+0:113        'uv3' (mediump 3-component vector of uint)\r
+0:115      Bitwise not (mediump int)\r
+0:115        'i' (mediump int)\r
+0:116      Bitwise not (mediump uint)\r
+0:116        'u' (mediump uint)\r
+0:117      Bitwise not (mediump 3-component vector of uint)\r
+0:117        'uv3' (mediump 3-component vector of uint)\r
+0:118      Bitwise not (mediump 3-component vector of int)\r
+0:118        'iv3' (mediump 3-component vector of int)\r
+0:120      left shift second child into first child (mediump 3-component vector of uint)\r
+0:120        'uv3' (mediump 3-component vector of uint)\r
+0:120        'i' (mediump int)\r
+0:121      right-shift (mediump int)\r
+0:121        'i' (mediump int)\r
+0:121        'i' (mediump int)\r
+0:122      left-shift (mediump uint)\r
+0:122        'u' (mediump uint)\r
+0:122        'u' (mediump uint)\r
+0:123      right-shift (mediump 3-component vector of int)\r
+0:123        'iv3' (mediump 3-component vector of int)\r
+0:123        'iv3' (mediump 3-component vector of int)\r
+0:125      bitwise and (mediump int)\r
+0:125        'i' (mediump int)\r
+0:125        'i' (mediump int)\r
+0:126      inclusive-or (mediump uint)\r
+0:126        'u' (mediump uint)\r
+0:126        'u' (mediump uint)\r
+0:127      exclusive-or (mediump 3-component vector of int)\r
+0:127        'iv3' (mediump 3-component vector of int)\r
+0:127        'iv3' (mediump 3-component vector of int)\r
+0:128      bitwise and (mediump 3-component vector of uint)\r
+0:128        'u' (mediump uint)\r
+0:128        'uv3' (mediump 3-component vector of uint)\r
+0:129      inclusive-or (mediump 3-component vector of uint)\r
+0:129        'uv3' (mediump 3-component vector of uint)\r
+0:129        'u' (mediump uint)\r
+0:130      and second child into first child (mediump 3-component vector of uint)\r
+0:130        'uv3' (mediump 3-component vector of uint)\r
+0:130        'u' (mediump uint)\r
+0:132      direct index (mediump int)\r
+0:132        'arr' (2-element array of mediump int)\r
+0:132        Constant:\r
+0:132          1 (const int)\r
+0:134      direct index (mediump int)\r
+0:134        'arr2' (3-element array of mediump int)\r
+0:134        Constant:\r
+0:134          2 (const int)\r
+0:?   Linker Objects\r
+0:?     'instanceName' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform mediump float f})\r
+0:?     's' (structure{mediump int i})\r
+0:?     'a' (5-element array of mediump float)\r
 \r
index 3dc931b..00c7460 100644 (file)
@@ -135,4 +135,111 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: f(i1;i1;i1; (highp int)\r
+0:3    Function Parameters: \r
+0:3      'a' (in highp int)\r
+0:3      'b' (in highp int)\r
+0:3      'c' (in highp int)\r
+0:?     Sequence\r
+0:8      Sequence\r
+0:8        Sequence\r
+0:8          move second child to first child (highp float)\r
+0:8            'a' (highp float)\r
+0:8            add (highp float)\r
+0:8              Convert int to float (highp float)\r
+0:8                'a' (in highp int)\r
+0:8              Constant:\r
+0:8                1.000000\r
+0:11      Branch: Return with expression\r
+0:11        'a' (in highp int)\r
+0:25  Function Definition: cos(f1; (highp float)\r
+0:25    Function Parameters: \r
+0:25      'x' (in highp float)\r
+0:27    Sequence\r
+0:27      Branch: Return with expression\r
+0:27        Constant:\r
+0:27          1.000000\r
+0:29  Function Definition: radians(b1; (bool)\r
+0:29    Function Parameters: \r
+0:29      'x' (in bool)\r
+0:31    Sequence\r
+0:31      Branch: Return with expression\r
+0:31        Constant:\r
+0:31          true (const bool)\r
+0:36  Function Definition: main( (void)\r
+0:36    Function Parameters: \r
+0:?     Sequence\r
+0:39      Function Call: g( (highp int)\r
+0:42      'sin' (highp float)\r
+0:43      Constant:\r
+0:43        0.000000\r
+0:44      Function Call: f(i1;i1;i1; (highp int)\r
+0:44        Constant:\r
+0:44          1 (const int)\r
+0:44        Constant:\r
+0:44          2 (const int)\r
+0:44        Constant:\r
+0:44          3 (const int)\r
+0:47      move second child to first child (highp float)\r
+0:47        'f' (highp float)\r
+0:47        Constant:\r
+0:47          3.000000\r
+0:49      move second child to first child (highp 4-component vector of float)\r
+0:49        'gl_Position' (invariant gl_Position highp 4-component vector of float)\r
+0:49        Construct vec4 (highp 4-component vector of float)\r
+0:49          'f' (highp float)\r
+0:51      Sequence\r
+0:51        Sequence\r
+0:51          move second child to first child (highp int)\r
+0:51            'f' (highp int)\r
+0:51            Constant:\r
+0:51              0 (const int)\r
+0:51        Loop with condition tested first\r
+0:51          Loop Condition\r
+0:51          Compare Less Than (bool)\r
+0:51            'f' (highp int)\r
+0:51            Constant:\r
+0:51              10 (const int)\r
+0:51          Loop Body\r
+0:52          Pre-Increment (highp int)\r
+0:52            'f' (highp int)\r
+0:51          Loop Terminal Expression\r
+0:51          Pre-Increment (highp int)\r
+0:51            'f' (highp int)\r
+0:54      Sequence\r
+0:54        move second child to first child (highp int)\r
+0:54          'x' (highp int)\r
+0:54          Constant:\r
+0:54            1 (const int)\r
+0:56      Sequence\r
+0:56        Sequence\r
+0:56          move second child to first child (highp float)\r
+0:56            'x' (highp float)\r
+0:56            Constant:\r
+0:56              2.000000\r
+0:56          move second child to first child (highp float)\r
+0:56            'y' (highp float)\r
+0:56            'x' (highp float)\r
+0:60      Sequence\r
+0:60        Sequence\r
+0:60          move second child to first child (highp int)\r
+0:60            'x' (highp int)\r
+0:60            'x' (highp int)\r
+0:68      Sequence\r
+0:68        Sequence\r
+0:68          move second child to first child (structure{highp int x})\r
+0:68            'S' (structure{highp int x})\r
+0:68            Constant:\r
+0:68              0 (const int)\r
+0:69        x: direct index for structure (highp int)\r
+0:69          'S' (structure{highp int x})\r
+0:69          Constant:\r
+0:69            0 (const int)\r
+0:73      Constant:\r
+0:73        0.000000\r
+0:?   Linker Objects\r
+0:?     'b' (bool)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index f70d28e..9995e54 100644 (file)
@@ -1,5 +1,5 @@
 330.frag\r
-Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 330 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:27: 'block declaration' : cannot redeclare block:  gl_block\r
 ERROR: 0:31: 'gl_name' : identifiers starting with "gl_" are reserved \r
 ERROR: 0:32: 'gl_i' : identifiers starting with "gl_" are reserved \r
@@ -58,7 +58,7 @@ ERROR: node is still EOpNull!
 0:23        move second child to first child (4-component vector of float)\r
 0:23          'c' (4-component vector of float)\r
 0:23          gl_Color: direct index for structure (in 4-component vector of float)\r
-0:23            '__anon__0' (in block{in 4-component vector of float gl_Color, })\r
+0:23            'anon@0' (in block{in 4-component vector of float gl_Color, })\r
 0:23            Constant:\r
 0:23              2 (const uint)\r
 0:24      move second child to first child (4-component vector of float)\r
@@ -68,7 +68,7 @@ ERROR: node is still EOpNull!
 0:?     'inVar' (smooth in 4-component vector of float)\r
 0:?     'outVar' (out 4-component vector of float)\r
 0:?     'varyingVar' (smooth in 4-component vector of float)\r
-0:?     '__anon__0' (in block{in 4-component vector of float gl_Color, })\r
+0:?     'anon@0' (in block{in 4-component vector of float gl_Color, })\r
 0:?     'gl_name' (in block{in int gl_i})\r
 0:?     'start' (const int)\r
 0:?       6 (const int)\r
@@ -77,7 +77,7 @@ ERROR: node is still EOpNull!
 0:?     'v20' (smooth in 4-component vector of float)\r
 0:?     'v21' (layout(location=60 ) smooth in float)\r
 0:?     'v22' (layout(location=2 ) smooth in float)\r
-0:?     '__anon__1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})\r
+0:?     'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})\r
 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})\r
 0:?     'v3' (layout(location=6 ) smooth in 4-component vector of float)\r
 0:?     'v4' (smooth in 4-component vector of float)\r
@@ -90,7 +90,7 @@ ERROR: node is still EOpNull!
 0:?     'in3' (in block{in float f1, layout(location=40 ) in float f2})\r
 0:?     'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})\r
 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})\r
-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})\r
+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})\r
 \r
 \r
 Linked fragment stage:\r
@@ -101,4 +101,62 @@ ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData
 Shader version: 330\r
 Requested GL_ARB_enhanced_layouts\r
 Requested GL_ARB_separate_shader_objects\r
+ERROR: node is still EOpNull!\r
+0:8  Function Definition: main( (void)\r
+0:8    Function Parameters: \r
+0:10    Sequence\r
+0:10      move second child to first child (4-component vector of float)\r
+0:10        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:10        'varyingVar' (smooth in 4-component vector of float)\r
+0:11      move second child to first child (4-component vector of float)\r
+0:11        direct index (4-component vector of float)\r
+0:11          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:11          Constant:\r
+0:11            1 (const int)\r
+0:11        'inVar' (smooth in 4-component vector of float)\r
+0:12      Sequence\r
+0:12        move second child to first child (int)\r
+0:12          'buffer' (int)\r
+0:12          Constant:\r
+0:12            4 (const int)\r
+0:21  Function Definition: foo( (void)\r
+0:21    Function Parameters: \r
+0:23    Sequence\r
+0:23      Sequence\r
+0:23        move second child to first child (4-component vector of float)\r
+0:23          'c' (4-component vector of float)\r
+0:23          gl_Color: direct index for structure (in 4-component vector of float)\r
+0:23            'anon@0' (in block{in 4-component vector of float gl_Color, })\r
+0:23            Constant:\r
+0:23              2 (const uint)\r
+0:24      move second child to first child (4-component vector of float)\r
+0:24        'outVar' (out 4-component vector of float)\r
+0:24        'inVar' (smooth in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'inVar' (smooth in 4-component vector of float)\r
+0:?     'outVar' (out 4-component vector of float)\r
+0:?     'varyingVar' (smooth in 4-component vector of float)\r
+0:?     'anon@0' (in block{in 4-component vector of float gl_Color, })\r
+0:?     'gl_name' (in block{in int gl_i})\r
+0:?     'start' (const int)\r
+0:?       6 (const int)\r
+0:?     'v1' (smooth in 4-component vector of float)\r
+0:?     'v2' (layout(location=8 ) smooth in 4-component vector of float)\r
+0:?     'v20' (smooth in 4-component vector of float)\r
+0:?     'v21' (layout(location=60 ) smooth in float)\r
+0:?     'v22' (layout(location=2 ) smooth in float)\r
+0:?     'anon@1' (in block{layout(location=1 component=0 ) in float f1, layout(location=3 ) in float f2})\r
+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})\r
+0:?     'v3' (layout(location=6 ) smooth in 4-component vector of float)\r
+0:?     'v4' (smooth in 4-component vector of float)\r
+0:?     'v5' (smooth in 4-component vector of float)\r
+0:?     'v6' (layout(location=30 ) smooth in 4-component vector of float)\r
+0:?     'v23' (layout(location=61 ) smooth in float)\r
+0:?     'v24' (layout(location=62 ) smooth in float)\r
+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})\r
+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})\r
+0:?     'in3' (in block{in float f1, layout(location=40 ) in float f2})\r
+0:?     'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})\r
+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})\r
+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})\r
 \r
index 3a2aae8..280b577 100644 (file)
@@ -1,5 +1,5 @@
 330comp.frag\r
-Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 330 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 330\r
 0:? Sequence\r
@@ -28,4 +28,23 @@ Linked fragment stage:
 ERROR: Linking fragment stage: Cannot use both gl_FragColor and gl_FragData\r
 \r
 Shader version: 330\r
+0:? Sequence\r
+0:8  Function Definition: main( (void)\r
+0:8    Function Parameters: \r
+0:10    Sequence\r
+0:10      move second child to first child (4-component vector of float)\r
+0:10        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:10        'varyingVar' (smooth in 4-component vector of float)\r
+0:11      move second child to first child (4-component vector of float)\r
+0:11        direct index (4-component vector of float)\r
+0:11          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:11          Constant:\r
+0:11            1 (const int)\r
+0:11        vector-times-matrix (4-component vector of float)\r
+0:11          'inVar' (smooth in 4-component vector of float)\r
+0:11          'gl_ModelViewMatrix' (uniform 4X4 matrix of float)\r
+0:?   Linker Objects\r
+0:?     'inVar' (smooth in 4-component vector of float)\r
+0:?     'outVar' (out 4-component vector of float)\r
+0:?     'varyingVar' (smooth in 4-component vector of float)\r
 \r
index 3ca589b..3cc1c69 100644 (file)
@@ -1,5 +1,5 @@
 400.frag\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:18: 'textureGatherOffsets(...)' : must be a compile-time constant: offsets argument\r
 ERROR: 0:22: 'textureGatherOffset(...)' : must be a compile-time constant: component argument\r
 ERROR: 0:23: 'textureGatherOffset(...)' : must be 0, 1, 2, or 3: component argument\r
@@ -39,7 +39,7 @@ ERROR: node is still EOpNull!
 0:14          Constant:\r
 0:14            0 (const int)\r
 0:14        direct index (smooth float)\r
-0:14          'gl_ClipDistance' (smooth in implicitly-sized array of float)\r
+0:14          'gl_ClipDistance' (smooth in 4-element array of float)\r
 0:14          Constant:\r
 0:14            1 (const int)\r
 0:18      Sequence\r
@@ -228,8 +228,8 @@ ERROR: node is still EOpNull!
 0:?     'vl' (layout(location=4 ) smooth in 4-component vector of float)\r
 0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)\r
 0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)\r
-0:?     '__anon__0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
-0:?     '__anon__0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     'anon@0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     'anon@0' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, smooth in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
 0:?     'u2drs' (uniform sampler2DRectShadow)\r
@@ -244,4 +244,217 @@ Shader version: 400
 Requested GL_ARB_separate_shader_objects\r
 gl_FragCoord pixel center is integer\r
 gl_FragCoord origin is upper left\r
+ERROR: node is still EOpNull!\r
+0:10  Function Definition: main( (void)\r
+0:10    Function Parameters: \r
+0:?     Sequence\r
+0:13      move second child to first child (4-component vector of float)\r
+0:13        'v' (4-component vector of float)\r
+0:13        Function Call: texture(s21;vf2; (4-component vector of float)\r
+0:13          indirect index (sampler2D)\r
+0:13            'arrayedSampler' (uniform 5-element array of sampler2D)\r
+0:13            'i' (flat in int)\r
+0:13          'c2D' (smooth in 2-component vector of float)\r
+0:14      move second child to first child (float)\r
+0:14        direct index (float)\r
+0:14          'outp' (out 4-component vector of float)\r
+0:14          Constant:\r
+0:14            0 (const int)\r
+0:14        direct index (smooth float)\r
+0:14          'gl_ClipDistance' (smooth in 4-element array of float)\r
+0:14          Constant:\r
+0:14            1 (const int)\r
+0:18      Sequence\r
+0:18        move second child to first child (4-component vector of uint)\r
+0:18          'uv4' (4-component vector of uint)\r
+0:18          Function Call: textureGatherOffsets(usR21;vf2;vi2[4];i1; (4-component vector of uint)\r
+0:18            'samp2dr' (uniform usampler2DRect)\r
+0:18            'c2D' (smooth in 2-component vector of float)\r
+0:18            'offsets' (4-element array of 2-component vector of int)\r
+0:18            Constant:\r
+0:18              2 (const int)\r
+0:19      move second child to first child (4-component vector of uint)\r
+0:19        'uv4' (4-component vector of uint)\r
+0:19        Function Call: textureGatherOffsets(usR21;vf2;vi2[4];i1; (4-component vector of uint)\r
+0:19          'samp2dr' (uniform usampler2DRect)\r
+0:19          'c2D' (smooth in 2-component vector of float)\r
+0:19          Constant:\r
+0:19            1 (const int)\r
+0:19            2 (const int)\r
+0:19            3 (const int)\r
+0:19            4 (const int)\r
+0:19            15 (const int)\r
+0:19            16 (const int)\r
+0:19            -2 (const int)\r
+0:19            0 (const int)\r
+0:19          Constant:\r
+0:19            2 (const int)\r
+0:20      Sequence\r
+0:20        move second child to first child (4-component vector of float)\r
+0:20          'v4' (4-component vector of float)\r
+0:20          Function Call: textureGather(s21;vf2; (4-component vector of float)\r
+0:20            direct index (sampler2D)\r
+0:20              'arrayedSampler' (uniform 5-element array of sampler2D)\r
+0:20              Constant:\r
+0:20                0 (const int)\r
+0:20            'c2D' (smooth in 2-component vector of float)\r
+0:21      Sequence\r
+0:21        move second child to first child (4-component vector of int)\r
+0:21          'iv4' (4-component vector of int)\r
+0:21          Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int)\r
+0:21            'isamp2DA' (uniform isampler2DArray)\r
+0:21            Constant:\r
+0:21              0.100000\r
+0:21              0.100000\r
+0:21              0.100000\r
+0:21            Constant:\r
+0:21              1 (const int)\r
+0:21              1 (const int)\r
+0:21            Constant:\r
+0:21              3 (const int)\r
+0:22      move second child to first child (4-component vector of int)\r
+0:22        'iv4' (4-component vector of int)\r
+0:22        Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int)\r
+0:22          'isamp2DA' (uniform isampler2DArray)\r
+0:22          Constant:\r
+0:22            0.100000\r
+0:22            0.100000\r
+0:22            0.100000\r
+0:22          Constant:\r
+0:22            1 (const int)\r
+0:22            1 (const int)\r
+0:22          'i' (flat in int)\r
+0:23      move second child to first child (4-component vector of int)\r
+0:23        'iv4' (4-component vector of int)\r
+0:23        Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int)\r
+0:23          'isamp2DA' (uniform isampler2DArray)\r
+0:23          Constant:\r
+0:23            0.100000\r
+0:23            0.100000\r
+0:23            0.100000\r
+0:23          Constant:\r
+0:23            1 (const int)\r
+0:23            1 (const int)\r
+0:23          Constant:\r
+0:23            4 (const int)\r
+0:24      move second child to first child (4-component vector of int)\r
+0:24        'iv4' (4-component vector of int)\r
+0:24        Function Call: textureGatherOffset(isA21;vf3;vi2;i1; (4-component vector of int)\r
+0:24          'isamp2DA' (uniform isampler2DArray)\r
+0:24          Constant:\r
+0:24            0.100000\r
+0:24            0.100000\r
+0:24            0.100000\r
+0:24          Constant:\r
+0:24            1 (const int)\r
+0:24            1 (const int)\r
+0:24          Constant:\r
+0:24            3 (const int)\r
+0:25      move second child to first child (4-component vector of int)\r
+0:25        'iv4' (4-component vector of int)\r
+0:25        Function Call: textureGatherOffset(isA21;vf3;vi2; (4-component vector of int)\r
+0:25          'isamp2DA' (uniform isampler2DArray)\r
+0:25          Constant:\r
+0:25            0.100000\r
+0:25            0.100000\r
+0:25            0.100000\r
+0:25          Construct ivec2 (2-component vector of int)\r
+0:25            'i' (flat in int)\r
+0:27      Sequence\r
+0:27        move second child to first child (4-component vector of float)\r
+0:27          'c' (4-component vector of float)\r
+0:27          'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:47  Function Definition: foo23( (void)\r
+0:47    Function Parameters: \r
+0:?     Sequence\r
+0:51      Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float)\r
+0:51        'u2drs' (uniform sampler2DRectShadow)\r
+0:51        'outp' (out 4-component vector of float)\r
+0:51        Constant:\r
+0:51          0.000000\r
+0:51          0.000000\r
+0:51        Constant:\r
+0:51          0.000000\r
+0:51          0.000000\r
+0:51        Convert float to int (2-component vector of int)\r
+0:51          'c2D' (smooth in 2-component vector of float)\r
+0:52      Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float)\r
+0:52        'u2drs' (uniform sampler2DRectShadow)\r
+0:52        'outp' (out 4-component vector of float)\r
+0:52        Constant:\r
+0:52          0.000000\r
+0:52          0.000000\r
+0:52        Constant:\r
+0:52          0.000000\r
+0:52          0.000000\r
+0:52        Constant:\r
+0:52          3 (const int)\r
+0:52          4 (const int)\r
+0:53      Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float)\r
+0:53        'u2drs' (uniform sampler2DRectShadow)\r
+0:53        'outp' (out 4-component vector of float)\r
+0:53        Constant:\r
+0:53          0.000000\r
+0:53          0.000000\r
+0:53        Constant:\r
+0:53          0.000000\r
+0:53          0.000000\r
+0:53        Constant:\r
+0:53          15 (const int)\r
+0:53          16 (const int)\r
+0:54      Function Call: textureProjGradOffset(sSR21;vf4;vf2;vf2;vi2; (float)\r
+0:54        'u2drs' (uniform sampler2DRectShadow)\r
+0:54        'outp' (out 4-component vector of float)\r
+0:54        Constant:\r
+0:54          0.000000\r
+0:54          0.000000\r
+0:54        Constant:\r
+0:54          0.000000\r
+0:54          0.000000\r
+0:54        Constant:\r
+0:54          -10 (const int)\r
+0:54          20 (const int)\r
+0:60  Function Definition: foo24( (void)\r
+0:60    Function Parameters: \r
+0:?     Sequence\r
+0:63      move second child to first child (3-component vector of double)\r
+0:63        'df' (3-component vector of double)\r
+0:63        Convert float to double (3-component vector of double)\r
+0:63          Comma (3-component vector of float)\r
+0:63            move second child to first child (3-component vector of float)\r
+0:63              'tempReturn' (3-component vector of float)\r
+0:63              modf (3-component vector of float)\r
+0:63                vector swizzle (3-component vector of float)\r
+0:63                  'outp' (out 4-component vector of float)\r
+0:63                  Sequence\r
+0:63                    Constant:\r
+0:63                      0 (const int)\r
+0:63                    Constant:\r
+0:63                      1 (const int)\r
+0:63                    Constant:\r
+0:63                      2 (const int)\r
+0:63                'tempArg' (3-component vector of float)\r
+0:63            move second child to first child (3-component vector of double)\r
+0:63              'di' (3-component vector of double)\r
+0:63              Convert float to double (3-component vector of double)\r
+0:63                'tempArg' (3-component vector of float)\r
+0:63            'tempReturn' (3-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'c2D' (smooth in 2-component vector of float)\r
+0:?     'i' (flat in int)\r
+0:?     'outp' (out 4-component vector of float)\r
+0:?     'arrayedSampler' (uniform 5-element array of sampler2D)\r
+0:?     'samp2dr' (uniform usampler2DRect)\r
+0:?     'isamp2DA' (uniform isampler2DArray)\r
+0:?     'gl_ClipDistance' (smooth in 4-element array of float)\r
+0:?     'vl' (layout(location=4 ) smooth in 4-component vector of float)\r
+0:?     'vl2' (layout(location=6 ) smooth in 4-component vector of float)\r
+0:?     'uv3' (layout(location=3 ) uniform 3-component vector of float)\r
+0:?     'anon@0' (in block{in float gl_FogFragCoord, in 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})\r
+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})\r
+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:?     'u2drs' (uniform sampler2DRectShadow)\r
+0:?     'patchIn' (smooth patch in 4-component vector of float)\r
+0:?     'patchOut' (patch out 4-component vector of float)\r
 \r
index bc16de2..a11504f 100644 (file)
@@ -1,5 +1,5 @@
 400.geom\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:12: 'invocations' : can only apply to a standalone qualifier \r
 ERROR: 0:20: 'patch' : not supported in this stage: geometry\r
 ERROR: 0:20: 'gl_PointSize' : cannot add layout to redeclared block member \r
@@ -101,4 +101,66 @@ invocations = 4
 max_vertices = 127\r
 input primitive = triangles\r
 output primitive = none\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:5    Sequence\r
+0:5      EmitStreamVertex (void)\r
+0:5        Constant:\r
+0:5          1 (const int)\r
+0:6      EndStreamPrimitive (void)\r
+0:6        Constant:\r
+0:6          0 (const int)\r
+0:7      EmitVertex (void)\r
+0:8      EndPrimitive (void)\r
+0:9      Sequence\r
+0:9        move second child to first child (int)\r
+0:9          'id' (int)\r
+0:9          'gl_InvocationID' (in int)\r
+0:23  Function Definition: foo( (void)\r
+0:23    Function Parameters: \r
+0:25    Sequence\r
+0:25      Constant:\r
+0:25        1 (const int)\r
+0:26      gl_Position: direct index for structure (in 4-component vector of float)\r
+0:26        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize})\r
+0:26          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize})\r
+0:26          Constant:\r
+0:26            1 (const int)\r
+0:26        Constant:\r
+0:26          0 (const int)\r
+0:34  Function Definition: foo2( (void)\r
+0:34    Function Parameters: \r
+0:36    Sequence\r
+0:36      Constant:\r
+0:36        1 (const int)\r
+0:37      Constant:\r
+0:37        3 (const int)\r
+0:46  Function Definition: foo3( (void)\r
+0:46    Function Parameters: \r
+0:48    Sequence\r
+0:48      Constant:\r
+0:48        3 (const int)\r
+0:49      Constant:\r
+0:49        3 (const int)\r
+0:50      Constant:\r
+0:50        3 (const int)\r
+0:51      Constant:\r
+0:51        3 (const int)\r
+0:?   Linker Objects\r
+0:?     'bn' (in 3-element array of block{in int a})\r
+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize})\r
+0:?     'color' (in 3-element array of 4-component vector of float)\r
+0:?     'color2' (in 3-element array of 4-component vector of float)\r
+0:?     'colorS' (in 3-element array of 4-component vector of float)\r
+0:?     'colorBad' (in 4-element array of 4-component vector of float)\r
+0:?     'colorbad2' (in 2-element array of 4-component vector of float)\r
+0:?     'cva' (layout(location=4 ) in 3-element array of 4-component vector of float)\r
+0:?     'cvb' (layout(location=5 ) in 3-element array of 4-component vector of float)\r
+0:?     'cmc' (layout(location=2 ) in 3-element array of 3X3 matrix of float)\r
+0:?     'patchIn' (patch in 3-element array of 4-component vector of float)\r
+0:?     'patchOut' (layout(stream=0 ) patch out 4-component vector of float)\r
+0:?     'scalar' (in float)\r
+0:?     'inbls' (in block{in int a})\r
+0:?     'inbla' (in 17-element array of block{in int a})\r
 \r
index 0b82a93..ae3c81e 100644 (file)
@@ -1,5 +1,5 @@
 410.geom\r
-Warning, version 410 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 410 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:8: 'myIn' : cannot redeclare a built-in block with a user name \r
 ERROR: 0:12: 'gl_myIn' : no declaration found for redeclaration \r
 ERROR: 0:20: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use \r
@@ -38,17 +38,17 @@ ERROR: node is still EOpNull!
 0:30              0 (const int)\r
 0:31      move second child to first child (float)\r
 0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)\r
-0:31          '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
+0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
 0:31          Constant:\r
 0:31            1 (const uint)\r
 0:31        'p' (float)\r
 0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void)\r
-0:33        '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
+0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
 0:33        Constant:\r
 0:33          0 (const uint)\r
 0:?   Linker Objects\r
 0:?     'gl_in' (in implicitly-sized array of block{in float gl_PointSize})\r
-0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
 \r
 \r
 Linked geometry stage:\r
@@ -62,4 +62,38 @@ invocations = 0
 max_vertices = 0\r
 input primitive = none\r
 output primitive = none\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:5    Sequence\r
+0:5      move second child to first child (int)\r
+0:5        'gl_ViewportIndex' (layout(stream=0 ) out int)\r
+0:5        Constant:\r
+0:5          7 (const int)\r
+0:28  Function Definition: foo( (void)\r
+0:28    Function Parameters: \r
+0:30    Sequence\r
+0:30      Sequence\r
+0:30        move second child to first child (float)\r
+0:30          'p' (float)\r
+0:30          gl_PointSize: direct index for structure (in float)\r
+0:30            direct index (block{in float gl_PointSize})\r
+0:30              'gl_in' (in 2-element array of block{in float gl_PointSize})\r
+0:30              Constant:\r
+0:30                1 (const int)\r
+0:30            Constant:\r
+0:30              0 (const int)\r
+0:31      move second child to first child (float)\r
+0:31        gl_PointSize: direct index for structure (layout(stream=0 ) gl_PointSize float)\r
+0:31          'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
+0:31          Constant:\r
+0:31            1 (const uint)\r
+0:31        'p' (float)\r
+0:33      gl_Position: direct index for structure (layout(stream=0 ) gl_Position void)\r
+0:33        'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
+0:33        Constant:\r
+0:33          0 (const uint)\r
+0:?   Linker Objects\r
+0:?     'gl_in' (in 2-element array of block{in float gl_PointSize})\r
+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, })\r
 \r
index 14f7ebb..6ed558b 100644 (file)
@@ -1,5 +1,5 @@
 420.geom\r
-Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:9: 'length' :  array must first be sized by a redeclaration or layout qualifier\r
 ERROR: 0:11: '[' :  array must be sized by a redeclaration or layout qualifier before being indexed with a variable\r
 ERROR: 0:42: 'assign' :  l-value required (can't modify a const)\r
@@ -121,7 +121,7 @@ ERROR: node is still EOpNull!
 0:?     's2D' (uniform sampler2D)\r
 0:?     'coord' (in 3-element array of 2-component vector of float)\r
 0:?     'v4' (uniform 4-component vector of float)\r
-0:?     '__anon__0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out implicitly-sized array of float gl_ClipDistance})\r
 \r
 \r
 Linked geometry stage:\r
@@ -135,4 +135,112 @@ invocations = 0
 max_vertices = 0\r
 input primitive = triangles\r
 output primitive = none\r
+ERROR: node is still EOpNull!\r
+0:7  Function Definition: foo( (void)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      Constant:\r
+0:9        1 (const int)\r
+0:10      gl_Position: direct index for structure (in 4-component vector of float)\r
+0:10        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:10          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:10          Constant:\r
+0:10            1 (const int)\r
+0:10        Constant:\r
+0:10          0 (const int)\r
+0:11      gl_Position: direct index for structure (in 4-component vector of float)\r
+0:11        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:11          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:11          'i' (int)\r
+0:11        Constant:\r
+0:11          0 (const int)\r
+0:18  Function Definition: foo3( (void)\r
+0:18    Function Parameters: \r
+0:20    Sequence\r
+0:20      Constant:\r
+0:20        3 (const int)\r
+0:21      gl_Position: direct index for structure (in 4-component vector of float)\r
+0:21        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:21          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:21          'i' (int)\r
+0:21        Constant:\r
+0:21          0 (const int)\r
+0:22      Constant:\r
+0:22        3 (const int)\r
+0:29  Function Definition: foo4( (void)\r
+0:29    Function Parameters: \r
+0:?     Sequence\r
+0:40      Sequence\r
+0:40        move second child to first child (4-component vector of float)\r
+0:40          'v' (4-component vector of float)\r
+0:40          Function Call: textureGatherOffset(s21;vf2;vi2; (4-component vector of float)\r
+0:40            's2D' (uniform sampler2D)\r
+0:40            direct index (2-component vector of float)\r
+0:40              'coord' (in 3-element array of 2-component vector of float)\r
+0:40              Constant:\r
+0:40                0 (const int)\r
+0:40            vector swizzle (2-component vector of int)\r
+0:40              indirect index (2-component vector of int)\r
+0:40                Constant:\r
+0:40                  0 (const int)\r
+0:40                  1 (const int)\r
+0:40                  1 (const int)\r
+0:40                  -2 (const int)\r
+0:40                  0 (const int)\r
+0:40                  3 (const int)\r
+0:40                  -3 (const int)\r
+0:40                  0 (const int)\r
+0:40                  2 (const int)\r
+0:40                  1 (const int)\r
+0:40                'i' (int)\r
+0:40              Sequence\r
+0:40                Constant:\r
+0:40                  0 (const int)\r
+0:40                Constant:\r
+0:40                  1 (const int)\r
+0:42      move second child to first child (2-component vector of int)\r
+0:42        vector swizzle (2-component vector of int)\r
+0:42          indirect index (2-component vector of int)\r
+0:42            Constant:\r
+0:42              0 (const int)\r
+0:42              1 (const int)\r
+0:42              1 (const int)\r
+0:42              -2 (const int)\r
+0:42              0 (const int)\r
+0:42              3 (const int)\r
+0:42              -3 (const int)\r
+0:42              0 (const int)\r
+0:42              2 (const int)\r
+0:42              1 (const int)\r
+0:42            'i' (int)\r
+0:42          Sequence\r
+0:42            Constant:\r
+0:42              0 (const int)\r
+0:42            Constant:\r
+0:42              1 (const int)\r
+0:42        Constant:\r
+0:42          3 (const int)\r
+0:42          3 (const int)\r
+0:43      move second child to first child (float)\r
+0:43        direct index (float)\r
+0:43          'v4' (uniform 4-component vector of float)\r
+0:43          Constant:\r
+0:43            0 (const int)\r
+0:43        Constant:\r
+0:43          3.200000\r
+0:44      vector swizzle (2-component vector of float)\r
+0:44        'v4' (uniform 4-component vector of float)\r
+0:44        Sequence\r
+0:44          Constant:\r
+0:44            0 (const int)\r
+0:44          Constant:\r
+0:44            1 (const int)\r
+0:?   Linker Objects\r
+0:?     'i' (int)\r
+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:?     'color3' (in 3-element array of 4-component vector of float)\r
+0:?     's2D' (uniform sampler2D)\r
+0:?     'coord' (in 3-element array of 2-component vector of float)\r
+0:?     'v4' (uniform 4-component vector of float)\r
+0:?     'anon@0' (layout(stream=0 ) out block{layout(stream=0 ) gl_PointSize float gl_PointSize, layout(stream=0 ) out 1-element array of float gl_ClipDistance})\r
 \r
index dd5b898..93a649c 100644 (file)
@@ -1,5 +1,5 @@
 420.vert\r
-Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:2: '#version' : must occur first in shader \r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 ERROR: 0:3: 'varying' : no longer supported in core profile; removed in version 420\r
@@ -126,15 +126,15 @@ ERROR: node is still EOpNull!
 0:?     'dx' (const float)\r
 0:?       4.200000\r
 0:?     'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})\r
-0:?     '__anon__0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})\r
-0:?     '__anon__1' (layout(binding=1 ) in block{in int aoeua})\r
-0:?     '__anon__2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})\r
+0:?     'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})\r
+0:?     'anon@1' (layout(binding=1 ) in block{in int aoeua})\r
+0:?     'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})\r
 0:?     'sampb1' (layout(binding=4 ) uniform sampler2D)\r
 0:?     'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)\r
 0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)\r
 0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)\r
 0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)\r
-0:?     '__anon__3' (out block{out implicitly-sized array of float gl_ClipDistance, })\r
+0:?     'anon@3' (out block{out implicitly-sized array of float gl_ClipDistance, })\r
 0:?     'patchIn' (patch in 4-component vector of float)\r
 0:?     'patchOut' (smooth patch out 4-component vector of float)\r
 0:?     'gl_VertexID' (gl_VertexId int)\r
@@ -145,4 +145,108 @@ Linked vertex stage:
 \r
 \r
 Shader version: 420\r
+ERROR: node is still EOpNull!\r
+0:20  Function Definition: foo( (const int)\r
+0:20    Function Parameters: \r
+0:?     Sequence\r
+0:23      Sequence\r
+0:23        move second child to first child (int)\r
+0:23          'b' (const (read only) int)\r
+0:23          'anonconst' (int)\r
+0:25      Sequence\r
+0:25        move second child to first child (int)\r
+0:25          'd' (const (read only) int)\r
+0:25          'b' (const (read only) int)\r
+0:29      Branch: Return with expression\r
+0:29        'b' (const (read only) int)\r
+0:32  Function Definition: main( (void)\r
+0:32    Function Parameters: \r
+0:?     Sequence\r
+0:35      Test condition and select (void)\r
+0:35        Condition\r
+0:35        Compare Equal (bool)\r
+0:35          'i' (int)\r
+0:35          Constant:\r
+0:35            3 (const int)\r
+0:35        true case\r
+0:36        Sequence\r
+0:36          move second child to first child (int)\r
+0:36            'j' (int)\r
+0:36            'i' (int)\r
+0:42      Loop with condition tested first\r
+0:42        Loop Condition\r
+0:42        Constant:\r
+0:42          true (const bool)\r
+0:42        No loop body\r
+0:50  Function Definition: bar(vf4; (void)\r
+0:50    Function Parameters: \r
+0:50      'v' (in 4-component vector of float)\r
+0:?     Sequence\r
+0:53      's' (int)\r
+0:54      's' (int)\r
+0:55      Test condition and select (void)\r
+0:55        Condition\r
+0:55        Compare Equal (bool)\r
+0:55          direct index (float)\r
+0:55            direct index (4-component vector of float)\r
+0:55              'bad' (in 10-element array of 4-component vector of float)\r
+0:55              Constant:\r
+0:55                0 (const int)\r
+0:55            Constant:\r
+0:55              0 (const int)\r
+0:55          Constant:\r
+0:55            4.200000\r
+0:55        true case is null\r
+0:57      Test condition and select (void)\r
+0:57        Condition\r
+0:57        Constant:\r
+0:57          true (const bool)\r
+0:57        true case\r
+0:58        move second child to first child (4-component vector of float)\r
+0:58          'badorder3' (flat out 4-component vector of float)\r
+0:58          direct index (4-component vector of float)\r
+0:58            'bad' (in 10-element array of 4-component vector of float)\r
+0:58            Constant:\r
+0:58              0 (const int)\r
+0:61      Sequence\r
+0:61        move second child to first child (3-component vector of float)\r
+0:61          'smeared' (3-component vector of float)\r
+0:61          Construct vec3 (3-component vector of float)\r
+0:61            'f' (float)\r
+0:62      'f' (float)\r
+0:63      'f' (float)\r
+0:?   Linker Objects\r
+0:?     'v2' (smooth out 2-component vector of float)\r
+0:?     'bad' (in 10-element array of 4-component vector of float)\r
+0:?     'badorder' (in 4-component vector of float)\r
+0:?     'badorder2' (invariant smooth out 4-component vector of float)\r
+0:?     'badorder4' (centroid in 4-component vector of float)\r
+0:?     'badorder3' (flat out 4-component vector of float)\r
+0:?     'rep' (smooth flat out 4-component vector of float)\r
+0:?     'rep2' (centroid smooth sample out 4-component vector of float)\r
+0:?     'rep3' (in 4-component vector of float)\r
+0:?     'anonconst' (int)\r
+0:?     'aconst' (const int)\r
+0:?       5 (const int)\r
+0:?     'a' (const int)\r
+0:?       5 (const int)\r
+0:?     'b' (int)\r
+0:?     'cx' (const float)\r
+0:?       4.200000\r
+0:?     'dx' (const float)\r
+0:?       4.200000\r
+0:?     'boundInst' (layout(binding=3 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})\r
+0:?     'anon@0' (layout(binding=7 column_major shared ) uniform block{layout(column_major shared ) uniform int aoeu})\r
+0:?     'anon@1' (layout(binding=1 ) in block{in int aoeua})\r
+0:?     'anon@2' (layout(column_major shared ) uniform block{layout(column_major shared ) uniform int aooeu})\r
+0:?     'sampb1' (layout(binding=4 ) uniform sampler2D)\r
+0:?     'sampb2' (layout(binding=5 ) uniform 10-element array of sampler2D)\r
+0:?     'sampb3' (layout(binding=80 ) uniform sampler2D)\r
+0:?     'sampb4' (layout(binding=31 ) uniform sampler2D)\r
+0:?     'sampb5' (layout(binding=79 ) uniform 2-element array of sampler2D)\r
+0:?     'anon@3' (out block{out 1-element array of float gl_ClipDistance, })\r
+0:?     'patchIn' (patch in 4-component vector of float)\r
+0:?     'patchOut' (smooth patch out 4-component vector of float)\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 5bac60d..ed318dd 100644 (file)
@@ -1,5 +1,5 @@
 420_size_gl_in.geom\r
-Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:19: 'gl_PerVertex' : can only redeclare a built-in block once, and before any use \r
 ERROR: 1 compilation errors.  No code generated.\r
 \r
@@ -48,4 +48,30 @@ invocations = 0
 max_vertices = 0\r
 input primitive = triangles\r
 output primitive = none\r
+ERROR: node is still EOpNull!\r
+0:11  Function Definition: foo( (void)\r
+0:11    Function Parameters: \r
+0:13    Sequence\r
+0:13      Constant:\r
+0:13        3 (const int)\r
+0:14      gl_Position: direct index for structure (in 4-component vector of float)\r
+0:14        direct index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:14          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:14          Constant:\r
+0:14            1 (const int)\r
+0:14        Constant:\r
+0:14          0 (const int)\r
+0:15      Constant:\r
+0:15        3 (const int)\r
+0:16      gl_Position: direct index for structure (in 4-component vector of float)\r
+0:16        indirect index (block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:16          'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
+0:16          'i' (int)\r
+0:16        Constant:\r
+0:16          0 (const int)\r
+0:?   Linker Objects\r
+0:?     'i' (int)\r
+0:?     'colorun' (in 3-element array of 4-component vector of float)\r
+0:?     'color3' (in 3-element array of 4-component vector of float)\r
+0:?     'gl_in' (in 3-element array of block{in 4-component vector of float gl_Position, in float gl_PointSize, in 1-element array of float gl_ClipDistance})\r
 \r
index 2621bf9..d8f981a 100644 (file)
@@ -1,5 +1,5 @@
 430.comp\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:12: 'location qualifier on input' : not supported in this stage: compute\r
 ERROR: 1 compilation errors.  No code generated.\r
 \r
@@ -22,4 +22,15 @@ Linked compute stage:
 \r
 \r
 Shader version: 430\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:5    Sequence\r
+0:5      MemoryBarrierAtomicCounter (void)\r
+0:6      MemoryBarrierBuffer (void)\r
+0:7      MemoryBarrierShared (void)\r
+0:8      MemoryBarrierImage (void)\r
+0:9      GroupMemoryBarrier (void)\r
+0:?   Linker Objects\r
+0:?     'v3' (layout(location=2 ) in 3-component vector of float)\r
 \r
index 7c40c96..2706e88 100644 (file)
@@ -1,5 +1,5 @@
 430.vert\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:3: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers \r
 ERROR: 0:7: 'location qualifier on in/out block' : not supported for this version or the enabled extensions \r
 ERROR: 0:8: 'location qualifier on in/out block' : not supported for this version or the enabled extensions \r
@@ -57,7 +57,7 @@ ERROR: node is still EOpNull!
 0:16      move second child to first child (float)\r
 0:16        direct index (float)\r
 0:16          gl_ClipDistance: direct index for structure (out 17-element array of float)\r
-0:16            '__anon__0' (out block{out 17-element array of float gl_ClipDistance, })\r
+0:16            'anon@0' (out block{out 17-element array of float gl_ClipDistance, })\r
 0:16            Constant:\r
 0:16              2 (const uint)\r
 0:16          Constant:\r
@@ -75,7 +75,7 @@ ERROR: node is still EOpNull!
 0:?     'uv4' (layout(location=4 ) uniform 4-component vector of float)\r
 0:?     'b1' (layout(location=2 ) in block{in 4-component vector of float v})\r
 0:?     'b2' (layout(location=2 ) out block{out 4-component vector of float v})\r
-0:?     '__anon__0' (out block{out 17-element array of float gl_ClipDistance, })\r
+0:?     'anon@0' (out block{out 17-element array of float gl_ClipDistance, })\r
 0:?     'cs' (layout(location=10 ) smooth out 2-element array of structure{7-element array of 3X2 matrix of float m, float f})\r
 0:?     'cf' (layout(location=54 ) smooth out float)\r
 0:?     'cg' (layout(location=53 ) smooth out float)\r
@@ -122,4 +122,65 @@ ERROR:     xfb_buffer 3, xfb_stride 64, minimum stride needed: 80
 Shader version: 430\r
 Requested GL_ARB_enhanced_layouts\r
 in xfb mode\r
+ERROR: node is still EOpNull!\r
+0:14  Function Definition: foo( (void)\r
+0:14    Function Parameters: \r
+0:16    Sequence\r
+0:16      move second child to first child (float)\r
+0:16        direct index (float)\r
+0:16          gl_ClipDistance: direct index for structure (out 17-element array of float)\r
+0:16            'anon@0' (out block{out 17-element array of float gl_ClipDistance, })\r
+0:16            Constant:\r
+0:16              2 (const uint)\r
+0:16          Constant:\r
+0:16            2 (const int)\r
+0:16        Constant:\r
+0:16          3.700000\r
+0:31  Function Definition: foo3(vf4;vf3;vf2;vf3; (void)\r
+0:31    Function Parameters: \r
+0:31      'v4' (in 4-component vector of float)\r
+0:31      'v3' (in 3-component vector of float)\r
+0:31      'v2' (in 2-component vector of float)\r
+0:31      'cv3' (in 3-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'v4' (layout(location=3 ) 4-component vector of float)\r
+0:?     'uv4' (layout(location=4 ) uniform 4-component vector of float)\r
+0:?     'b1' (layout(location=2 ) in block{in 4-component vector of float v})\r
+0:?     'b2' (layout(location=2 ) out block{out 4-component vector of float v})\r
+0:?     'anon@0' (out block{out 17-element array of float gl_ClipDistance, })\r
+0:?     'cs' (layout(location=10 ) smooth out 2-element array of structure{7-element array of 3X2 matrix of float m, float f})\r
+0:?     'cf' (layout(location=54 ) smooth out float)\r
+0:?     'cg' (layout(location=53 ) smooth out float)\r
+0:?     'alias1' (layout(location=10 ) in 4-component vector of float)\r
+0:?     'alias2' (layout(location=10 ) in 4-component vector of float)\r
+0:?     'v6e' (layout(location=0 ) in 4-component vector of float)\r
+0:?     'ininst2e' (in block{layout(location=25 ) in float f2})\r
+0:?     'in4e' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})\r
+0:?     'inst4e' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})\r
+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})\r
+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})\r
+0:?     'aconste' (4-element array of int)\r
+0:?     'bconste' (64-element array of int)\r
+0:?     'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})\r
+0:?     'bge' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)\r
+0:?     'bhe' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)\r
+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})\r
+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})\r
+0:?     'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})\r
+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})\r
+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})\r
+0:?     'aconst' (4-element array of int)\r
+0:?     'bconst' (64-element array of int)\r
+0:?     'start2' (const int)\r
+0:?       5 (const int)\r
+0:?     'v6' (layout(location=19 ) in 4-component vector of float)\r
+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})\r
+0:?     'in4' (in block{layout(location=50 ) in float f1, layout(location=51 ) in float f2})\r
+0:?     'bbinst2g' (out block{layout(xfb_buffer=3 xfb_offset=64 ) out 4-component vector of float bbv})\r
+0:?     'bg' (layout(xfb_buffer=1 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)\r
+0:?     'bh' (layout(xfb_buffer=1 xfb_offset=32 xfb_stride=80 ) smooth out 4-component vector of float)\r
+0:?     'bbinst4' (layout(xfb_stride=80 ) out block{layout(xfb_buffer=1 xfb_offset=16 ) out 4-component vector of float bbv1})\r
+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})\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 768ba1a..802c8f3 100644 (file)
@@ -1,5 +1,5 @@
 430scope.vert\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:5: 'a' : redefinition \r
 ERROR: 0:17: 'b' : function name is redeclaration of existing name \r
 ERROR: 0:20: 'c' : redefinition \r
@@ -64,7 +64,7 @@ ERROR: node is still EOpNull!
 0:47          3.000000\r
 0:49      move second child to first child (4-component vector of float)\r
 0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)\r
-0:49          '__anon__0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:49          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:49          Constant:\r
 0:49            0 (const uint)\r
 0:49        Construct vec4 (4-component vector of float)\r
@@ -129,4 +129,115 @@ Linked vertex stage:
 \r
 \r
 Shader version: 430\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: f(i1;i1;i1; (int)\r
+0:3    Function Parameters: \r
+0:3      'a' (in int)\r
+0:3      'b' (in int)\r
+0:3      'c' (in int)\r
+0:?     Sequence\r
+0:8      Sequence\r
+0:8        Sequence\r
+0:8          move second child to first child (float)\r
+0:8            'a' (float)\r
+0:8            add (float)\r
+0:8              Convert int to float (float)\r
+0:8                'a' (in int)\r
+0:8              Constant:\r
+0:8                1.000000\r
+0:11      Branch: Return with expression\r
+0:11        'a' (in int)\r
+0:25  Function Definition: cos(f1; (float)\r
+0:25    Function Parameters: \r
+0:25      'x' (in float)\r
+0:27    Sequence\r
+0:27      Branch: Return with expression\r
+0:27        Constant:\r
+0:27          1.000000\r
+0:29  Function Definition: radians(b1; (bool)\r
+0:29    Function Parameters: \r
+0:29      'x' (in bool)\r
+0:31    Sequence\r
+0:31      Branch: Return with expression\r
+0:31        Constant:\r
+0:31          true (const bool)\r
+0:36  Function Definition: main( (void)\r
+0:36    Function Parameters: \r
+0:?     Sequence\r
+0:39      Function Call: g( (int)\r
+0:42      'sin' (float)\r
+0:43      Constant:\r
+0:43        0.000000\r
+0:44      Function Call: f(i1;i1;i1; (int)\r
+0:44        Constant:\r
+0:44          1 (const int)\r
+0:44        Constant:\r
+0:44          2 (const int)\r
+0:44        Constant:\r
+0:44          3 (const int)\r
+0:47      move second child to first child (float)\r
+0:47        'f' (float)\r
+0:47        Constant:\r
+0:47          3.000000\r
+0:49      move second child to first child (4-component vector of float)\r
+0:49        gl_Position: direct index for structure (invariant gl_Position 4-component vector of float)\r
+0:49          'anon@0' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 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})\r
+0:49          Constant:\r
+0:49            0 (const uint)\r
+0:49        Construct vec4 (4-component vector of float)\r
+0:49          'f' (float)\r
+0:51      Sequence\r
+0:51        Sequence\r
+0:51          move second child to first child (int)\r
+0:51            'f' (int)\r
+0:51            Constant:\r
+0:51              0 (const int)\r
+0:51        Loop with condition tested first\r
+0:51          Loop Condition\r
+0:51          Compare Less Than (bool)\r
+0:51            'f' (int)\r
+0:51            Constant:\r
+0:51              10 (const int)\r
+0:51          Loop Body\r
+0:52          Pre-Increment (int)\r
+0:52            'f' (int)\r
+0:51          Loop Terminal Expression\r
+0:51          Pre-Increment (int)\r
+0:51            'f' (int)\r
+0:54      Sequence\r
+0:54        move second child to first child (int)\r
+0:54          'x' (int)\r
+0:54          Constant:\r
+0:54            1 (const int)\r
+0:56      Sequence\r
+0:56        Sequence\r
+0:56          move second child to first child (float)\r
+0:56            'x' (float)\r
+0:56            Constant:\r
+0:56              2.000000\r
+0:56          move second child to first child (float)\r
+0:56            'y' (float)\r
+0:56            'x' (float)\r
+0:60      Sequence\r
+0:60        Sequence\r
+0:60          move second child to first child (int)\r
+0:60            'x' (int)\r
+0:60            'x' (int)\r
+0:68      Sequence\r
+0:68        Sequence\r
+0:68          move second child to first child (structure{int x})\r
+0:68            'S' (structure{int x})\r
+0:68            Constant:\r
+0:68              0 (const int)\r
+0:69        x: direct index for structure (int)\r
+0:69          'S' (structure{int x})\r
+0:69          Constant:\r
+0:69            0 (const int)\r
+0:73      Constant:\r
+0:73        0.000000\r
+0:?   Linker Objects\r
+0:?     'b' (bool)\r
+0:?     'tan' (float)\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 158871b..eb5632a 100644 (file)
@@ -1,5 +1,5 @@
 440.frag\r
-Warning, version 440 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:11: 'location' : overlapping use of location 4\r
 ERROR: 0:13: 'component' : type overflows the available 4 components \r
 ERROR: 0:22: 'location' : fragment outputs sharing the same location must be the same basic type 30\r
@@ -92,4 +92,40 @@ Linked fragment stage:
 ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point\r
 \r
 Shader version: 440\r
+ERROR: node is still EOpNull!\r
+0:?   Linker Objects\r
+0:?     'a' (layout(location=4 component=2 ) smooth in 2-component vector of float)\r
+0:?     'b' (layout(location=4 component=1 ) smooth in float)\r
+0:?     'h' (layout(location=4 component=2 ) smooth in 2-component vector of float)\r
+0:?     'c' (layout(location=3 component=2 ) smooth in 3-component vector of float)\r
+0:?     'e' (layout(location=20 component=0 ) smooth in 6-element array of 3-component vector of float)\r
+0:?     'f' (layout(location=20 component=3 ) smooth in 6-element array of float)\r
+0:?     'be' (layout(location=30 component=3 ) out int)\r
+0:?     'bf' (layout(location=30 component=0 ) out 3-component vector of float)\r
+0:?     'inst1' (layout(column_major shared offset=12 ) uniform block{layout(column_major shared ) uniform int a})\r
+0:?     'inst2' (layout(offset=12 ) in block{in int a})\r
+0:?     'inst3' (layout(offset=12 ) out block{out int a})\r
+0:?     'inst4' (layout(column_major std140 align=16 ) uniform block{layout(column_major std140 offset=0 align=16 ) uniform int a})\r
+0:?     'inst8' (layout(column_major shared align=16 ) uniform block{layout(column_major shared ) uniform int a})\r
+0:?     'inst5' (layout(align=16 ) in block{in int a})\r
+0:?     'inst6' (layout(align=16 ) out block{out int a})\r
+0:?     'v1' (layout(offset=12 ) uniform 4-component vector of float)\r
+0:?     'v2' (layout(offset=12 ) smooth in 4-component vector of float)\r
+0:?     'v3' (layout(offset=12 ) out 4-component vector of float)\r
+0:?     'v4' (layout(align=16 ) uniform 4-component vector of float)\r
+0:?     'v5' (layout(align=16 ) smooth in 4-component vector of float)\r
+0:?     'v6' (layout(align=16 ) out 4-component vector of float)\r
+0:?     'v7' (layout(std140 ) uniform 4-component vector of float)\r
+0:?     'inst7' (layout(column_major shared ) uniform block{layout(column_major shared offset=12 align=4 ) uniform float f})\r
+0:?     'inst10' (in block{layout(offset=12 ) in float f, layout(align=4 ) in float g})\r
+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})\r
+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})\r
+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})\r
+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})\r
+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})\r
+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})\r
+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})\r
+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})\r
+0:?     'aconst' (4-element array of int)\r
+0:?     'bconst' (64-element array of int)\r
 \r
index 3d3f582..5bf7670 100644 (file)
@@ -1,5 +1,5 @@
 440.vert\r
-Warning, version 440 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:8: 'component' : type overflows the available 4 components \r
 ERROR: 0:15: 'component' : component is too large \r
 ERROR: 0:23: 'location' : overlapping use of location 4\r
@@ -115,4 +115,56 @@ ERROR:     xfb_buffer 7, components (1/4 stride) needed are 66, gl_MaxTransformF
 \r
 Shader version: 440\r
 in xfb mode\r
+ERROR: node is still EOpNull!\r
+0:?   Linker Objects\r
+0:?     'a' (layout(location=2 component=2 ) in 2-component vector of float)\r
+0:?     'b' (layout(location=2 component=1 ) in float)\r
+0:?     'c' (layout(location=3 component=2 ) in 3-component vector of float)\r
+0:?     'd' (layout(location=0 component=3 ) in 4-element array of float)\r
+0:?     'e' (layout(location=4 component=0 ) in 5-element array of 3-component vector of float)\r
+0:?     'f' (layout(location=4 component=3 ) in 5-element array of float)\r
+0:?     'g' (layout(location=9 ) in 6-element array of float)\r
+0:?     'h' (layout(location=4 component=2 ) in 2-component vector of float)\r
+0:?     'i' (layout(location=3 component=2 ) smooth out 2-component vector of float)\r
+0:?     'j' (layout(location=3 component=0 ) smooth out 2-component vector of float)\r
+0:?     'k' (layout(location=4 component=2 ) smooth out 2-component vector of float)\r
+0:?     'm' (layout(location=4 component=2 ) smooth out 2-component vector of float)\r
+0:?     'n' (layout(location=2 component=2 ) smooth out 2-component vector of float)\r
+0:?     'p' (layout(location=2 component=0 ) smooth out 3-component vector of float)\r
+0:?     'q' (layout(location=10 component=3 ) smooth out 6-element array of float)\r
+0:?     'r' (layout(location=10 component=0 ) smooth out 6-element array of 3-component vector of float)\r
+0:?     's' (layout(location=15 component=3 ) smooth out float)\r
+0:?     't' (layout(location=10 component=1 ) smooth out float)\r
+0:?     'u' (layout(location=20 component=2 ) smooth out float)\r
+0:?     'v' (layout(location=20 component=0 ) smooth out float)\r
+0:?     'w' (layout(location=20 component=3 ) smooth out float)\r
+0:?     'x' (layout(location=20 component=1 ) smooth out 2-component vector of float)\r
+0:?     'y' (layout(location=30 component=3 ) smooth out 2-component vector of float)\r
+0:?     'z' (layout(location=31 component=1 ) smooth out 4-component vector of float)\r
+0:?     'ba' (layout(location=32 component=1 ) smooth out 4X4 matrix of float)\r
+0:?     'Ss' (layout(location=33 component=1 ) smooth out structure{int a})\r
+0:?     'bb' (layout(location=34 component=1 ) out block{out int a})\r
+0:?     'bc' (layout(location=63 component=1 ) smooth out float)\r
+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})\r
+0:?     'be' (layout(location=50 component=3 ) smooth out int)\r
+0:?     'bf' (layout(location=50 component=0 ) smooth out 3-component vector of float)\r
+0:?     'bbinst1' (out block{out 4-component vector of float bbv})\r
+0:?     'bbinst2' (out block{layout(xfb_buffer=0 xfb_offset=64 ) out 4-component vector of float bbv})\r
+0:?     'bbinst3' (out block{layout(xfb_buffer=3 xfb_offset=16 ) out 4-component vector of float bbv})\r
+0:?     'ubbinst3' (layout(column_major shared ) uniform block{layout(column_major shared xfb_offset=16 ) uniform 4-component vector of float bbv})\r
+0:?     'bg' (layout(xfb_buffer=2 xfb_offset=48 xfb_stride=80 ) smooth out 4-component vector of float)\r
+0:?     'bh' (layout(xfb_buffer=3 xfb_offset=32 xfb_stride=64 ) smooth out 4-component vector of float)\r
+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})\r
+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})\r
+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})\r
+0:?     'bj' (layout(xfb_buffer=1 xfb_offset=4 ) smooth out float)\r
+0:?     'bk' (layout(xfb_buffer=1 xfb_offset=0 ) smooth out 2-component vector of int)\r
+0:?     'bl' (layout(xfb_stride=48 ) smooth out float)\r
+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})\r
+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})\r
+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})\r
+0:?     'bm' (layout(xfb_buffer=5 xfb_offset=0 ) smooth out float)\r
+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})\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index e0834bd..5381959 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/Operations.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 130\r
 0:? Sequence\r
@@ -439,4 +438,435 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:15  Function Definition: main( (void)\r
+0:15    Function Parameters: \r
+0:?     Sequence\r
+0:27      move second child to first child (4-component vector of float)\r
+0:27        'v' (4-component vector of float)\r
+0:27        radians (4-component vector of float)\r
+0:27          'uv4' (uniform 4-component vector of float)\r
+0:28      add second child into first child (4-component vector of float)\r
+0:28        'v' (4-component vector of float)\r
+0:28        degrees (4-component vector of float)\r
+0:28          'v' (4-component vector of float)\r
+0:29      add second child into first child (4-component vector of float)\r
+0:29        'v' (4-component vector of float)\r
+0:29        Comma (4-component vector of float)\r
+0:29          move second child to first child (int)\r
+0:29            'i' (int)\r
+0:29            component-wise multiply (int)\r
+0:29              'ui' (uniform int)\r
+0:29              'ui' (uniform int)\r
+0:29          sine (4-component vector of float)\r
+0:29            'v' (4-component vector of float)\r
+0:30      add second child into first child (4-component vector of float)\r
+0:30        'v' (4-component vector of float)\r
+0:30        cosine (4-component vector of float)\r
+0:30          'v' (4-component vector of float)\r
+0:31      add second child into first child (4-component vector of float)\r
+0:31        'v' (4-component vector of float)\r
+0:31        tangent (4-component vector of float)\r
+0:31          'v' (4-component vector of float)\r
+0:32      add second child into first child (4-component vector of float)\r
+0:32        'v' (4-component vector of float)\r
+0:32        arc sine (4-component vector of float)\r
+0:32          'v' (4-component vector of float)\r
+0:33      add second child into first child (4-component vector of float)\r
+0:33        'v' (4-component vector of float)\r
+0:33        arc cosine (4-component vector of float)\r
+0:33          'v' (4-component vector of float)\r
+0:35      add second child into first child (4-component vector of float)\r
+0:35        'v' (4-component vector of float)\r
+0:35        arc tangent (4-component vector of float)\r
+0:35          'v' (4-component vector of float)\r
+0:36      add second child into first child (4-component vector of float)\r
+0:36        'v' (4-component vector of float)\r
+0:36        hyp. sine (4-component vector of float)\r
+0:36          'v' (4-component vector of float)\r
+0:37      add second child into first child (4-component vector of float)\r
+0:37        'v' (4-component vector of float)\r
+0:37        hyp. cosine (4-component vector of float)\r
+0:37          'v' (4-component vector of float)\r
+0:38      add second child into first child (4-component vector of float)\r
+0:38        'v' (4-component vector of float)\r
+0:38        hyp. tangent (4-component vector of float)\r
+0:38          'v' (4-component vector of float)\r
+0:39      add second child into first child (4-component vector of float)\r
+0:39        'v' (4-component vector of float)\r
+0:39        arc hyp. sine (4-component vector of float)\r
+0:39          'v' (4-component vector of float)\r
+0:40      add second child into first child (4-component vector of float)\r
+0:40        'v' (4-component vector of float)\r
+0:40        arc hyp. cosine (4-component vector of float)\r
+0:40          'v' (4-component vector of float)\r
+0:41      add second child into first child (4-component vector of float)\r
+0:41        'v' (4-component vector of float)\r
+0:41        arc hyp. tangent (4-component vector of float)\r
+0:41          'v' (4-component vector of float)\r
+0:43      add second child into first child (4-component vector of float)\r
+0:43        'v' (4-component vector of float)\r
+0:43        pow (4-component vector of float)\r
+0:43          'v' (4-component vector of float)\r
+0:43          'v' (4-component vector of float)\r
+0:44      add second child into first child (4-component vector of float)\r
+0:44        'v' (4-component vector of float)\r
+0:44        exp (4-component vector of float)\r
+0:44          'v' (4-component vector of float)\r
+0:45      add second child into first child (4-component vector of float)\r
+0:45        'v' (4-component vector of float)\r
+0:45        log (4-component vector of float)\r
+0:45          'v' (4-component vector of float)\r
+0:46      add second child into first child (4-component vector of float)\r
+0:46        'v' (4-component vector of float)\r
+0:46        exp2 (4-component vector of float)\r
+0:46          'v' (4-component vector of float)\r
+0:47      add second child into first child (4-component vector of float)\r
+0:47        'v' (4-component vector of float)\r
+0:47        log2 (4-component vector of float)\r
+0:47          'v' (4-component vector of float)\r
+0:48      add second child into first child (4-component vector of float)\r
+0:48        'v' (4-component vector of float)\r
+0:48        sqrt (4-component vector of float)\r
+0:48          'v' (4-component vector of float)\r
+0:49      add second child into first child (4-component vector of float)\r
+0:49        'v' (4-component vector of float)\r
+0:49        inverse sqrt (4-component vector of float)\r
+0:49          'v' (4-component vector of float)\r
+0:50      add second child into first child (4-component vector of float)\r
+0:50        'v' (4-component vector of float)\r
+0:50        Absolute value (4-component vector of float)\r
+0:50          'v' (4-component vector of float)\r
+0:51      add second child into first child (4-component vector of float)\r
+0:51        'v' (4-component vector of float)\r
+0:51        Sign (4-component vector of float)\r
+0:51          'v' (4-component vector of float)\r
+0:52      add second child into first child (4-component vector of float)\r
+0:52        'v' (4-component vector of float)\r
+0:52        Floor (4-component vector of float)\r
+0:52          'v' (4-component vector of float)\r
+0:60      add second child into first child (4-component vector of float)\r
+0:60        'v' (4-component vector of float)\r
+0:60        Ceiling (4-component vector of float)\r
+0:60          'v' (4-component vector of float)\r
+0:61      add second child into first child (4-component vector of float)\r
+0:61        'v' (4-component vector of float)\r
+0:61        Fraction (4-component vector of float)\r
+0:61          'v' (4-component vector of float)\r
+0:62      add second child into first child (4-component vector of float)\r
+0:62        'v' (4-component vector of float)\r
+0:62        mod (4-component vector of float)\r
+0:62          'v' (4-component vector of float)\r
+0:62          'v' (4-component vector of float)\r
+0:63      add second child into first child (4-component vector of float)\r
+0:63        'v' (4-component vector of float)\r
+0:63        mod (4-component vector of float)\r
+0:63          'v' (4-component vector of float)\r
+0:63          direct index (float)\r
+0:63            'v' (4-component vector of float)\r
+0:63            Constant:\r
+0:63              0 (const int)\r
+0:69      add second child into first child (4-component vector of float)\r
+0:69        'v' (4-component vector of float)\r
+0:69        min (4-component vector of float)\r
+0:69          'v' (4-component vector of float)\r
+0:69          'uv4' (uniform 4-component vector of float)\r
+0:70      add second child into first child (4-component vector of float)\r
+0:70        'v' (4-component vector of float)\r
+0:70        max (4-component vector of float)\r
+0:70          'v' (4-component vector of float)\r
+0:70          'uv4' (uniform 4-component vector of float)\r
+0:71      add second child into first child (4-component vector of float)\r
+0:71        'v' (4-component vector of float)\r
+0:71        clamp (4-component vector of float)\r
+0:71          'v' (4-component vector of float)\r
+0:71          'uv4' (uniform 4-component vector of float)\r
+0:71          'uv4' (uniform 4-component vector of float)\r
+0:72      add second child into first child (4-component vector of float)\r
+0:72        'v' (4-component vector of float)\r
+0:72        mix (4-component vector of float)\r
+0:72          'v' (4-component vector of float)\r
+0:72          'v' (4-component vector of float)\r
+0:72          'v' (4-component vector of float)\r
+0:86      add second child into first child (4-component vector of float)\r
+0:86        'v' (4-component vector of float)\r
+0:86        step (4-component vector of float)\r
+0:86          'v' (4-component vector of float)\r
+0:86          'v' (4-component vector of float)\r
+0:87      add second child into first child (4-component vector of float)\r
+0:87        'v' (4-component vector of float)\r
+0:87        smoothstep (4-component vector of float)\r
+0:87          'v' (4-component vector of float)\r
+0:87          'v' (4-component vector of float)\r
+0:87          'v' (4-component vector of float)\r
+0:88      add second child into first child (4-component vector of float)\r
+0:88        'v' (4-component vector of float)\r
+0:88        step (4-component vector of float)\r
+0:88          'uf' (uniform float)\r
+0:88          'v' (4-component vector of float)\r
+0:89      add second child into first child (4-component vector of float)\r
+0:89        'v' (4-component vector of float)\r
+0:89        smoothstep (4-component vector of float)\r
+0:89          'uf' (uniform float)\r
+0:89          'uf' (uniform float)\r
+0:89          'v' (4-component vector of float)\r
+0:90      add second child into first child (4-component vector of float)\r
+0:90        'v' (4-component vector of float)\r
+0:90        normalize (4-component vector of float)\r
+0:90          'v' (4-component vector of float)\r
+0:91      add second child into first child (4-component vector of float)\r
+0:91        'v' (4-component vector of float)\r
+0:91        face-forward (4-component vector of float)\r
+0:91          'v' (4-component vector of float)\r
+0:91          'v' (4-component vector of float)\r
+0:91          'v' (4-component vector of float)\r
+0:92      add second child into first child (4-component vector of float)\r
+0:92        'v' (4-component vector of float)\r
+0:92        reflect (4-component vector of float)\r
+0:92          'v' (4-component vector of float)\r
+0:92          'v' (4-component vector of float)\r
+0:93      add second child into first child (4-component vector of float)\r
+0:93        'v' (4-component vector of float)\r
+0:93        refract (4-component vector of float)\r
+0:93          'v' (4-component vector of float)\r
+0:93          'v' (4-component vector of float)\r
+0:93          'uf' (uniform float)\r
+0:94      add second child into first child (4-component vector of float)\r
+0:94        'v' (4-component vector of float)\r
+0:94        dPdx (4-component vector of float)\r
+0:94          'v' (4-component vector of float)\r
+0:95      add second child into first child (4-component vector of float)\r
+0:95        'v' (4-component vector of float)\r
+0:95        dPdy (4-component vector of float)\r
+0:95          'v' (4-component vector of float)\r
+0:96      add second child into first child (4-component vector of float)\r
+0:96        'v' (4-component vector of float)\r
+0:96        fwidth (4-component vector of float)\r
+0:96          'v' (4-component vector of float)\r
+0:130      move second child to first child (bool)\r
+0:130        'b' (bool)\r
+0:130        any (bool)\r
+0:130          Compare Less Than (4-component vector of bool)\r
+0:130            'v' (4-component vector of float)\r
+0:130            'uv4' (uniform 4-component vector of float)\r
+0:131      move second child to first child (bool)\r
+0:131        'b' (bool)\r
+0:131        logical-and (bool)\r
+0:131          'b' (bool)\r
+0:131          any (bool)\r
+0:131            Compare Less Than or Equal (4-component vector of bool)\r
+0:131              'v' (4-component vector of float)\r
+0:131              'uv4' (uniform 4-component vector of float)\r
+0:132      move second child to first child (bool)\r
+0:132        'b' (bool)\r
+0:132        logical-and (bool)\r
+0:132          'b' (bool)\r
+0:132          any (bool)\r
+0:132            Compare Greater Than (4-component vector of bool)\r
+0:132              'v' (4-component vector of float)\r
+0:132              'uv4' (uniform 4-component vector of float)\r
+0:133      move second child to first child (bool)\r
+0:133        'b' (bool)\r
+0:133        logical-and (bool)\r
+0:133          'b' (bool)\r
+0:133          any (bool)\r
+0:133            Compare Greater Than or Equal (4-component vector of bool)\r
+0:133              'v' (4-component vector of float)\r
+0:133              'uv4' (uniform 4-component vector of float)\r
+0:134      move second child to first child (bool)\r
+0:134        'b' (bool)\r
+0:134        logical-and (bool)\r
+0:134          'b' (bool)\r
+0:134          any (bool)\r
+0:134            Equal (4-component vector of bool)\r
+0:134              'ub41' (uniform 4-component vector of bool)\r
+0:134              'ub42' (uniform 4-component vector of bool)\r
+0:135      move second child to first child (bool)\r
+0:135        'b' (bool)\r
+0:135        logical-and (bool)\r
+0:135          'b' (bool)\r
+0:135          any (bool)\r
+0:135            NotEqual (4-component vector of bool)\r
+0:135              'ub41' (uniform 4-component vector of bool)\r
+0:135              'ub42' (uniform 4-component vector of bool)\r
+0:136      move second child to first child (bool)\r
+0:136        'b' (bool)\r
+0:136        logical-and (bool)\r
+0:136          'b' (bool)\r
+0:136          any (bool)\r
+0:136            'ub41' (uniform 4-component vector of bool)\r
+0:137      move second child to first child (bool)\r
+0:137        'b' (bool)\r
+0:137        logical-and (bool)\r
+0:137          'b' (bool)\r
+0:137          all (bool)\r
+0:137            'ub41' (uniform 4-component vector of bool)\r
+0:138      move second child to first child (bool)\r
+0:138        'b' (bool)\r
+0:138        logical-and (bool)\r
+0:138          'b' (bool)\r
+0:138          any (bool)\r
+0:138            Negate conditional (4-component vector of bool)\r
+0:138              'ub41' (uniform 4-component vector of bool)\r
+0:140      move second child to first child (int)\r
+0:140        'i' (int)\r
+0:140        divide (int)\r
+0:140          subtract (int)\r
+0:140            component-wise multiply (int)\r
+0:140              add (int)\r
+0:140                'i' (int)\r
+0:140                'ui' (uniform int)\r
+0:140              'i' (int)\r
+0:140            'ui' (uniform int)\r
+0:140          'i' (int)\r
+0:141      move second child to first child (int)\r
+0:141        'i' (int)\r
+0:141        mod (int)\r
+0:141          'i' (int)\r
+0:141          'ui' (uniform int)\r
+0:142      Test condition and select (void)\r
+0:142        Condition\r
+0:142        logical-or (bool)\r
+0:142          Compare Equal (bool)\r
+0:142            'i' (int)\r
+0:142            'ui' (uniform int)\r
+0:142          logical-xor (bool)\r
+0:142            logical-and (bool)\r
+0:142              Compare Not Equal (bool)\r
+0:142                'i' (int)\r
+0:142                'ui' (uniform int)\r
+0:142              Compare Equal (bool)\r
+0:142                'i' (int)\r
+0:142                'ui' (uniform int)\r
+0:142            Compare Not Equal (bool)\r
+0:142              'i' (int)\r
+0:142              Constant:\r
+0:142                2 (const int)\r
+0:142        true case\r
+0:143        Pre-Increment (int)\r
+0:143          'i' (int)\r
+0:145      move second child to first child (float)\r
+0:145        'f' (float)\r
+0:145        divide (float)\r
+0:145          subtract (float)\r
+0:145            component-wise multiply (float)\r
+0:145              add (float)\r
+0:145                'uf' (uniform float)\r
+0:145                'uf' (uniform float)\r
+0:145              'uf' (uniform float)\r
+0:145            'uf' (uniform float)\r
+0:145          'uf' (uniform float)\r
+0:147      add second child into first child (float)\r
+0:147        'f' (float)\r
+0:147        length (float)\r
+0:147          'v' (4-component vector of float)\r
+0:148      add second child into first child (float)\r
+0:148        'f' (float)\r
+0:148        distance (float)\r
+0:148          'v' (4-component vector of float)\r
+0:148          'v' (4-component vector of float)\r
+0:149      add second child into first child (float)\r
+0:149        'f' (float)\r
+0:149        dot-product (float)\r
+0:149          'v' (4-component vector of float)\r
+0:149          'v' (4-component vector of float)\r
+0:150      add second child into first child (float)\r
+0:150        'f' (float)\r
+0:150        dot-product (float)\r
+0:150          'f' (float)\r
+0:150          'uf' (uniform float)\r
+0:151      add second child into first child (float)\r
+0:151        'f' (float)\r
+0:151        direct index (float)\r
+0:151          cross-product (3-component vector of float)\r
+0:151            vector swizzle (3-component vector of float)\r
+0:151              'v' (4-component vector of float)\r
+0:151              Sequence\r
+0:151                Constant:\r
+0:151                  0 (const int)\r
+0:151                Constant:\r
+0:151                  1 (const int)\r
+0:151                Constant:\r
+0:151                  2 (const int)\r
+0:151            vector swizzle (3-component vector of float)\r
+0:151              'v' (4-component vector of float)\r
+0:151              Sequence\r
+0:151                Constant:\r
+0:151                  0 (const int)\r
+0:151                Constant:\r
+0:151                  1 (const int)\r
+0:151                Constant:\r
+0:151                  2 (const int)\r
+0:151          Constant:\r
+0:151            0 (const int)\r
+0:153      Test condition and select (void)\r
+0:153        Condition\r
+0:153        logical-or (bool)\r
+0:153          Compare Equal (bool)\r
+0:153            'f' (float)\r
+0:153            'uf' (uniform float)\r
+0:153          logical-and (bool)\r
+0:153            Compare Not Equal (bool)\r
+0:153              'f' (float)\r
+0:153              'uf' (uniform float)\r
+0:153            Compare Not Equal (bool)\r
+0:153              'f' (float)\r
+0:153              Constant:\r
+0:153                2.000000\r
+0:153        true case\r
+0:154        Pre-Increment (float)\r
+0:154          'f' (float)\r
+0:156      and second child into first child (int)\r
+0:156        'i' (int)\r
+0:156        'ui' (uniform int)\r
+0:157      or second child into first child (int)\r
+0:157        'i' (int)\r
+0:157        Constant:\r
+0:157          66 (const int)\r
+0:158      exclusive or second child into first child (int)\r
+0:158        'i' (int)\r
+0:158        'ui' (uniform int)\r
+0:159      mod second child into first child (int)\r
+0:159        'i' (int)\r
+0:159        Constant:\r
+0:159          17 (const int)\r
+0:160      right shift second child into first child (int)\r
+0:160        'i' (int)\r
+0:160        Constant:\r
+0:160          2 (const int)\r
+0:161      left shift second child into first child (int)\r
+0:161        'i' (int)\r
+0:161        'ui' (uniform int)\r
+0:162      move second child to first child (int)\r
+0:162        'i' (int)\r
+0:162        Bitwise not (int)\r
+0:162          'i' (int)\r
+0:163      move second child to first child (bool)\r
+0:163        'b' (bool)\r
+0:163        Negate conditional (bool)\r
+0:163          'b' (bool)\r
+0:165      move second child to first child (4-component vector of float)\r
+0:165        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:165        Test condition and select (4-component vector of float)\r
+0:165          Condition\r
+0:165          'b' (bool)\r
+0:165          true case\r
+0:165          add (4-component vector of float)\r
+0:165            add (4-component vector of float)\r
+0:165              Construct vec4 (4-component vector of float)\r
+0:165                Convert int to float (float)\r
+0:165                  'i' (int)\r
+0:165              Construct vec4 (4-component vector of float)\r
+0:165                'f' (float)\r
+0:165            'v' (4-component vector of float)\r
+0:165          false case\r
+0:165          'v' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'uiv4' (uniform 4-component vector of int)\r
+0:?     'uv4' (uniform 4-component vector of float)\r
+0:?     'ub' (uniform bool)\r
+0:?     'ub41' (uniform 4-component vector of bool)\r
+0:?     'ub42' (uniform 4-component vector of bool)\r
+0:?     'uf' (uniform float)\r
+0:?     'ui' (uniform int)\r
 \r
index b3916c6..d6b717c 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/aggOps.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
 \r
@@ -153,4 +152,147 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:23  Function Definition: main( (void)\r
+0:23    Function Parameters: \r
+0:?     Sequence\r
+0:27      move second child to first child (3-element array of structure{int i, float f})\r
+0:27        'a' (3-element array of structure{int i, float f})\r
+0:27        Construct structure (3-element array of structure{int i, float f})\r
+0:27          Construct structure (structure{int i, float f})\r
+0:27            Convert float to int (int)\r
+0:27              direct index (float)\r
+0:27                'u' (smooth in 4-component vector of float)\r
+0:27                Constant:\r
+0:27                  0 (const int)\r
+0:27            direct index (float)\r
+0:27              'u' (smooth in 4-component vector of float)\r
+0:27              Constant:\r
+0:27                1 (const int)\r
+0:27          Construct structure (structure{int i, float f})\r
+0:27            Convert float to int (int)\r
+0:27              direct index (float)\r
+0:27                'u' (smooth in 4-component vector of float)\r
+0:27                Constant:\r
+0:27                  2 (const int)\r
+0:27            direct index (float)\r
+0:27              'u' (smooth in 4-component vector of float)\r
+0:27              Constant:\r
+0:27                3 (const int)\r
+0:27          Constant:\r
+0:27            14 (const int)\r
+0:27            14.000000\r
+0:28      move second child to first child (3-element array of structure{int i, float f})\r
+0:28        'b' (3-element array of structure{int i, float f})\r
+0:28        Construct structure (3-element array of structure{int i, float f})\r
+0:28          Constant:\r
+0:28            17 (const int)\r
+0:28            17.000000\r
+0:28          Construct structure (structure{int i, float f})\r
+0:28            Convert float to int (int)\r
+0:28              direct index (float)\r
+0:28                'w' (smooth in 4-component vector of float)\r
+0:28                Constant:\r
+0:28                  0 (const int)\r
+0:28            direct index (float)\r
+0:28              'w' (smooth in 4-component vector of float)\r
+0:28              Constant:\r
+0:28                1 (const int)\r
+0:28          Construct structure (structure{int i, float f})\r
+0:28            Convert float to int (int)\r
+0:28              direct index (float)\r
+0:28                'w' (smooth in 4-component vector of float)\r
+0:28                Constant:\r
+0:28                  2 (const int)\r
+0:28            direct index (float)\r
+0:28              'w' (smooth in 4-component vector of float)\r
+0:28              Constant:\r
+0:28                3 (const int)\r
+0:30      Test condition and select (void)\r
+0:30        Condition\r
+0:30        Compare Equal (bool)\r
+0:30          'foo2a' (uniform structure{int i, float f, structure{int i, float f} s1_1})\r
+0:30          'foo2b' (uniform structure{int i, float f, structure{int i, float f} s1_1})\r
+0:30        true case\r
+0:31        move second child to first child (4-component vector of float)\r
+0:31          'v' (4-component vector of float)\r
+0:31          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:31            'sampler' (uniform sampler2D)\r
+0:31            'coord' (smooth in 2-component vector of float)\r
+0:30        false case\r
+0:33        move second child to first child (4-component vector of float)\r
+0:33          'v' (4-component vector of float)\r
+0:33          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:33            'sampler' (uniform sampler2D)\r
+0:33            vector-scale (2-component vector of float)\r
+0:33              Constant:\r
+0:33                2.000000\r
+0:33              'coord' (smooth in 2-component vector of float)\r
+0:35      Test condition and select (void)\r
+0:35        Condition\r
+0:35        Compare Equal (bool)\r
+0:35          'u' (smooth in 4-component vector of float)\r
+0:35          'v' (4-component vector of float)\r
+0:35        true case\r
+0:36        vector scale second child into first child (4-component vector of float)\r
+0:36          'v' (4-component vector of float)\r
+0:36          Constant:\r
+0:36            3.000000\r
+0:38      Test condition and select (void)\r
+0:38        Condition\r
+0:38        Compare Not Equal (bool)\r
+0:38          'u' (smooth in 4-component vector of float)\r
+0:38          'v' (4-component vector of float)\r
+0:38        true case\r
+0:39        vector scale second child into first child (4-component vector of float)\r
+0:39          'v' (4-component vector of float)\r
+0:39          Constant:\r
+0:39            4.000000\r
+0:41      Test condition and select (void)\r
+0:41        Condition\r
+0:41        Compare Equal (bool)\r
+0:41          'coord' (smooth in 2-component vector of float)\r
+0:41          vector swizzle (2-component vector of float)\r
+0:41            'v' (4-component vector of float)\r
+0:41            Sequence\r
+0:41              Constant:\r
+0:41                1 (const int)\r
+0:41              Constant:\r
+0:41                3 (const int)\r
+0:41        true case\r
+0:42        vector scale second child into first child (4-component vector of float)\r
+0:42          'v' (4-component vector of float)\r
+0:42          Constant:\r
+0:42            5.000000\r
+0:44      Test condition and select (void)\r
+0:44        Condition\r
+0:44        Compare Equal (bool)\r
+0:44          'a' (3-element array of structure{int i, float f})\r
+0:44          'b' (3-element array of structure{int i, float f})\r
+0:44        true case\r
+0:45        vector scale second child into first child (4-component vector of float)\r
+0:45          'v' (4-component vector of float)\r
+0:45          Constant:\r
+0:45            6.000000\r
+0:47      Test condition and select (void)\r
+0:47        Condition\r
+0:47        Compare Not Equal (bool)\r
+0:47          'a' (3-element array of structure{int i, float f})\r
+0:47          'b' (3-element array of structure{int i, float f})\r
+0:47        true case\r
+0:48        vector scale second child into first child (4-component vector of float)\r
+0:48          'v' (4-component vector of float)\r
+0:48          Constant:\r
+0:48            7.000000\r
+0:50      move second child to first child (4-component vector of float)\r
+0:50        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:50        'v' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
+0:?     'u' (smooth in 4-component vector of float)\r
+0:?     'w' (smooth in 4-component vector of float)\r
+0:?     'foo1' (uniform structure{int i, float f})\r
+0:?     'foo2a' (uniform structure{int i, float f, structure{int i, float f} s1_1})\r
+0:?     'foo2b' (uniform structure{int i, float f, structure{int i, float f} s1_1})\r
 \r
index ba2c58e..c190049 100644 (file)
@@ -122,4 +122,119 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:4  Function Definition: main( (void)\r
+0:4    Function Parameters: \r
+0:6    Sequence\r
+0:6      Sequence\r
+0:6        move second child to first child (4-component vector of float)\r
+0:6          'white' (4-component vector of float)\r
+0:6          Constant:\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:7      Sequence\r
+0:7        move second child to first child (4-component vector of float)\r
+0:7          'black' (4-component vector of float)\r
+0:7          Constant:\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:8      Sequence\r
+0:8        move second child to first child (4-component vector of float)\r
+0:8          'color' (4-component vector of float)\r
+0:8          'white' (4-component vector of float)\r
+0:11      Sequence\r
+0:11        move second child to first child (float)\r
+0:11          'x' (float)\r
+0:11          subtract (float)\r
+0:11            component-wise multiply (float)\r
+0:11              direct index (float)\r
+0:11                'tex_coord' (smooth in 2-component vector of float)\r
+0:11                Constant:\r
+0:11                  0 (const int)\r
+0:11              Constant:\r
+0:11                2.000000\r
+0:11            Constant:\r
+0:11              1.000000\r
+0:12      Sequence\r
+0:12        move second child to first child (float)\r
+0:12          'y' (float)\r
+0:12          subtract (float)\r
+0:12            component-wise multiply (float)\r
+0:12              direct index (float)\r
+0:12                'tex_coord' (smooth in 2-component vector of float)\r
+0:12                Constant:\r
+0:12                  1 (const int)\r
+0:12              Constant:\r
+0:12                2.000000\r
+0:12            Constant:\r
+0:12              1.000000\r
+0:14      Sequence\r
+0:14        move second child to first child (float)\r
+0:14          'radius' (float)\r
+0:14          sqrt (float)\r
+0:14            add (float)\r
+0:14              component-wise multiply (float)\r
+0:14                'x' (float)\r
+0:14                'x' (float)\r
+0:14              component-wise multiply (float)\r
+0:14                'y' (float)\r
+0:14                'y' (float)\r
+0:15      Test condition and select (void)\r
+0:15        Condition\r
+0:15        Compare Greater Than (bool)\r
+0:15          'radius' (float)\r
+0:15          Constant:\r
+0:15            1.000000\r
+0:15        true case\r
+0:16        Sequence\r
+0:16          Test condition and select (void)\r
+0:16            Condition\r
+0:16            Compare Greater Than (bool)\r
+0:16              'radius' (float)\r
+0:16              Constant:\r
+0:16                1.100000\r
+0:16            true case\r
+0:17            Sequence\r
+0:17              Pre-Increment (4-component vector of float)\r
+0:17                'color' (4-component vector of float)\r
+0:20          move second child to first child (4-component vector of float)\r
+0:20            'gl_FragColor' (fragColor 4-component vector of float)\r
+0:20            'color' (4-component vector of float)\r
+0:22          Test condition and select (void)\r
+0:22            Condition\r
+0:22            Compare Greater Than (bool)\r
+0:22              'radius' (float)\r
+0:22              Constant:\r
+0:22                1.200000\r
+0:22            true case\r
+0:23            Sequence\r
+0:23              Pre-Increment (4-component vector of float)\r
+0:23                'color' (4-component vector of float)\r
+0:28      Branch: Kill\r
+0:31      Test condition and select (void)\r
+0:31        Condition\r
+0:31        Compare Greater Than or Equal (bool)\r
+0:31          'radius' (float)\r
+0:31          Constant:\r
+0:31            0.750000\r
+0:31        true case\r
+0:32        subtract second child into first child (4-component vector of float)\r
+0:32          'color' (4-component vector of float)\r
+0:32          Absolute value (float)\r
+0:32            divide (float)\r
+0:32              pow (float)\r
+0:32                'radius' (float)\r
+0:32                Constant:\r
+0:32                  16.000000\r
+0:32              Constant:\r
+0:32                2.000000\r
+0:34      move second child to first child (4-component vector of float)\r
+0:34        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:34        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'tex_coord' (smooth in 2-component vector of float)\r
 \r
index 199d1ae..c656faf 100644 (file)
@@ -63,4 +63,60 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:4  Function Definition: main( (void)\r
+0:4    Function Parameters: \r
+0:6    Sequence\r
+0:6      Sequence\r
+0:6        move second child to first child (4-component vector of float)\r
+0:6          'white' (4-component vector of float)\r
+0:6          Constant:\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:7      Sequence\r
+0:7        move second child to first child (4-component vector of float)\r
+0:7          'black' (4-component vector of float)\r
+0:7          Constant:\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:8      Sequence\r
+0:8        move second child to first child (4-component vector of float)\r
+0:8          'color' (4-component vector of float)\r
+0:8          'white' (4-component vector of float)\r
+0:11      Sequence\r
+0:11        move second child to first child (float)\r
+0:11          'x' (float)\r
+0:11          subtract (float)\r
+0:11            component-wise multiply (float)\r
+0:11              direct index (float)\r
+0:11                'tex_coord' (smooth in 2-component vector of float)\r
+0:11                Constant:\r
+0:11                  0 (const int)\r
+0:11              Constant:\r
+0:11                2.000000\r
+0:11            Constant:\r
+0:11              1.000000\r
+0:12      Sequence\r
+0:12        move second child to first child (float)\r
+0:12          'y' (float)\r
+0:12          subtract (float)\r
+0:12            component-wise multiply (float)\r
+0:12              direct index (float)\r
+0:12                'tex_coord' (smooth in 2-component vector of float)\r
+0:12                Constant:\r
+0:12                  1 (const int)\r
+0:12              Constant:\r
+0:12                2.000000\r
+0:12            Constant:\r
+0:12              1.000000\r
+0:14      Branch: Kill\r
+0:17      move second child to first child (4-component vector of float)\r
+0:17        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:17        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'tex_coord' (smooth in 2-component vector of float)\r
 \r
index ac66a63..f4c167b 100644 (file)
@@ -1,5 +1,4 @@
 array.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 ERROR: 0:21: '[' :  array index out of range '2'\r
 ERROR: 0:27: '[' :  array must be redeclared with a size before being indexed with a variable\r
 ERROR: 0:30: 'assign' :  cannot convert from '4-element array of float' to '5-element array of float'\r
@@ -17,7 +16,13 @@ ERROR: 0:58: '[]' : scalar integer expression required
 ERROR: 0:61: '' : array size required \r
 ERROR: 0:62: '' : array size required \r
 ERROR: 0:63: '' : array size required \r
-ERROR: 17 compilation errors.  No code generated.\r
+ERROR: 0:66: '=' :  cannot convert from '3-component vector of float' to 'float'\r
+ERROR: 0:76: 'bar' : no matching overloaded function found \r
+ERROR: 0:79: '' : array size required \r
+ERROR: 0:84: 'return' : function return is not matching type: \r
+ERROR: 0:93: 'length' :  array must be declared with a size before using this method\r
+ERROR: 0:101: '[' :  array index out of range '5'\r
+ERROR: 23 compilation errors.  No code generated.\r
 \r
 \r
 Shader version: 130\r
@@ -186,15 +191,321 @@ ERROR: node is still EOpNull!
 0:58              1 (const int)\r
 0:58        Constant:\r
 0:58          4 (const int)\r
+0:68  Function Definition: foo( (void)\r
+0:68    Function Parameters: \r
+0:?     Sequence\r
+0:71      move second child to first child (int)\r
+0:71        direct index (int)\r
+0:71          'uns' (implicitly-sized array of int)\r
+0:71          Constant:\r
+0:71            3 (const int)\r
+0:71        Constant:\r
+0:71          40 (const int)\r
+0:72      move second child to first child (int)\r
+0:72        direct index (int)\r
+0:72          'uns' (implicitly-sized array of int)\r
+0:72          Constant:\r
+0:72            1 (const int)\r
+0:72        Constant:\r
+0:72          30 (const int)\r
+0:73      move second child to first child (3-component vector of float)\r
+0:73        direct index (3-component vector of float)\r
+0:73          'guns' (implicitly-sized array of 3-component vector of float)\r
+0:73          Constant:\r
+0:73            2 (const int)\r
+0:73        Constant:\r
+0:73          2.400000\r
+0:73          2.400000\r
+0:73          2.400000\r
+0:76      Constant:\r
+0:76        0.000000\r
+0:79  Function Definition: foo2( (implicitly-sized array of float)\r
+0:79    Function Parameters: \r
+0:?     Sequence\r
+0:82      Branch: Return with expression\r
+0:82        'f' (implicitly-sized array of float)\r
+0:84      Branch: Return with expression\r
+0:84        'g' (9-element array of float)\r
+0:89  Function Definition: foo3( (void)\r
+0:89    Function Parameters: \r
+0:?     Sequence\r
+0:92      move second child to first child (float)\r
+0:92        direct index (float)\r
+0:92          'resize1' (3-element array of float)\r
+0:92          Constant:\r
+0:92            2 (const int)\r
+0:92        Constant:\r
+0:92          4.000000\r
+0:93      Constant:\r
+0:93        1 (const int)\r
+0:95      Constant:\r
+0:95        3 (const int)\r
+0:98      move second child to first child (float)\r
+0:98        direct index (float)\r
+0:98          'resize2' (5-element array of float)\r
+0:98          Constant:\r
+0:98            5 (const int)\r
+0:98        Constant:\r
+0:98          4.000000\r
+0:100      Constant:\r
+0:100        5 (const int)\r
+0:101      move second child to first child (float)\r
+0:101        direct index (float)\r
+0:101          'resize2' (5-element array of float)\r
+0:101          Constant:\r
+0:101            5 (const int)\r
+0:101        Constant:\r
+0:101          4.000000\r
 0:?   Linker Objects\r
 0:?     'gu' (implicitly-sized array of float)\r
 0:?     'g4' (4-element array of float)\r
 0:?     'g5' (5-element array of float)\r
 0:?     'a' (uniform int)\r
+0:?     'guns' (implicitly-sized array of 3-component vector of float)\r
+0:?     'f' (float)\r
+0:?     'gUnusedUnsized' (implicitly-sized array of float)\r
 \r
 \r
 Linked fragment stage:\r
 \r
 \r
 Shader version: 130\r
+ERROR: node is still EOpNull!\r
+0:9  Function Definition: foo(f1[5]; (4-element array of float)\r
+0:9    Function Parameters: \r
+0:9      'a' (in 5-element array of float)\r
+0:11    Sequence\r
+0:11      Branch: Return with expression\r
+0:11        Construct float (4-element array of float)\r
+0:11          direct index (float)\r
+0:11            'a' (in 5-element array of float)\r
+0:11            Constant:\r
+0:11              0 (const int)\r
+0:11          direct index (float)\r
+0:11            'a' (in 5-element array of float)\r
+0:11            Constant:\r
+0:11              1 (const int)\r
+0:11          direct index (float)\r
+0:11            'a' (in 5-element array of float)\r
+0:11            Constant:\r
+0:11              2 (const int)\r
+0:11          direct index (float)\r
+0:11            'a' (in 5-element array of float)\r
+0:11            Constant:\r
+0:11              3 (const int)\r
+0:14  Function Definition: bar(f1[5]; (void)\r
+0:14    Function Parameters: \r
+0:14      '' (in 5-element array of float)\r
+0:16  Function Definition: main( (void)\r
+0:16    Function Parameters: \r
+0:?     Sequence\r
+0:?       Sequence\r
+0:21        move second child to first child (float)\r
+0:21          direct index (float)\r
+0:21            'gu' (2-element array of float)\r
+0:21            Constant:\r
+0:21              2 (const int)\r
+0:21          Constant:\r
+0:21            4.000000\r
+0:24      move second child to first child (float)\r
+0:24        direct index (float)\r
+0:24          'gu' (4-element array of float)\r
+0:24          Constant:\r
+0:24            2 (const int)\r
+0:24        Constant:\r
+0:24          4.000000\r
+0:26      move second child to first child (float)\r
+0:26        direct index (float)\r
+0:26          'gu' (4-element array of float)\r
+0:26          Constant:\r
+0:26            3 (const int)\r
+0:26        Constant:\r
+0:26          3.000000\r
+0:27      move second child to first child (float)\r
+0:27        indirect index (float)\r
+0:27          'gu' (4-element array of float)\r
+0:27          'a' (uniform int)\r
+0:27        Constant:\r
+0:27          5.000000\r
+0:29      move second child to first child (4-element array of float)\r
+0:29        'g4' (4-element array of float)\r
+0:29        Function Call: foo(f1[5]; (4-element array of float)\r
+0:29          'g5' (5-element array of float)\r
+0:30      'g5' (5-element array of float)\r
+0:31      'gu' (4-element array of float)\r
+0:33      Constant:\r
+0:33        0.000000\r
+0:34      Function Call: bar(f1[5]; (void)\r
+0:34        'g5' (5-element array of float)\r
+0:36      Test condition and select (void)\r
+0:36        Condition\r
+0:36        Compare Equal (bool)\r
+0:36          Constant:\r
+0:36            1.000000\r
+0:36            2.000000\r
+0:36            3.000000\r
+0:36            4.000000\r
+0:36          'g4' (4-element array of float)\r
+0:36        true case\r
+0:37        move second child to first child (float)\r
+0:37          direct index (float)\r
+0:37            'gu' (4-element array of float)\r
+0:37            Constant:\r
+0:37              0 (const int)\r
+0:37          Constant:\r
+0:37            2.000000\r
+0:40      move second child to first child (float)\r
+0:40        direct index (float)\r
+0:40          'u' (5-element array of float)\r
+0:40          Constant:\r
+0:40            2 (const int)\r
+0:40        Constant:\r
+0:40          3.000000\r
+0:42      move second child to first child (float)\r
+0:42        direct index (float)\r
+0:42          'u' (5-element array of float)\r
+0:42          Constant:\r
+0:42            5 (const int)\r
+0:42        Constant:\r
+0:42          5.000000\r
+0:43      Function Call: foo(f1[5]; (4-element array of float)\r
+0:43        'u' (5-element array of float)\r
+0:45      move second child to first child (4-component vector of float)\r
+0:45        direct index (4-component vector of float)\r
+0:45          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:45          Constant:\r
+0:45            1000 (const int)\r
+0:45        Constant:\r
+0:45          1.000000\r
+0:45          1.000000\r
+0:45          1.000000\r
+0:45          1.000000\r
+0:46      move second child to first child (4-component vector of float)\r
+0:46        direct index (4-component vector of float)\r
+0:46          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:46          Constant:\r
+0:46            -1 (const int)\r
+0:46        Constant:\r
+0:46          1.000000\r
+0:46          1.000000\r
+0:46          1.000000\r
+0:46          1.000000\r
+0:47      move second child to first child (4-component vector of float)\r
+0:47        direct index (4-component vector of float)\r
+0:47          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:47          Constant:\r
+0:47            3 (const int)\r
+0:47        Constant:\r
+0:47          1.000000\r
+0:47          1.000000\r
+0:47          1.000000\r
+0:47          1.000000\r
+0:50      Sequence\r
+0:50        move second child to first child (int)\r
+0:50          'sum' (int)\r
+0:50          Constant:\r
+0:50            3 (const int)\r
+0:51      add second child into first child (int)\r
+0:51        'sum' (int)\r
+0:51        Constant:\r
+0:51          2 (const int)\r
+0:52      add second child into first child (int)\r
+0:52        'sum' (int)\r
+0:52        Constant:\r
+0:52          2 (const int)\r
+0:55      Sequence\r
+0:55        move second child to first child (2-element array of int)\r
+0:55          'ica' (2-element array of int)\r
+0:55          Constant:\r
+0:55            3 (const int)\r
+0:55            2 (const int)\r
+0:57      move second child to first child (int)\r
+0:57        direct index (int)\r
+0:57          'ica' (2-element array of int)\r
+0:57          Constant:\r
+0:57            3.100000\r
+0:57        Constant:\r
+0:57          3 (const int)\r
+0:58      move second child to first child (int)\r
+0:58        indirect index (int)\r
+0:58          'ica' (2-element array of int)\r
+0:58          direct index (float)\r
+0:58            'u' (5-element array of float)\r
+0:58            Constant:\r
+0:58              1 (const int)\r
+0:58        Constant:\r
+0:58          4 (const int)\r
+0:68  Function Definition: foo( (void)\r
+0:68    Function Parameters: \r
+0:?     Sequence\r
+0:71      move second child to first child (int)\r
+0:71        direct index (int)\r
+0:71          'uns' (4-element array of int)\r
+0:71          Constant:\r
+0:71            3 (const int)\r
+0:71        Constant:\r
+0:71          40 (const int)\r
+0:72      move second child to first child (int)\r
+0:72        direct index (int)\r
+0:72          'uns' (4-element array of int)\r
+0:72          Constant:\r
+0:72            1 (const int)\r
+0:72        Constant:\r
+0:72          30 (const int)\r
+0:73      move second child to first child (3-component vector of float)\r
+0:73        direct index (3-component vector of float)\r
+0:73          'guns' (8-element array of 3-component vector of float)\r
+0:73          Constant:\r
+0:73            2 (const int)\r
+0:73        Constant:\r
+0:73          2.400000\r
+0:73          2.400000\r
+0:73          2.400000\r
+0:76      Constant:\r
+0:76        0.000000\r
+0:79  Function Definition: foo2( (implicitly-sized array of float)\r
+0:79    Function Parameters: \r
+0:?     Sequence\r
+0:82      Branch: Return with expression\r
+0:82        'f' (1-element array of float)\r
+0:84      Branch: Return with expression\r
+0:84        'g' (9-element array of float)\r
+0:89  Function Definition: foo3( (void)\r
+0:89    Function Parameters: \r
+0:?     Sequence\r
+0:92      move second child to first child (float)\r
+0:92        direct index (float)\r
+0:92          'resize1' (3-element array of float)\r
+0:92          Constant:\r
+0:92            2 (const int)\r
+0:92        Constant:\r
+0:92          4.000000\r
+0:93      Constant:\r
+0:93        1 (const int)\r
+0:95      Constant:\r
+0:95        3 (const int)\r
+0:98      move second child to first child (float)\r
+0:98        direct index (float)\r
+0:98          'resize2' (5-element array of float)\r
+0:98          Constant:\r
+0:98            5 (const int)\r
+0:98        Constant:\r
+0:98          4.000000\r
+0:100      Constant:\r
+0:100        5 (const int)\r
+0:101      move second child to first child (float)\r
+0:101        direct index (float)\r
+0:101          'resize2' (5-element array of float)\r
+0:101          Constant:\r
+0:101            5 (const int)\r
+0:101        Constant:\r
+0:101          4.000000\r
+0:?   Linker Objects\r
+0:?     'gu' (4-element array of float)\r
+0:?     'g4' (4-element array of float)\r
+0:?     'g5' (5-element array of float)\r
+0:?     'a' (uniform int)\r
+0:?     'guns' (8-element array of 3-component vector of float)\r
+0:?     'f' (float)\r
+0:?     'gUnusedUnsized' (1-element array of float)\r
 \r
index 7a5996d..cc31468 100644 (file)
@@ -162,4 +162,135 @@ Linked fragment stage:
 \r
 \r
 Shader version: 100\r
+ERROR: node is still EOpNull!\r
+0:9  Function Definition: foo(f1[5]; (4-element array of mediump float)\r
+0:9    Function Parameters: \r
+0:9      'a' (in 5-element array of mediump float)\r
+0:11    Sequence\r
+0:11      Branch: Return with expression\r
+0:11        Construct float (4-element array of float)\r
+0:11          direct index (mediump float)\r
+0:11            'a' (in 5-element array of mediump float)\r
+0:11            Constant:\r
+0:11              0 (const int)\r
+0:11          direct index (mediump float)\r
+0:11            'a' (in 5-element array of mediump float)\r
+0:11            Constant:\r
+0:11              1 (const int)\r
+0:11          direct index (mediump float)\r
+0:11            'a' (in 5-element array of mediump float)\r
+0:11            Constant:\r
+0:11              2 (const int)\r
+0:11          direct index (mediump float)\r
+0:11            'a' (in 5-element array of mediump float)\r
+0:11            Constant:\r
+0:11              3 (const int)\r
+0:14  Function Definition: bar(f1[5]; (void)\r
+0:14    Function Parameters: \r
+0:14      '' (in 5-element array of mediump float)\r
+0:16  Function Definition: main( (void)\r
+0:16    Function Parameters: \r
+0:?     Sequence\r
+0:?       Sequence\r
+0:21        move second child to first child (mediump float)\r
+0:21          direct index (mediump float)\r
+0:21            'gu' (2-element array of mediump float)\r
+0:21            Constant:\r
+0:21              2 (const int)\r
+0:21          Constant:\r
+0:21            4.000000\r
+0:24      move second child to first child (4-element array of mediump float)\r
+0:24        'g4' (4-element array of mediump float)\r
+0:24        Function Call: foo(f1[5]; (4-element array of mediump float)\r
+0:24          'g5' (5-element array of mediump float)\r
+0:25      'g5' (5-element array of mediump float)\r
+0:26      'gu' (1-element array of mediump float)\r
+0:28      Constant:\r
+0:28        0.000000\r
+0:29      Function Call: bar(f1[5]; (void)\r
+0:29        'g5' (5-element array of mediump float)\r
+0:31      Test condition and select (void)\r
+0:31        Condition\r
+0:31        Compare Equal (bool)\r
+0:31          Constant:\r
+0:31            1.000000\r
+0:31            2.000000\r
+0:31            3.000000\r
+0:31            4.000000\r
+0:31          'g4' (4-element array of mediump float)\r
+0:31        true case\r
+0:32        move second child to first child (mediump float)\r
+0:32          direct index (mediump float)\r
+0:32            'gu' (1-element array of mediump float)\r
+0:32            Constant:\r
+0:32              0 (const int)\r
+0:32          Constant:\r
+0:32            2.000000\r
+0:35      move second child to first child (mediump float)\r
+0:35        direct index (mediump float)\r
+0:35          'u' (5-element array of mediump float)\r
+0:35          Constant:\r
+0:35            5 (const int)\r
+0:35        Constant:\r
+0:35          5.000000\r
+0:36      Function Call: foo(f1[5]; (4-element array of mediump float)\r
+0:36        'u' (5-element array of mediump float)\r
+0:38      move second child to first child (mediump 4-component vector of float)\r
+0:38        direct index (mediump 4-component vector of float)\r
+0:38          'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float)\r
+0:38          Constant:\r
+0:38            1000 (const int)\r
+0:38        Constant:\r
+0:38          1.000000\r
+0:38          1.000000\r
+0:38          1.000000\r
+0:38          1.000000\r
+0:39      move second child to first child (mediump 4-component vector of float)\r
+0:39        direct index (mediump 4-component vector of float)\r
+0:39          'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float)\r
+0:39          Constant:\r
+0:39            -1 (const int)\r
+0:39        Constant:\r
+0:39          1.000000\r
+0:39          1.000000\r
+0:39          1.000000\r
+0:39          1.000000\r
+0:40      move second child to first child (mediump 4-component vector of float)\r
+0:40        direct index (mediump 4-component vector of float)\r
+0:40          'gl_FragData' (fragColor 32-element array of mediump 4-component vector of float)\r
+0:40          Constant:\r
+0:40            3 (const int)\r
+0:40        Constant:\r
+0:40          1.000000\r
+0:40          1.000000\r
+0:40          1.000000\r
+0:40          1.000000\r
+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})\r
+0:53    Function Parameters: \r
+0:?     Sequence\r
+0:56      Branch: Return with expression\r
+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})\r
+0:59  Function Definition: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (void)\r
+0:59    Function Parameters: \r
+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})\r
+0:63  Function Definition: bar11( (void)\r
+0:63    Function Parameters: \r
+0:?     Sequence\r
+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})\r
+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})\r
+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})\r
+0:67      Function Call: bar10(struct-SB-vf4-struct-SA-vf3-vf2[4]11; (void)\r
+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})\r
+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})\r
+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})\r
+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})\r
+0:69      Sequence\r
+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})\r
+0:69          'initSb' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa})\r
+0:69          's1' (structure{mediump 4-component vector of float v4, structure{mediump 3-component vector of float v3, 4-element array of mediump 2-component vector of float v2} sa})\r
+0:?   Linker Objects\r
+0:?     'gu' (1-element array of mediump float)\r
+0:?     'g4' (4-element array of mediump float)\r
+0:?     'g5' (5-element array of mediump float)\r
+0:?     'a' (uniform mediump int)\r
 \r
index 4a9247d..3c8de13 100644 (file)
@@ -1,5 +1,5 @@
 comment.frag\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 WARNING: 0:10: 'line continuation' : used at end of comment; the following line is still part of the comment \r
 WARNING: 0:12: 'line continuation' : used at end of comment; the following line is still part of the comment \r
 \r
@@ -15,4 +15,9 @@ Linked fragment stage:
 \r
 \r
 Shader version: 430\r
+0:? Sequence\r
+0:17  Function Definition: main( (void)\r
+0:17    Function Parameters: \r
+0:?   Linker Objects\r
+0:?     'v' (smooth in 4-component vector of float)\r
 \r
index 0bdc74c..50197c8 100644 (file)
@@ -34,4 +34,31 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:6  Function Definition: main( (void)\r
+0:6    Function Parameters: \r
+0:8    Sequence\r
+0:8      Sequence\r
+0:8        move second child to first child (4-component vector of float)\r
+0:8          'v' (4-component vector of float)\r
+0:8          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:8            'tex' (uniform sampler2D)\r
+0:8            'coord' (smooth in 2-component vector of float)\r
+0:10      Test condition and select (void)\r
+0:10        Condition\r
+0:10        Compare Equal (bool)\r
+0:10          'v' (4-component vector of float)\r
+0:10          Constant:\r
+0:10            0.100000\r
+0:10            0.200000\r
+0:10            0.300000\r
+0:10            0.400000\r
+0:10        true case\r
+0:11        Branch: Kill\r
+0:13      move second child to first child (4-component vector of float)\r
+0:13        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:13        'v' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'tex' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
 \r
index de219e5..461bede 100644 (file)
@@ -1,5 +1,5 @@
 constErrors.frag\r
-Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 330 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:14: 'non-constant initializer' : not supported for this version or the enabled extensions \r
 ERROR: 0:17: '' : constant expression required \r
 ERROR: 0:17: '' : array size must be a constant integer expression \r
@@ -37,4 +37,22 @@ Linked fragment stage:
 \r
 \r
 Shader version: 330\r
+ERROR: node is still EOpNull!\r
+0:10  Function Definition: main( (void)\r
+0:10    Function Parameters: \r
+0:?     Sequence\r
+0:14      Sequence\r
+0:14        move second child to first child (int)\r
+0:14          'a3' (const (read only) int)\r
+0:14          'uniformInt' (uniform int)\r
+0:?   Linker Objects\r
+0:?     'inVar' (smooth in 4-component vector of float)\r
+0:?     'outVar' (out 4-component vector of float)\r
+0:?     'constInt' (const int)\r
+0:?       3 (const int)\r
+0:?     'uniformInt' (uniform int)\r
+0:?     's' (structure{3-component vector of float v3, 2-component vector of int iv2})\r
+0:?     's2' (structure{3-component vector of float v3, 2-component vector of int iv2, 2X4 matrix of float m})\r
+0:?     'f' (const float)\r
+0:?       3.000000\r
 \r
index 84c2661..12a94fc 100644 (file)
@@ -1,5 +1,5 @@
 constFold.frag\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:109: '[' :  index out of range '-1'\r
 ERROR: 0:110: '[' :  vector index out of range '4'\r
 ERROR: 0:111: '[' :  index out of range '-2'\r
@@ -311,4 +311,299 @@ Linked fragment stage:
 \r
 \r
 Shader version: 430\r
+ERROR: node is still EOpNull!\r
+0:28  Function Definition: main( (void)\r
+0:28    Function Parameters: \r
+0:30    Sequence\r
+0:30      Sequence\r
+0:30        move second child to first child (4-component vector of float)\r
+0:30          'dx' (4-component vector of float)\r
+0:30          dPdx (4-component vector of float)\r
+0:30            'inv' (smooth in 4-component vector of float)\r
+0:37      move second child to first child (4-component vector of float)\r
+0:37        'FragColor' (out 4-component vector of float)\r
+0:37        Constant:\r
+0:37          2.000000\r
+0:37          6.000000\r
+0:37          3.000000\r
+0:37          171.887339\r
+0:42      move second child to first child (4-component vector of float)\r
+0:42        'FragColor' (out 4-component vector of float)\r
+0:42        Constant:\r
+0:42          3.000000\r
+0:42          2.000000\r
+0:42          0.001593\r
+0:42          -0.999999\r
+0:43      move second child to first child (2-component vector of float)\r
+0:43        'out2' (out 2-component vector of float)\r
+0:43        Constant:\r
+0:43          5.600000\r
+0:43          5.800000\r
+0:44      move second child to first child (4-component vector of float)\r
+0:44        'out3' (out 4-component vector of float)\r
+0:44        Constant:\r
+0:44          20.085537\r
+0:44          2.302585\r
+0:44          16.000000\r
+0:44          8.000000\r
+0:45      move second child to first child (4-component vector of float)\r
+0:45        'out4' (out 4-component vector of float)\r
+0:45        Constant:\r
+0:45          10.000000\r
+0:45          0.100000\r
+0:45          4.700000\r
+0:45          10.900000\r
+0:46      move second child to first child (4-component vector of int)\r
+0:46        'out5' (out 4-component vector of int)\r
+0:46        Constant:\r
+0:46          8 (const int)\r
+0:46          17 (const int)\r
+0:46          -1 (const int)\r
+0:46          1 (const int)\r
+0:47      move second child to first child (3-component vector of float)\r
+0:47        'out6' (out 3-component vector of float)\r
+0:47        Constant:\r
+0:47          -1.000000\r
+0:47          1.000000\r
+0:47          0.000000\r
+0:48      move second child to first child (4-component vector of float)\r
+0:48        'out7' (out 4-component vector of float)\r
+0:48        Constant:\r
+0:48          4.000000\r
+0:48          -4.000000\r
+0:48          5.000000\r
+0:48          -5.000000\r
+0:49      move second child to first child (4-component vector of float)\r
+0:49        'out8' (out 4-component vector of float)\r
+0:49        Constant:\r
+0:49          4.000000\r
+0:49          5.000000\r
+0:49          4.000000\r
+0:49          -6.000000\r
+0:50      move second child to first child (4-component vector of float)\r
+0:50        'out9' (out 4-component vector of float)\r
+0:50        Constant:\r
+0:50          8.000000\r
+0:50          -4.000000\r
+0:50          0.345000\r
+0:50          0.400000\r
+0:51      move second child to first child (4-component vector of float)\r
+0:51        'out10' (out 4-component vector of float)\r
+0:51        Constant:\r
+0:51          1.000000\r
+0:51          1.000000\r
+0:51          0.000000\r
+0:51          0.000000\r
+0:52      move second child to first child (4-component vector of float)\r
+0:52        'out11' (out 4-component vector of float)\r
+0:52        Constant:\r
+0:52          0.000000\r
+0:52          0.000000\r
+0:52          1.000000\r
+0:52          0.000000\r
+0:53      move second child to first child (4-component vector of float)\r
+0:53        'out11' (out 4-component vector of float)\r
+0:53        Constant:\r
+0:53          1.029639\r
+0:53          0.799690\r
+0:53          0.674741\r
+0:53          1.570696\r
+0:54      move second child to first child (4-component vector of float)\r
+0:54        'out11' (out 4-component vector of float)\r
+0:54        Constant:\r
+0:54          0.000000\r
+0:54          0.523599\r
+0:54          1.570796\r
+0:54          1.047198\r
+0:58      move second child to first child (4-component vector of float)\r
+0:58        'out11' (out 4-component vector of float)\r
+0:58        Constant:\r
+0:58          1.373401\r
+0:58          0.000000\r
+0:58          0.896055\r
+0:58          -0.380506\r
+0:62      move second child to first child (2-component vector of int)\r
+0:62        'out12' (out 2-component vector of int)\r
+0:62        Constant:\r
+0:62          15 (const int)\r
+0:62          16 (const int)\r
+0:63      move second child to first child (2-component vector of int)\r
+0:63        'out12' (out 2-component vector of int)\r
+0:63        Constant:\r
+0:63          17 (const int)\r
+0:63          17 (const int)\r
+0:64      move second child to first child (2-component vector of float)\r
+0:64        'out2' (out 2-component vector of float)\r
+0:64        Constant:\r
+0:64          871.421253\r
+0:64          4913.000000\r
+0:65      move second child to first child (3-component vector of uint)\r
+0:65        'out13' (out 3-component vector of uint)\r
+0:65        Constant:\r
+0:65          10 (const uint)\r
+0:65          20 (const uint)\r
+0:65          30 (const uint)\r
+0:66      move second child to first child (2-component vector of float)\r
+0:66        'out2' (out 2-component vector of float)\r
+0:66        Constant:\r
+0:66          3.000000\r
+0:66          6.000000\r
+0:67      move second child to first child (2-component vector of float)\r
+0:67        'out2' (out 2-component vector of float)\r
+0:67        Constant:\r
+0:67          3.500000\r
+0:67          4.500000\r
+0:68      move second child to first child (2-component vector of float)\r
+0:68        'out2' (out 2-component vector of float)\r
+0:68        Constant:\r
+0:68          0.000000\r
+0:68          1.000000\r
+0:69      move second child to first child (4-component vector of float)\r
+0:69        'out11' (out 4-component vector of float)\r
+0:69        Constant:\r
+0:69          0.000000\r
+0:69          0.028000\r
+0:69          0.500000\r
+0:69          1.000000\r
+0:78  Function Definition: foo( (void)\r
+0:78    Function Parameters: \r
+0:?     Sequence\r
+0:81      move second child to first child (float)\r
+0:81        direct index (float)\r
+0:81          'a' (3-element array of float)\r
+0:81          Constant:\r
+0:81            0 (const int)\r
+0:81        Constant:\r
+0:81          7.000000\r
+0:82      Constant:\r
+0:82        2 (const int)\r
+0:83      Constant:\r
+0:83        2147483647 (const int)\r
+0:84      Constant:\r
+0:84        1.#INF00\r
+0:88      Constant:\r
+0:88        2 (const uint)\r
+0:88        3 (const uint)\r
+0:89      Constant:\r
+0:89        0 (const uint)\r
+0:90      Constant:\r
+0:90        6 (const uint)\r
+0:90        7 (const uint)\r
+0:103  Function Definition: foo2( (void)\r
+0:103    Function Parameters: \r
+0:105    Sequence\r
+0:105      direct index (float)\r
+0:105        'a1' (1-element array of float)\r
+0:105        Constant:\r
+0:105          0 (const int)\r
+0:106      direct index (float)\r
+0:106        'a2' (2-element array of float)\r
+0:106        Constant:\r
+0:106          0 (const int)\r
+0:107      direct index (float)\r
+0:107        'a3' (4-element array of float)\r
+0:107        Constant:\r
+0:107          0 (const int)\r
+0:108      direct index (float)\r
+0:108        'a4' (2-element array of float)\r
+0:108        Constant:\r
+0:108          0 (const int)\r
+0:109      Constant:\r
+0:109        1.000000\r
+0:110      Constant:\r
+0:110        5.000000\r
+0:111      Constant:\r
+0:111        2.000000\r
+0:112      Constant:\r
+0:112        3.000000\r
+0:113      Constant:\r
+0:113        0.000000\r
+0:114      Constant:\r
+0:114        0.000000\r
+0:116      move second child to first child (int)\r
+0:116        'p' (int)\r
+0:116        Constant:\r
+0:116          2147483647 (const int)\r
+0:117      move second child to first child (int)\r
+0:117        'p' (int)\r
+0:117        Constant:\r
+0:117          -2147483648 (const int)\r
+0:118      move second child to first child (int)\r
+0:118        'p' (int)\r
+0:118        Constant:\r
+0:118          -2147483647 (const int)\r
+0:?   Linker Objects\r
+0:?     'a' (const int)\r
+0:?       1 (const int)\r
+0:?     'b' (const int)\r
+0:?       2 (const int)\r
+0:?     'c' (const int)\r
+0:?       3 (const int)\r
+0:?     'd' (const int)\r
+0:?       2 (const int)\r
+0:?     'e' (const float)\r
+0:?       2.000000\r
+0:?     'f' (const float)\r
+0:?       6.000000\r
+0:?     'g' (const float)\r
+0:?       3.000000\r
+0:?     'pytho' (const 2-component vector of float)\r
+0:?       3.000000\r
+0:?       4.000000\r
+0:?     'inv' (smooth in 4-component vector of float)\r
+0:?     'FragColor' (out 4-component vector of float)\r
+0:?     'out2' (out 2-component vector of float)\r
+0:?     'out3' (out 4-component vector of float)\r
+0:?     'out4' (out 4-component vector of float)\r
+0:?     'out5' (out 4-component vector of int)\r
+0:?     'out6' (out 3-component vector of float)\r
+0:?     'out7' (out 4-component vector of float)\r
+0:?     'out8' (out 4-component vector of float)\r
+0:?     'out9' (out 4-component vector of float)\r
+0:?     'out10' (out 4-component vector of float)\r
+0:?     'out11' (out 4-component vector of float)\r
+0:?     'out12' (out 2-component vector of int)\r
+0:?     'out13' (out 3-component vector of uint)\r
+0:?     's' (const structure{3-component vector of float v3, 2-component vector of int iv2, 2X4 matrix of float m})\r
+0:?       3.000000\r
+0:?       3.000000\r
+0:?       3.000000\r
+0:?       3 (const int)\r
+0:?       3 (const int)\r
+0:?       1.000000\r
+0:?       2.000000\r
+0:?       3.000000\r
+0:?       4.000000\r
+0:?       5.000000\r
+0:?       6.000000\r
+0:?       7.000000\r
+0:?       8.000000\r
+0:?     'm2' (const 2X2 matrix of float)\r
+0:?       2.000000\r
+0:?       3.000000\r
+0:?       4.000000\r
+0:?       5.000000\r
+0:?     'm3' (const 3X3 matrix of float)\r
+0:?       2.000000\r
+0:?       3.000000\r
+0:?       0.000000\r
+0:?       4.000000\r
+0:?       5.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?       1.000000\r
+0:?     'mc' (const int)\r
+0:?       1 (const int)\r
+0:?     'a1' (1-element array of float)\r
+0:?     'a2' (2-element array of float)\r
+0:?     'a3' (4-element array of float)\r
+0:?     'v2' (const 2-component vector of float)\r
+0:?       1.000000\r
+0:?       2.000000\r
+0:?     'v3' (const 3-component vector of float)\r
+0:?       3.000000\r
+0:?       4.000000\r
+0:?       5.000000\r
+0:?     'a4' (2-element array of float)\r
 \r
index f2a4291..7320a1f 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/conversion.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 130\r
 0:? Sequence\r
@@ -481,4 +480,477 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:33  Function Definition: main( (void)\r
+0:33    Function Parameters: \r
+0:35    Sequence\r
+0:35      Sequence\r
+0:35        move second child to first child (bool)\r
+0:35          'b' (bool)\r
+0:35          logical-xor (bool)\r
+0:35            Convert int to bool (bool)\r
+0:35              'u_i' (uniform int)\r
+0:35            Convert float to bool (bool)\r
+0:35              'u_f' (uniform float)\r
+0:36      Sequence\r
+0:36        move second child to first child (2-component vector of bool)\r
+0:36          'b2' (2-component vector of bool)\r
+0:36          Construct bvec2 (2-component vector of bool)\r
+0:36            Convert int to bool (bool)\r
+0:36              'u_i' (uniform int)\r
+0:36            Convert float to bool (bool)\r
+0:36              'u_f' (uniform float)\r
+0:37      Sequence\r
+0:37        move second child to first child (3-component vector of bool)\r
+0:37          'b3' (3-component vector of bool)\r
+0:37          Construct bvec3 (3-component vector of bool)\r
+0:37            Convert int to bool (bool)\r
+0:37              'u_i' (uniform int)\r
+0:37            Convert float to bool (bool)\r
+0:37              'u_f' (uniform float)\r
+0:37            Convert int to bool (bool)\r
+0:37              'i_i' (flat in int)\r
+0:38      Sequence\r
+0:38        move second child to first child (4-component vector of bool)\r
+0:38          'b4' (4-component vector of bool)\r
+0:38          Construct bvec4 (4-component vector of bool)\r
+0:38            Convert int to bool (bool)\r
+0:38              'u_i' (uniform int)\r
+0:38            Convert float to bool (bool)\r
+0:38              'u_f' (uniform float)\r
+0:38            Convert int to bool (bool)\r
+0:38              'i_i' (flat in int)\r
+0:38            Convert float to bool (bool)\r
+0:38              'i_f' (smooth in float)\r
+0:40      Sequence\r
+0:40        move second child to first child (int)\r
+0:40          'i' (int)\r
+0:40          add (int)\r
+0:40            Convert float to int (int)\r
+0:40              'u_f' (uniform float)\r
+0:40            Convert bool to int (int)\r
+0:40              'b' (bool)\r
+0:41      Sequence\r
+0:41        move second child to first child (2-component vector of int)\r
+0:41          'i2' (2-component vector of int)\r
+0:41          add (2-component vector of int)\r
+0:41            Convert float to int (2-component vector of int)\r
+0:41              'u_f2' (uniform 2-component vector of float)\r
+0:41            Convert bool to int (2-component vector of int)\r
+0:41              'b2' (2-component vector of bool)\r
+0:42      Sequence\r
+0:42        move second child to first child (3-component vector of int)\r
+0:42          'i3' (3-component vector of int)\r
+0:42          add (3-component vector of int)\r
+0:42            Convert float to int (3-component vector of int)\r
+0:42              'u_f3' (uniform 3-component vector of float)\r
+0:42            Convert bool to int (3-component vector of int)\r
+0:42              'b3' (3-component vector of bool)\r
+0:43      Sequence\r
+0:43        move second child to first child (4-component vector of int)\r
+0:43          'i4' (4-component vector of int)\r
+0:43          add (4-component vector of int)\r
+0:43            Convert float to int (4-component vector of int)\r
+0:43              'u_f4' (uniform 4-component vector of float)\r
+0:43            Convert bool to int (4-component vector of int)\r
+0:43              'b4' (4-component vector of bool)\r
+0:45      Sequence\r
+0:45        move second child to first child (float)\r
+0:45          'f' (float)\r
+0:45          Convert int to float (float)\r
+0:45            'i' (int)\r
+0:46      Sequence\r
+0:46        move second child to first child (2-component vector of float)\r
+0:46          'f2' (2-component vector of float)\r
+0:46          Convert int to float (2-component vector of float)\r
+0:46            'i2' (2-component vector of int)\r
+0:47      Sequence\r
+0:47        move second child to first child (3-component vector of float)\r
+0:47          'f3' (3-component vector of float)\r
+0:47          Convert int to float (3-component vector of float)\r
+0:47            'i3' (3-component vector of int)\r
+0:48      Sequence\r
+0:48        move second child to first child (4-component vector of float)\r
+0:48          'f4' (4-component vector of float)\r
+0:48          Convert int to float (4-component vector of float)\r
+0:48            'i4' (4-component vector of int)\r
+0:50      add second child into first child (float)\r
+0:50        'f' (float)\r
+0:50        add (float)\r
+0:50          Convert int to float (float)\r
+0:50            'i' (int)\r
+0:50          Convert bool to float (float)\r
+0:50            'b' (bool)\r
+0:51      subtract second child into first child (2-component vector of float)\r
+0:51        'f2' (2-component vector of float)\r
+0:51        add (2-component vector of float)\r
+0:51          Convert int to float (2-component vector of float)\r
+0:51            'i2' (2-component vector of int)\r
+0:51          Convert bool to float (2-component vector of float)\r
+0:51            'b2' (2-component vector of bool)\r
+0:52      divide second child into first child (3-component vector of float)\r
+0:52        'f3' (3-component vector of float)\r
+0:52        add (3-component vector of float)\r
+0:52          Convert int to float (3-component vector of float)\r
+0:52            'i3' (3-component vector of int)\r
+0:52          Convert bool to float (3-component vector of float)\r
+0:52            'b3' (3-component vector of bool)\r
+0:53      add second child into first child (4-component vector of float)\r
+0:53        'f4' (4-component vector of float)\r
+0:53        add (4-component vector of float)\r
+0:53          Convert int to float (4-component vector of float)\r
+0:53            'i4' (4-component vector of int)\r
+0:53          Convert bool to float (4-component vector of float)\r
+0:53            'b4' (4-component vector of bool)\r
+0:55      add second child into first child (4-component vector of float)\r
+0:55        'f4' (4-component vector of float)\r
+0:55        Convert bool to float (4-component vector of float)\r
+0:55          Convert int to bool (4-component vector of bool)\r
+0:55            'i_i4' (flat in 4-component vector of int)\r
+0:56      add second child into first child (4-component vector of float)\r
+0:56        'f4' (4-component vector of float)\r
+0:56        Convert bool to float (4-component vector of float)\r
+0:56          Convert float to bool (4-component vector of bool)\r
+0:56            'u_f4' (uniform 4-component vector of float)\r
+0:58      add second child into first child (float)\r
+0:58        'f' (float)\r
+0:58        subtract (float)\r
+0:58          'f' (float)\r
+0:58          Convert int to float (float)\r
+0:58            'i' (int)\r
+0:59      add second child into first child (2-component vector of float)\r
+0:59        'f2' (2-component vector of float)\r
+0:59        add (2-component vector of float)\r
+0:59          Construct vec2 (2-component vector of float)\r
+0:59            'f' (float)\r
+0:59            Convert int to float (float)\r
+0:59              'i' (int)\r
+0:59          Convert int to float (2-component vector of float)\r
+0:59            'i2' (2-component vector of int)\r
+0:60      add second child into first child (3-component vector of float)\r
+0:60        'f3' (3-component vector of float)\r
+0:60        add (3-component vector of float)\r
+0:60          Convert int to float (3-component vector of float)\r
+0:60            'i3' (3-component vector of int)\r
+0:60          Construct vec3 (3-component vector of float)\r
+0:60            'f' (float)\r
+0:60            Convert int to float (float)\r
+0:60              'i' (int)\r
+0:60            'f' (float)\r
+0:61      add second child into first child (4-component vector of float)\r
+0:61        'f4' (4-component vector of float)\r
+0:61        add (4-component vector of float)\r
+0:61          Construct vec4 (4-component vector of float)\r
+0:61            Convert bool to float (float)\r
+0:61              'b' (bool)\r
+0:61            Convert int to float (float)\r
+0:61              'i' (int)\r
+0:61            'f' (float)\r
+0:61            Convert int to float (float)\r
+0:61              'i' (int)\r
+0:61          Convert int to float (4-component vector of float)\r
+0:61            'i4' (4-component vector of int)\r
+0:63      add second child into first child (2-component vector of float)\r
+0:63        'f2' (2-component vector of float)\r
+0:63        vector-scale (2-component vector of float)\r
+0:63          Construct vec2 (2-component vector of float)\r
+0:63            'f' (float)\r
+0:63            Convert int to float (float)\r
+0:63              'i' (int)\r
+0:63          Convert int to float (float)\r
+0:63            'i' (int)\r
+0:64      add second child into first child (3-component vector of float)\r
+0:64        'f3' (3-component vector of float)\r
+0:64        add (3-component vector of float)\r
+0:64          Construct vec3 (3-component vector of float)\r
+0:64            'f' (float)\r
+0:64            Convert int to float (float)\r
+0:64              'i' (int)\r
+0:64            'f' (float)\r
+0:64          Convert int to float (float)\r
+0:64            'i' (int)\r
+0:65      add second child into first child (4-component vector of float)\r
+0:65        'f4' (4-component vector of float)\r
+0:65        subtract (4-component vector of float)\r
+0:65          Convert int to float (float)\r
+0:65            'i' (int)\r
+0:65          Construct vec4 (4-component vector of float)\r
+0:65            Convert bool to float (float)\r
+0:65              'b' (bool)\r
+0:65            Convert int to float (float)\r
+0:65              'i' (int)\r
+0:65            'f' (float)\r
+0:65            Convert int to float (float)\r
+0:65              'i' (int)\r
+0:67      add second child into first child (2-component vector of int)\r
+0:67        'i2' (2-component vector of int)\r
+0:67        Construct ivec2 (2-component vector of int)\r
+0:67          Convert float to int (int)\r
+0:67            'f' (float)\r
+0:67          'i' (int)\r
+0:68      add second child into first child (3-component vector of int)\r
+0:68        'i3' (3-component vector of int)\r
+0:68        Construct ivec3 (3-component vector of int)\r
+0:68          Convert float to int (int)\r
+0:68            'f' (float)\r
+0:68          'i' (int)\r
+0:68          Convert float to int (int)\r
+0:68            'f' (float)\r
+0:69      add second child into first child (4-component vector of int)\r
+0:69        'i4' (4-component vector of int)\r
+0:69        Construct ivec4 (4-component vector of int)\r
+0:69          Convert bool to int (int)\r
+0:69            'b' (bool)\r
+0:69          'i' (int)\r
+0:69          Convert float to int (int)\r
+0:69            'f' (float)\r
+0:69          'i' (int)\r
+0:71      Test condition and select (void)\r
+0:71        Condition\r
+0:72        logical-or (bool)\r
+0:71          logical-or (bool)\r
+0:71            logical-or (bool)\r
+0:71              Compare Less Than (bool)\r
+0:71                'f' (float)\r
+0:71                Convert int to float (float)\r
+0:71                  'i' (int)\r
+0:71              Compare Less Than (bool)\r
+0:71                Convert int to float (float)\r
+0:71                  'i' (int)\r
+0:71                'f' (float)\r
+0:72            Compare Equal (bool)\r
+0:72              'f2' (2-component vector of float)\r
+0:72              Convert int to float (2-component vector of float)\r
+0:72                'i2' (2-component vector of int)\r
+0:73          Compare Not Equal (bool)\r
+0:73            Convert int to float (3-component vector of float)\r
+0:73              'i3' (3-component vector of int)\r
+0:73            'f3' (3-component vector of float)\r
+0:71        true case\r
+0:74        move second child to first child (float)\r
+0:74          'f' (float)\r
+0:74          add (float)\r
+0:74            Test condition and select (float)\r
+0:74              Condition\r
+0:74              'b' (bool)\r
+0:74              true case\r
+0:74              Convert int to float (float)\r
+0:74                'i' (int)\r
+0:74              false case\r
+0:74              direct index (float)\r
+0:74                'f2' (2-component vector of float)\r
+0:74                Constant:\r
+0:74                  0 (const int)\r
+0:74            Test condition and select (float)\r
+0:74              Condition\r
+0:74              direct index (bool)\r
+0:74                'b2' (2-component vector of bool)\r
+0:74                Constant:\r
+0:74                  0 (const int)\r
+0:74              true case\r
+0:74              direct index (float)\r
+0:74                'f3' (3-component vector of float)\r
+0:74                Constant:\r
+0:74                  0 (const int)\r
+0:74              false case\r
+0:74              Convert int to float (float)\r
+0:74                direct index (int)\r
+0:74                  'i2' (2-component vector of int)\r
+0:74                  Constant:\r
+0:74                    1 (const int)\r
+0:76      move second child to first child (4-component vector of float)\r
+0:76        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:86        Test condition and select (4-component vector of float)\r
+0:86          Condition\r
+0:85          logical-or (bool)\r
+0:84            logical-or (bool)\r
+0:83              logical-or (bool)\r
+0:82                logical-or (bool)\r
+0:81                  logical-or (bool)\r
+0:80                    logical-or (bool)\r
+0:79                      logical-or (bool)\r
+0:78                        logical-or (bool)\r
+0:77                          logical-or (bool)\r
+0:77                            'b' (bool)\r
+0:78                            direct index (bool)\r
+0:78                              'b2' (2-component vector of bool)\r
+0:78                              Constant:\r
+0:78                                0 (const int)\r
+0:79                          direct index (bool)\r
+0:79                            'b2' (2-component vector of bool)\r
+0:79                            Constant:\r
+0:79                              1 (const int)\r
+0:80                        direct index (bool)\r
+0:80                          'b3' (3-component vector of bool)\r
+0:80                          Constant:\r
+0:80                            0 (const int)\r
+0:81                      direct index (bool)\r
+0:81                        'b3' (3-component vector of bool)\r
+0:81                        Constant:\r
+0:81                          1 (const int)\r
+0:82                    direct index (bool)\r
+0:82                      'b3' (3-component vector of bool)\r
+0:82                      Constant:\r
+0:82                        2 (const int)\r
+0:83                  direct index (bool)\r
+0:83                    'b4' (4-component vector of bool)\r
+0:83                    Constant:\r
+0:83                      0 (const int)\r
+0:84                direct index (bool)\r
+0:84                  'b4' (4-component vector of bool)\r
+0:84                  Constant:\r
+0:84                    1 (const int)\r
+0:85              direct index (bool)\r
+0:85                'b4' (4-component vector of bool)\r
+0:85                Constant:\r
+0:85                  2 (const int)\r
+0:86            direct index (bool)\r
+0:86              'b4' (4-component vector of bool)\r
+0:86              Constant:\r
+0:86                3 (const int)\r
+0:86          true case\r
+0:105          Construct vec4 (4-component vector of float)\r
+0:105            add (float)\r
+0:104              add (float)\r
+0:103                add (float)\r
+0:102                  add (float)\r
+0:101                    add (float)\r
+0:100                      add (float)\r
+0:99                        add (float)\r
+0:98                          add (float)\r
+0:97                            add (float)\r
+0:96                              add (float)\r
+0:95                                Convert int to float (float)\r
+0:95                                  add (int)\r
+0:94                                    add (int)\r
+0:93                                      add (int)\r
+0:92                                        add (int)\r
+0:91                                          add (int)\r
+0:90                                            add (int)\r
+0:89                                              add (int)\r
+0:88                                                add (int)\r
+0:87                                                  add (int)\r
+0:87                                                    'i' (int)\r
+0:88                                                    direct index (int)\r
+0:88                                                      'i2' (2-component vector of int)\r
+0:88                                                      Constant:\r
+0:88                                                        0 (const int)\r
+0:89                                                  direct index (int)\r
+0:89                                                    'i2' (2-component vector of int)\r
+0:89                                                    Constant:\r
+0:89                                                      1 (const int)\r
+0:90                                                direct index (int)\r
+0:90                                                  'i3' (3-component vector of int)\r
+0:90                                                  Constant:\r
+0:90                                                    0 (const int)\r
+0:91                                              direct index (int)\r
+0:91                                                'i3' (3-component vector of int)\r
+0:91                                                Constant:\r
+0:91                                                  1 (const int)\r
+0:92                                            direct index (int)\r
+0:92                                              'i3' (3-component vector of int)\r
+0:92                                              Constant:\r
+0:92                                                2 (const int)\r
+0:93                                          direct index (int)\r
+0:93                                            'i4' (4-component vector of int)\r
+0:93                                            Constant:\r
+0:93                                              0 (const int)\r
+0:94                                        direct index (int)\r
+0:94                                          'i4' (4-component vector of int)\r
+0:94                                          Constant:\r
+0:94                                            1 (const int)\r
+0:95                                      direct index (int)\r
+0:95                                        'i4' (4-component vector of int)\r
+0:95                                        Constant:\r
+0:95                                          2 (const int)\r
+0:96                                    direct index (int)\r
+0:96                                      'i4' (4-component vector of int)\r
+0:96                                      Constant:\r
+0:96                                        3 (const int)\r
+0:97                                'f' (float)\r
+0:98                              direct index (float)\r
+0:98                                'f2' (2-component vector of float)\r
+0:98                                Constant:\r
+0:98                                  0 (const int)\r
+0:99                            direct index (float)\r
+0:99                              'f2' (2-component vector of float)\r
+0:99                              Constant:\r
+0:99                                1 (const int)\r
+0:100                          direct index (float)\r
+0:100                            'f3' (3-component vector of float)\r
+0:100                            Constant:\r
+0:100                              0 (const int)\r
+0:101                        direct index (float)\r
+0:101                          'f3' (3-component vector of float)\r
+0:101                          Constant:\r
+0:101                            1 (const int)\r
+0:102                      direct index (float)\r
+0:102                        'f3' (3-component vector of float)\r
+0:102                        Constant:\r
+0:102                          2 (const int)\r
+0:103                    direct index (float)\r
+0:103                      'f4' (4-component vector of float)\r
+0:103                      Constant:\r
+0:103                        0 (const int)\r
+0:104                  direct index (float)\r
+0:104                    'f4' (4-component vector of float)\r
+0:104                    Constant:\r
+0:104                      1 (const int)\r
+0:105                direct index (float)\r
+0:105                  'f4' (4-component vector of float)\r
+0:105                  Constant:\r
+0:105                    2 (const int)\r
+0:106              direct index (float)\r
+0:106                'f4' (4-component vector of float)\r
+0:106                Constant:\r
+0:106                  3 (const int)\r
+0:86          false case\r
+0:106          Constant:\r
+0:106            1.000000\r
+0:106            1.000000\r
+0:106            1.000000\r
+0:106            1.000000\r
+0:109      Sequence\r
+0:109        move second child to first child (4-component vector of int)\r
+0:109          'cv2' (4-component vector of int)\r
+0:109          Constant:\r
+0:109            1 (const int)\r
+0:109            1 (const int)\r
+0:109            1 (const int)\r
+0:109            1 (const int)\r
+0:110      Sequence\r
+0:110        move second child to first child (4-component vector of bool)\r
+0:110          'cv5' (4-component vector of bool)\r
+0:110          Convert int to bool (4-component vector of bool)\r
+0:110            'cv2' (4-component vector of int)\r
+0:111      add second child into first child (4-component vector of float)\r
+0:111        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:111        Construct float (float)\r
+0:111          Convert bool to float (4-component vector of float)\r
+0:111            'cv5' (4-component vector of bool)\r
+0:?   Linker Objects\r
+0:?     'u_b' (uniform bool)\r
+0:?     'u_b2' (uniform 2-component vector of bool)\r
+0:?     'u_b3' (uniform 3-component vector of bool)\r
+0:?     'u_b4' (uniform 4-component vector of bool)\r
+0:?     'u_i' (uniform int)\r
+0:?     'u_i2' (uniform 2-component vector of int)\r
+0:?     'u_i3' (uniform 3-component vector of int)\r
+0:?     'u_i4' (uniform 4-component vector of int)\r
+0:?     'u_f' (uniform float)\r
+0:?     'u_f2' (uniform 2-component vector of float)\r
+0:?     'u_f3' (uniform 3-component vector of float)\r
+0:?     'u_f4' (uniform 4-component vector of float)\r
+0:?     'i_b' (uniform bool)\r
+0:?     'i_b2' (uniform 2-component vector of bool)\r
+0:?     'i_b3' (uniform 3-component vector of bool)\r
+0:?     'i_b4' (uniform 4-component vector of bool)\r
+0:?     'i_i' (flat in int)\r
+0:?     'i_i2' (flat in 2-component vector of int)\r
+0:?     'i_i3' (flat in 3-component vector of int)\r
+0:?     'i_i4' (flat in 4-component vector of int)\r
+0:?     'i_f' (smooth in float)\r
+0:?     'i_f2' (smooth in 2-component vector of float)\r
+0:?     'i_f3' (smooth in 3-component vector of float)\r
+0:?     'i_f4' (smooth in 4-component vector of float)\r
 \r
index e72230e..e5f8701 100644 (file)
@@ -114,4 +114,74 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:4  Sequence\r
+0:4    move second child to first child (highp float)\r
+0:4      'sum' (highp float)\r
+0:4      Constant:\r
+0:4        0.000000\r
+0:6  Function Definition: main( (void)\r
+0:6    Function Parameters: \r
+0:10    Sequence\r
+0:10      add second child into first child (highp float)\r
+0:10        'sum' (highp float)\r
+0:10        Constant:\r
+0:10          1.000000\r
+0:15      add second child into first child (highp float)\r
+0:15        'sum' (highp float)\r
+0:15        Constant:\r
+0:15          20.000000\r
+0:30      add second child into first child (highp float)\r
+0:30        'sum' (highp float)\r
+0:30        Constant:\r
+0:30          300.000000\r
+0:39      move second child to first child (highp 4-component vector of float)\r
+0:39        'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:39        Construct vec4 (highp 4-component vector of float)\r
+0:39          'sum' (highp float)\r
+0:44  Function Definition: foo( (highp float)\r
+0:44    Function Parameters: \r
+0:46    Sequence\r
+0:46      Branch: Return with expression\r
+0:46        add (highp float)\r
+0:46          add (highp float)\r
+0:46            direct index (highp float)\r
+0:46              'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:46              Constant:\r
+0:46                0 (const int)\r
+0:46            Constant:\r
+0:46              3.000000\r
+0:46          add (highp float)\r
+0:46            direct index (highp float)\r
+0:46              'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:46              Constant:\r
+0:46                0 (const int)\r
+0:46            Constant:\r
+0:46              3.000000\r
+0:47      Branch: Return with expression\r
+0:47        add (highp float)\r
+0:47          add (highp float)\r
+0:47            direct index (highp float)\r
+0:47              'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:47              Constant:\r
+0:47                1 (const int)\r
+0:47            Constant:\r
+0:47              3.000000\r
+0:47          add (highp float)\r
+0:47            direct index (highp float)\r
+0:47              'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:47              Constant:\r
+0:47                1 (const int)\r
+0:47            Constant:\r
+0:47              3.000000\r
+0:97  Sequence\r
+0:97    move second child to first child (highp float)\r
+0:97      'c' (highp float)\r
+0:98      Constant:\r
+0:98        3.300000\r
+0:?   Linker Objects\r
+0:?     'sum' (highp float)\r
+0:?     'c' (highp float)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index 3ac19ca..bc36e8e 100644 (file)
@@ -46,4 +46,39 @@ Linked vertex stage:
 \r
 \r
 Shader version: 110\r
+ERROR: node is still EOpNull!\r
+0:5  Sequence\r
+0:5    move second child to first child (float)\r
+0:5      'sum' (float)\r
+0:5      Constant:\r
+0:5        0.000000\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:12    Sequence\r
+0:12      add second child into first child (float)\r
+0:12        'sum' (float)\r
+0:12        Constant:\r
+0:12          1.000000\r
+0:22      add second child into first child (float)\r
+0:22        'sum' (float)\r
+0:22        Constant:\r
+0:22          300.000000\r
+0:37      add second child into first child (float)\r
+0:37        'sum' (float)\r
+0:37        Constant:\r
+0:37          600000.000000\r
+0:47      add second child into first child (float)\r
+0:47        'sum' (float)\r
+0:47        Constant:\r
+0:47          80000000.000000\r
+0:52      add second child into first child (float)\r
+0:52        'sum' (float)\r
+0:52        Constant:\r
+0:52          900000000.000000\r
+0:56      move second child to first child (4-component vector of float)\r
+0:56        'gl_Position' (gl_Position 4-component vector of float)\r
+0:56        Construct vec4 (4-component vector of float)\r
+0:56          'sum' (float)\r
+0:?   Linker Objects\r
+0:?     'sum' (float)\r
 \r
index d2b00ad..d6d320e 100644 (file)
@@ -77,4 +77,66 @@ Linked vertex stage:
 \r
 \r
 Shader version: 110\r
+ERROR: node is still EOpNull!\r
+0:5  Sequence\r
+0:5    move second child to first child (float)\r
+0:5      'sum' (float)\r
+0:5      Constant:\r
+0:5        0.000000\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:12    Sequence\r
+0:12      add second child into first child (float)\r
+0:12        'sum' (float)\r
+0:12        Constant:\r
+0:12          1.000000\r
+0:21      add second child into first child (float)\r
+0:21        'sum' (float)\r
+0:21        Constant:\r
+0:21          300.000000\r
+0:61      add second child into first child (float)\r
+0:61        'sum' (float)\r
+0:61        Constant:\r
+0:61          600000.000000\r
+0:65      add second child into first child (float)\r
+0:65        'sum' (float)\r
+0:65        Constant:\r
+0:65          80000000.000000\r
+0:69      add second child into first child (float)\r
+0:69        'sum' (float)\r
+0:69        Constant:\r
+0:69          900000000.000000\r
+0:76      add second child into first child (float)\r
+0:76        'sum' (float)\r
+0:76        Constant:\r
+0:76          7000000.000000\r
+0:86      move second child to first child (4-component vector of float)\r
+0:86        'gl_Position' (gl_Position 4-component vector of float)\r
+0:86        Construct vec4 (4-component vector of float)\r
+0:86          'sum' (float)\r
+0:103  Sequence\r
+0:103    move second child to first child (int)\r
+0:103      'selected4' (int)\r
+0:103      Constant:\r
+0:103        4 (const int)\r
+0:115  Sequence\r
+0:115    move second child to first child (int)\r
+0:115      'selected2' (int)\r
+0:115      Constant:\r
+0:115        2 (const int)\r
+0:133  Sequence\r
+0:133    move second child to first child (int)\r
+0:133      'selected3' (int)\r
+0:133      Constant:\r
+0:133        3 (const int)\r
+0:175  Function Definition: foo985( (void)\r
+0:175    Function Parameters: \r
+0:175    Sequence\r
+0:175      Constant:\r
+0:175        6 (const int)\r
+0:?   Linker Objects\r
+0:?     'sum' (float)\r
+0:?     'selected4' (int)\r
+0:?     'selected2' (int)\r
+0:?     'selected3' (int)\r
 \r
index 77e03f9..4bc0870 100644 (file)
@@ -1,5 +1,5 @@
 cppSimple.vert\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:77: '#error' : good1  \r
 ERROR: 0:81: '#error' : good2  \r
 ERROR: 0:85: '#error' : good3  \r
@@ -126,7 +126,7 @@ ERROR: node is still EOpNull!
 0:65          0.050000\r
 0:69      move second child to first child (4-component vector of float)\r
 0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:69          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:69          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:69          Constant:\r
 0:69            0 (const uint)\r
 0:69        Construct vec4 (4-component vector of float)\r
@@ -166,7 +166,7 @@ ERROR: node is still EOpNull!
 12:20034    Sequence\r
 12:20034      move second child to first child (4-component vector of float)\r
 12:20034        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-12:20034          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+12:20034          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 12:20034          Constant:\r
 12:20034            0 (const uint)\r
 12:20034        Constant:\r
@@ -198,4 +198,109 @@ Linked vertex stage:
 \r
 \r
 Shader version: 400\r
+ERROR: node is still EOpNull!\r
+0:5  Sequence\r
+0:5    move second child to first child (float)\r
+0:5      'sum' (float)\r
+0:5      Constant:\r
+0:5        0.000000\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:12    Sequence\r
+0:12      add second child into first child (float)\r
+0:12        'sum' (float)\r
+0:12        Constant:\r
+0:12          1.000000\r
+0:22      add second child into first child (float)\r
+0:22        'sum' (float)\r
+0:22        Constant:\r
+0:22          300.000000\r
+0:37      add second child into first child (float)\r
+0:37        'sum' (float)\r
+0:37        Constant:\r
+0:37          600000.000000\r
+0:48      add second child into first child (float)\r
+0:48        'sum' (float)\r
+0:48        Constant:\r
+0:48          7000000.000000\r
+0:53      add second child into first child (float)\r
+0:53        'sum' (float)\r
+0:53        Constant:\r
+0:53          80000000.000000\r
+0:58      add second child into first child (float)\r
+0:58        'sum' (float)\r
+0:58        Constant:\r
+0:58          900000000.000000\r
+0:65      add second child into first child (float)\r
+0:65        'sum' (float)\r
+0:65        Constant:\r
+0:65          0.050000\r
+0:69      move second child to first child (4-component vector of float)\r
+0:69        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
+0:69          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 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})\r
+0:69          Constant:\r
+0:69            0 (const uint)\r
+0:69        Construct vec4 (4-component vector of float)\r
+0:69          'sum' (float)\r
+0:124  Sequence\r
+0:124    move second child to first child (int)\r
+0:124      'linenumber' (int)\r
+0:124      Constant:\r
+0:124        124 (const int)\r
+0:125  Sequence\r
+0:125    move second child to first child (int)\r
+0:125      'filenumber' (int)\r
+0:125      Constant:\r
+0:125        0 (const int)\r
+0:126  Sequence\r
+0:126    move second child to first child (int)\r
+0:126      'version' (int)\r
+0:126      Constant:\r
+0:126        400 (const int)\r
+0:130  Sequence\r
+0:130    move second child to first child (float)\r
+0:130      'twoPi' (float)\r
+0:130      Constant:\r
+0:130        6.280000\r
+0:199  Sequence\r
+0:199    move second child to first child (int)\r
+0:199      'n' (int)\r
+0:199      Constant:\r
+0:199        15 (const int)\r
+0:202  Sequence\r
+0:202    move second child to first child (double)\r
+0:202      'f' (double)\r
+0:202      Constant:\r
+0:202        0.000800\r
+12:20032  Function Definition: foo234( (void)\r
+12:20032    Function Parameters: \r
+12:20034    Sequence\r
+12:20034      move second child to first child (4-component vector of float)\r
+12:20034        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
+12:20034          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 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})\r
+12:20034          Constant:\r
+12:20034            0 (const uint)\r
+12:20034        Constant:\r
+12:20034          6.000000\r
+12:20034          6.000000\r
+12:20034          6.000000\r
+12:20034          6.000000\r
+12:9012  Sequence\r
+12:9012    move second child to first child (int)\r
+12:9012      'R1' (int)\r
+12:9012      'RECURSE' (int)\r
+0:?   Linker Objects\r
+0:?     'sum' (float)\r
+0:?     'linenumber' (int)\r
+0:?     'filenumber' (int)\r
+0:?     'version' (int)\r
+0:?     'twoPi' (float)\r
+0:?     'a' (int)\r
+0:?     'n' (int)\r
+0:?     'f' (double)\r
+0:?     'RECURSE' (int)\r
+0:?     'R1' (int)\r
+0:?     'aoeua' (int)\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 60cc7e2..eca985e 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/dataOut.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -21,4 +20,16 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:5  Function Definition: main( (void)\r
+0:5    Function Parameters: \r
+0:7    Sequence\r
+0:7      move second child to first child (4-component vector of float)\r
+0:7        direct index (4-component vector of float)\r
+0:7          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:7          Constant:\r
+0:7            1 (const int)\r
+0:7        'Color' (smooth in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'Color' (smooth in 4-component vector of float)\r
 \r
index aa454d1..f61ba1c 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/dataOutIndirect.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -21,4 +20,16 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      move second child to first child (4-component vector of float)\r
+0:9        indirect index (4-component vector of float)\r
+0:9          'gl_FragData' (fragColor 32-element array of 4-component vector of float)\r
+0:9          'i' (uniform int)\r
+0:9        'Color' (smooth in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'Color' (smooth in 4-component vector of float)\r
+0:?     'i' (uniform int)\r
 \r
index 5756f3c..0b99f98 100644 (file)
@@ -1,5 +1,5 @@
 dce.frag\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 400\r
 0:? Sequence\r
@@ -141,4 +141,136 @@ Linked fragment stage:
 ERROR: Linking fragment stage: Missing entry point: Each stage requires one "void main()" entry point\r
 \r
 Shader version: 400\r
+0:? Sequence\r
+0:5  Sequence\r
+0:5    move second child to first child (int)\r
+0:5      'c' (int)\r
+0:5      Constant:\r
+0:5        0 (const int)\r
+0:7  Function Definition: bar( (void)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      Test condition and select (void)\r
+0:9        Condition\r
+0:9        Constant:\r
+0:9          false (const bool)\r
+0:9        true case\r
+0:10        Pre-Increment (int)\r
+0:10          'c' (int)\r
+0:9        false case\r
+0:12        Pre-Increment (int)\r
+0:12          'c' (int)\r
+0:14      Test condition and select (int)\r
+0:14        Condition\r
+0:14        Constant:\r
+0:14          false (const bool)\r
+0:14        true case\r
+0:14        Pre-Increment (int)\r
+0:14          'c' (int)\r
+0:14        false case\r
+0:14        Pre-Increment (int)\r
+0:14          'c' (int)\r
+0:16      switch\r
+0:16      condition\r
+0:16        'c' (int)\r
+0:16      body\r
+0:16        Sequence\r
+0:17          case:  with expression\r
+0:17            Constant:\r
+0:17              1 (const int)\r
+0:?           Sequence\r
+0:18            Pre-Increment (int)\r
+0:18              'c' (int)\r
+0:19            Branch: Break\r
+0:20            Pre-Increment (int)\r
+0:20              'c' (int)\r
+0:21          case:  with expression\r
+0:21            Constant:\r
+0:21              2 (const int)\r
+0:?           Sequence\r
+0:22            Branch: Break\r
+0:23            Pre-Increment (int)\r
+0:23              'c' (int)\r
+0:24          default: \r
+0:?           Sequence\r
+0:25            Branch: Break\r
+0:28      Sequence\r
+0:28        Sequence\r
+0:28          move second child to first child (int)\r
+0:28            'i' (int)\r
+0:28            Constant:\r
+0:28              0 (const int)\r
+0:28        Loop with condition tested first\r
+0:28          Loop Condition\r
+0:28          Compare Less Than (bool)\r
+0:28            'i' (int)\r
+0:28            Constant:\r
+0:28              0 (const int)\r
+0:28          Loop Body\r
+0:29          Pre-Increment (int)\r
+0:29            'c' (int)\r
+0:28          Loop Terminal Expression\r
+0:28          Pre-Increment (int)\r
+0:28            'i' (int)\r
+0:31      Sequence\r
+0:31        Sequence\r
+0:31          move second child to first child (int)\r
+0:31            'i' (int)\r
+0:31            Constant:\r
+0:31              0 (const int)\r
+0:31        Loop with condition tested first\r
+0:31          Loop Condition\r
+0:31          Compare Less Than (bool)\r
+0:31            'i' (int)\r
+0:31            Constant:\r
+0:31              10 (const int)\r
+0:31          Loop Body\r
+0:32          Sequence\r
+0:32            Test condition and select (void)\r
+0:32              Condition\r
+0:32              Compare Less Than (bool)\r
+0:32                'c' (int)\r
+0:32                Constant:\r
+0:32                  3 (const int)\r
+0:32              true case\r
+0:33              Sequence\r
+0:33                Branch: Break\r
+0:34                Pre-Increment (int)\r
+0:34                  'c' (int)\r
+0:32              false case\r
+0:36              Sequence\r
+0:36                Branch: Continue\r
+0:37                Pre-Increment (int)\r
+0:37                  'c' (int)\r
+0:31          Loop Terminal Expression\r
+0:31          Pre-Increment (int)\r
+0:31            'i' (int)\r
+0:41      Branch: Return\r
+0:43      Pre-Increment (int)\r
+0:43        'c' (int)\r
+0:46  Function Definition: foo( (int)\r
+0:46    Function Parameters: \r
+0:48    Sequence\r
+0:48      Test condition and select (void)\r
+0:48        Condition\r
+0:48        Compare Greater Than (bool)\r
+0:48          'c' (int)\r
+0:48          Constant:\r
+0:48            4 (const int)\r
+0:48        true case\r
+0:49        Sequence\r
+0:49          Branch: Return with expression\r
+0:49            Constant:\r
+0:49              4 (const int)\r
+0:50          Pre-Increment (int)\r
+0:50            'c' (int)\r
+0:53      Branch: Return with expression\r
+0:53        Constant:\r
+0:53          5 (const int)\r
+0:55      Pre-Increment (int)\r
+0:55        'c' (int)\r
+0:?   Linker Objects\r
+0:?     'flag' (const bool)\r
+0:?       false (const bool)\r
+0:?     'c' (int)\r
 \r
index eb3e6da..16501b5 100644 (file)
@@ -273,4 +273,243 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+ERROR: node is still EOpNull!\r
+0:5  Sequence\r
+0:5    move second child to first child (int)\r
+0:5      'd1' (int)\r
+0:5      Constant:\r
+0:5        1 (const int)\r
+0:6  Sequence\r
+0:6    move second child to first child (int)\r
+0:6      'e2' (int)\r
+0:6      Constant:\r
+0:6        2 (const int)\r
+0:7  Sequence\r
+0:7    move second child to first child (int)\r
+0:7      'h3' (int)\r
+0:7      Constant:\r
+0:7        3 (const int)\r
+0:14  Sequence\r
+0:14    move second child to first child (4-element array of int)\r
+0:14      'ii4' (4-element array of int)\r
+0:14      Constant:\r
+0:14        1 (const int)\r
+0:14        2 (const int)\r
+0:14        3 (const int)\r
+0:14        4 (const int)\r
+0:15  Sequence\r
+0:15    move second child to first child (5-element array of int)\r
+0:15      'ik5' (5-element array of int)\r
+0:15      Constant:\r
+0:15        5 (const int)\r
+0:15        6 (const int)\r
+0:15        7 (const int)\r
+0:15        8 (const int)\r
+0:15        9 (const int)\r
+0:16  Sequence\r
+0:16    move second child to first child (2-element array of int)\r
+0:16      'im2' (2-element array of int)\r
+0:16      Constant:\r
+0:16        10 (const int)\r
+0:16        11 (const int)\r
+0:16    move second child to first child (3-element array of int)\r
+0:16      'im3' (3-element array of int)\r
+0:16      Constant:\r
+0:16        12 (const int)\r
+0:16        13 (const int)\r
+0:16        14 (const int)\r
+0:17  Sequence\r
+0:17    move second child to first child (4-element array of int)\r
+0:17      'in8' (4-element array of int)\r
+0:17      Constant:\r
+0:17        21 (const int)\r
+0:17        22 (const int)\r
+0:17        23 (const int)\r
+0:17        24 (const int)\r
+0:34  Sequence\r
+0:34    move second child to first child (4-element array of int)\r
+0:34      'gl_vi4' (4-element array of int)\r
+0:34      Constant:\r
+0:34        1 (const int)\r
+0:34        2 (const int)\r
+0:34        3 (const int)\r
+0:34        4 (const int)\r
+0:35  Sequence\r
+0:35    move second child to first child (5-element array of int)\r
+0:35      'gl_vk5' (5-element array of int)\r
+0:35      Constant:\r
+0:35        5 (const int)\r
+0:35        6 (const int)\r
+0:35        7 (const int)\r
+0:35        8 (const int)\r
+0:35        9 (const int)\r
+0:36  Sequence\r
+0:36    move second child to first child (2-element array of int)\r
+0:36      'gl_vm2' (2-element array of int)\r
+0:36      Constant:\r
+0:36        10 (const int)\r
+0:36        11 (const int)\r
+0:36    move second child to first child (3-element array of int)\r
+0:36      'gl_vm3' (3-element array of int)\r
+0:36      Constant:\r
+0:36        12 (const int)\r
+0:36        13 (const int)\r
+0:36        14 (const int)\r
+0:37  Sequence\r
+0:37    move second child to first child (4-element array of int)\r
+0:37      'gl_vn8' (4-element array of int)\r
+0:37      Constant:\r
+0:37        21 (const int)\r
+0:37        22 (const int)\r
+0:37        23 (const int)\r
+0:37        24 (const int)\r
+0:39  Function Definition: main( (void)\r
+0:39    Function Parameters: \r
+0:41    Sequence\r
+0:41      Loop with condition tested first\r
+0:41        Loop Condition\r
+0:41        move second child to first child (bool)\r
+0:41          'cond' (bool)\r
+0:41          Compare Less Than (bool)\r
+0:41            'b' (int)\r
+0:41            'c' (int)\r
+0:41        No loop body\r
+0:42      Loop with condition tested first\r
+0:42        Loop Condition\r
+0:42        move second child to first child (int)\r
+0:42          'icond' (int)\r
+0:42          'b' (int)\r
+0:42        No loop body\r
+0:43      Loop with condition tested first\r
+0:43        Loop Condition\r
+0:43        move second child to first child (bool)\r
+0:43          'gl_cond' (bool)\r
+0:43          Compare Less Than (bool)\r
+0:43            'b' (int)\r
+0:43            'c' (int)\r
+0:43        No loop body\r
+0:46  Sequence\r
+0:46    move second child to first child (4-element array of int)\r
+0:46      'foob__vi4' (4-element array of int)\r
+0:46      Constant:\r
+0:46        1 (const int)\r
+0:46        2 (const int)\r
+0:46        3 (const int)\r
+0:46        4 (const int)\r
+0:47  Sequence\r
+0:47    move second child to first child (5-element array of int)\r
+0:47      'foob__vk5' (5-element array of int)\r
+0:47      Constant:\r
+0:47        5 (const int)\r
+0:47        6 (const int)\r
+0:47        7 (const int)\r
+0:47        8 (const int)\r
+0:47        9 (const int)\r
+0:48  Sequence\r
+0:48    move second child to first child (2-element array of int)\r
+0:48      '__foobvm2' (2-element array of int)\r
+0:48      Constant:\r
+0:48        10 (const int)\r
+0:48        11 (const int)\r
+0:48    move second child to first child (3-element array of int)\r
+0:48      '__foobvm3' (3-element array of int)\r
+0:48      Constant:\r
+0:48        12 (const int)\r
+0:48        13 (const int)\r
+0:48        14 (const int)\r
+0:49  Sequence\r
+0:49    move second child to first child (4-element array of int)\r
+0:49      'foob__vn8' (4-element array of int)\r
+0:49      Constant:\r
+0:49        21 (const int)\r
+0:49        22 (const int)\r
+0:49        23 (const int)\r
+0:49        24 (const int)\r
+0:?   Linker Objects\r
+0:?     'a' (int)\r
+0:?     'b' (int)\r
+0:?     'c' (int)\r
+0:?     'd1' (int)\r
+0:?     'e2' (int)\r
+0:?     'f' (int)\r
+0:?     'g' (int)\r
+0:?     'h3' (int)\r
+0:?     'i4' (4-element array of int)\r
+0:?     'j' (int)\r
+0:?     'k5' (5-element array of int)\r
+0:?     'm6' (6-element array of int)\r
+0:?     'm7' (7-element array of int)\r
+0:?     'n8' (8-element array of int)\r
+0:?     'p' (int)\r
+0:?     'ii4' (4-element array of int)\r
+0:?     'ij' (int)\r
+0:?     'ik5' (5-element array of int)\r
+0:?     'im2' (2-element array of int)\r
+0:?     'im3' (3-element array of int)\r
+0:?     'in8' (4-element array of int)\r
+0:?     'ip' (int)\r
+0:?     'cii4' (const 4-element array of int)\r
+0:?       1 (const int)\r
+0:?       2 (const int)\r
+0:?       3 (const int)\r
+0:?       4 (const int)\r
+0:?     'cij' (int)\r
+0:?     'cik5' (const 5-element array of int)\r
+0:?       5 (const int)\r
+0:?       6 (const int)\r
+0:?       7 (const int)\r
+0:?       8 (const int)\r
+0:?       9 (const int)\r
+0:?     'cim2' (const 2-element array of int)\r
+0:?       10 (const int)\r
+0:?       11 (const int)\r
+0:?     'cim3' (const 3-element array of int)\r
+0:?       12 (const int)\r
+0:?       13 (const int)\r
+0:?       14 (const int)\r
+0:?     'cin8' (const 4-element array of int)\r
+0:?       21 (const int)\r
+0:?       22 (const int)\r
+0:?       23 (const int)\r
+0:?       24 (const int)\r
+0:?     'cip' (int)\r
+0:?     'uii4' (uniform 4-element array of int)\r
+0:?       1 (const int)\r
+0:?       2 (const int)\r
+0:?       3 (const int)\r
+0:?       4 (const int)\r
+0:?     'uij' (uniform int)\r
+0:?     'uik5' (uniform 5-element array of int)\r
+0:?       5 (const int)\r
+0:?       6 (const int)\r
+0:?       7 (const int)\r
+0:?       8 (const int)\r
+0:?       9 (const int)\r
+0:?     'uim2' (uniform 2-element array of int)\r
+0:?       10 (const int)\r
+0:?       11 (const int)\r
+0:?     'uim3' (uniform 3-element array of int)\r
+0:?       12 (const int)\r
+0:?       13 (const int)\r
+0:?       14 (const int)\r
+0:?     'uin8' (uniform 4-element array of int)\r
+0:?       21 (const int)\r
+0:?       22 (const int)\r
+0:?       23 (const int)\r
+0:?       24 (const int)\r
+0:?     'uip' (uniform int)\r
+0:?     'gl_vi4' (4-element array of int)\r
+0:?     'gl_vj' (int)\r
+0:?     'gl_vk5' (5-element array of int)\r
+0:?     'gl_vm2' (2-element array of int)\r
+0:?     'gl_vm3' (3-element array of int)\r
+0:?     'gl_vn8' (4-element array of int)\r
+0:?     'gl_vp' (int)\r
+0:?     'foob__vi4' (4-element array of int)\r
+0:?     'foob__vj' (int)\r
+0:?     'foob__vk5' (5-element array of int)\r
+0:?     '__foobvm2' (2-element array of int)\r
+0:?     '__foobvm3' (3-element array of int)\r
+0:?     'foob__vn8' (4-element array of int)\r
+0:?     'foob__vp' (int)\r
 \r
index d10c0bd..2c6557c 100644 (file)
@@ -145,4 +145,142 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+0:? Sequence\r
+0:5  Sequence\r
+0:5    move second child to first child (4-component vector of float)\r
+0:5      'v1' (4-component vector of float)\r
+0:5      Constant:\r
+0:5        2.000000\r
+0:5        3.000000\r
+0:5        5.000000\r
+0:5        7.000000\r
+0:6  Sequence\r
+0:6    move second child to first child (4-component vector of float)\r
+0:6      'v2' (4-component vector of float)\r
+0:6      Constant:\r
+0:6        11.000000\r
+0:6        13.000000\r
+0:6        17.000000\r
+0:6        19.000000\r
+0:7  Sequence\r
+0:7    move second child to first child (4-component vector of float)\r
+0:7      'v3' (4-component vector of float)\r
+0:7      Constant:\r
+0:7        23.000000\r
+0:7        29.000000\r
+0:7        31.000000\r
+0:7        37.000000\r
+0:8  Sequence\r
+0:8    move second child to first child (4-component vector of float)\r
+0:8      'v4' (4-component vector of float)\r
+0:8      Constant:\r
+0:8        41.000000\r
+0:8        43.000000\r
+0:8        47.000000\r
+0:8        53.000000\r
+0:16  Function Definition: main( (void)\r
+0:16    Function Parameters: \r
+0:18    Sequence\r
+0:18      Sequence\r
+0:18        move second child to first child (4X4 matrix of float)\r
+0:18          'm' (4X4 matrix of float)\r
+0:18          Construct mat4 (4X4 matrix of float)\r
+0:18            'v1' (4-component vector of float)\r
+0:18            'v2' (4-component vector of float)\r
+0:18            'v3' (4-component vector of float)\r
+0:18            'v4' (4-component vector of float)\r
+0:20      Sequence\r
+0:20        move second child to first child (4X4 matrix of float)\r
+0:20          'mm' (4X4 matrix of float)\r
+0:20          component-wise multiply (4X4 matrix of float)\r
+0:20            'm' (4X4 matrix of float)\r
+0:20            'm' (4X4 matrix of float)\r
+0:21      Sequence\r
+0:21        move second child to first child (float)\r
+0:21          'f' (float)\r
+0:21          direct index (float)\r
+0:21            direct index (4-component vector of float)\r
+0:21              'mm' (4X4 matrix of float)\r
+0:21              Constant:\r
+0:21                1 (const int)\r
+0:21            Constant:\r
+0:21              3 (const int)\r
+0:24      Sequence\r
+0:24        move second child to first child (float)\r
+0:24          'g' (float)\r
+0:24          direct index (float)\r
+0:24            direct index (4-component vector of float)\r
+0:24              component-wise multiply (4X4 matrix of float)\r
+0:24                'm' (4X4 matrix of float)\r
+0:24                'm' (4X4 matrix of float)\r
+0:24              Constant:\r
+0:24                2 (const int)\r
+0:24            Constant:\r
+0:24              1 (const int)\r
+0:26      Sequence\r
+0:26        move second child to first child (float)\r
+0:26          'h' (float)\r
+0:26          Constant:\r
+0:26            5.000000\r
+0:28      Sequence\r
+0:28        move second child to first child (float)\r
+0:28          'i' (float)\r
+0:28          direct index (float)\r
+0:28            Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:28              'sampler' (uniform sampler2D)\r
+0:28              Constant:\r
+0:28                0.500000\r
+0:28                0.500000\r
+0:28            Constant:\r
+0:28              1 (const int)\r
+0:30      add second child into first child (float)\r
+0:30        'i' (float)\r
+0:30        direct index (float)\r
+0:30          Test condition and select (4-component vector of float)\r
+0:30            Condition\r
+0:30            Compare Greater Than (bool)\r
+0:30              'i' (float)\r
+0:30              Constant:\r
+0:30                0.100000\r
+0:30            true case\r
+0:30            'v1' (4-component vector of float)\r
+0:30            false case\r
+0:30            'v2' (4-component vector of float)\r
+0:30          Constant:\r
+0:30            3 (const int)\r
+0:33      add second child into first child (float)\r
+0:33        'i' (float)\r
+0:33        direct index (float)\r
+0:33          direct index (2-component vector of float)\r
+0:33            b: direct index for structure (3-element array of 2-component vector of float)\r
+0:33              move second child to first child (structure{int a, 3-element array of 2-component vector of float b, bool c})\r
+0:33                't' (structure{int a, 3-element array of 2-component vector of float b, bool c})\r
+0:33                Constant:\r
+0:33                  1 (const int)\r
+0:33                  2.000000\r
+0:33                  3.000000\r
+0:33                  4.000000\r
+0:33                  5.000000\r
+0:33                  6.000000\r
+0:33                  7.000000\r
+0:33                  true (const bool)\r
+0:33              Constant:\r
+0:33                1 (const int)\r
+0:33            Constant:\r
+0:33              2 (const int)\r
+0:33          Constant:\r
+0:33            1 (const int)\r
+0:35      move second child to first child (4-component vector of float)\r
+0:35        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:35        Construct vec4 (4-component vector of float)\r
+0:35          'f' (float)\r
+0:35          'g' (float)\r
+0:35          'h' (float)\r
+0:35          'i' (float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'v1' (4-component vector of float)\r
+0:?     'v2' (4-component vector of float)\r
+0:?     'v3' (4-component vector of float)\r
+0:?     'v4' (4-component vector of float)\r
 \r
index 7401c07..c70365f 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/depthOut.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 \r
@@ -23,4 +22,17 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:6  Function Definition: main( (void)\r
+0:6    Function Parameters: \r
+0:8    Sequence\r
+0:8      move second child to first child (float)\r
+0:8        'gl_FragDepth' (gl_FragDepth float)\r
+0:8        'Depth' (smooth in float)\r
+0:9      move second child to first child (4-component vector of float)\r
+0:9        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:9        'Color' (smooth in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'Color' (smooth in 4-component vector of float)\r
+0:?     'Depth' (smooth in float)\r
 \r
index 7329ca1..446eabc 100644 (file)
@@ -122,4 +122,119 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:4  Function Definition: main( (void)\r
+0:4    Function Parameters: \r
+0:6    Sequence\r
+0:6      Sequence\r
+0:6        move second child to first child (4-component vector of float)\r
+0:6          'white' (4-component vector of float)\r
+0:6          Constant:\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:6            1.000000\r
+0:7      Sequence\r
+0:7        move second child to first child (4-component vector of float)\r
+0:7          'black' (4-component vector of float)\r
+0:7          Constant:\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:7            0.200000\r
+0:8      Sequence\r
+0:8        move second child to first child (4-component vector of float)\r
+0:8          'color' (4-component vector of float)\r
+0:8          'white' (4-component vector of float)\r
+0:11      Sequence\r
+0:11        move second child to first child (float)\r
+0:11          'x' (float)\r
+0:11          subtract (float)\r
+0:11            component-wise multiply (float)\r
+0:11              direct index (float)\r
+0:11                'tex_coord' (smooth in 2-component vector of float)\r
+0:11                Constant:\r
+0:11                  0 (const int)\r
+0:11              Constant:\r
+0:11                2.000000\r
+0:11            Constant:\r
+0:11              1.000000\r
+0:12      Sequence\r
+0:12        move second child to first child (float)\r
+0:12          'y' (float)\r
+0:12          subtract (float)\r
+0:12            component-wise multiply (float)\r
+0:12              direct index (float)\r
+0:12                'tex_coord' (smooth in 2-component vector of float)\r
+0:12                Constant:\r
+0:12                  1 (const int)\r
+0:12              Constant:\r
+0:12                2.000000\r
+0:12            Constant:\r
+0:12              1.000000\r
+0:14      Sequence\r
+0:14        move second child to first child (float)\r
+0:14          'radius' (float)\r
+0:14          sqrt (float)\r
+0:14            add (float)\r
+0:14              component-wise multiply (float)\r
+0:14                'x' (float)\r
+0:14                'x' (float)\r
+0:14              component-wise multiply (float)\r
+0:14                'y' (float)\r
+0:14                'y' (float)\r
+0:15      Test condition and select (void)\r
+0:15        Condition\r
+0:15        Compare Greater Than (bool)\r
+0:15          'radius' (float)\r
+0:15          Constant:\r
+0:15            1.000000\r
+0:15        true case\r
+0:16        Sequence\r
+0:16          Test condition and select (void)\r
+0:16            Condition\r
+0:16            Compare Greater Than (bool)\r
+0:16              'radius' (float)\r
+0:16              Constant:\r
+0:16                1.100000\r
+0:16            true case\r
+0:17            Sequence\r
+0:17              Pre-Increment (4-component vector of float)\r
+0:17                'color' (4-component vector of float)\r
+0:20          move second child to first child (4-component vector of float)\r
+0:20            'gl_FragColor' (fragColor 4-component vector of float)\r
+0:20            'color' (4-component vector of float)\r
+0:22          Test condition and select (void)\r
+0:22            Condition\r
+0:22            Compare Greater Than (bool)\r
+0:22              'radius' (float)\r
+0:22              Constant:\r
+0:22                1.200000\r
+0:22            true case\r
+0:23            Sequence\r
+0:23              Pre-Increment (4-component vector of float)\r
+0:23                'color' (4-component vector of float)\r
+0:26          Branch: Kill\r
+0:30      Test condition and select (void)\r
+0:30        Condition\r
+0:30        Compare Greater Than or Equal (bool)\r
+0:30          'radius' (float)\r
+0:30          Constant:\r
+0:30            0.750000\r
+0:30        true case\r
+0:31        subtract second child into first child (4-component vector of float)\r
+0:31          'color' (4-component vector of float)\r
+0:31          Absolute value (float)\r
+0:31            divide (float)\r
+0:31              pow (float)\r
+0:31                'radius' (float)\r
+0:31                Constant:\r
+0:31                  16.000000\r
+0:31              Constant:\r
+0:31                2.000000\r
+0:33      move second child to first child (4-component vector of float)\r
+0:33        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:33        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'tex_coord' (smooth in 2-component vector of float)\r
 \r
index fdb4237..b9f2c4b 100644 (file)
@@ -35,4 +35,32 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      Sequence\r
+0:9        move second child to first child (4-component vector of float)\r
+0:9          'color' (4-component vector of float)\r
+0:9          'BaseColor' (smooth in 4-component vector of float)\r
+0:13      Loop with condition not tested first\r
+0:13        Loop Condition\r
+0:13        Compare Less Than (bool)\r
+0:13          direct index (float)\r
+0:13            'color' (4-component vector of float)\r
+0:13            Constant:\r
+0:13              0 (const int)\r
+0:13          'd' (uniform float)\r
+0:13        Loop Body\r
+0:12        Sequence\r
+0:12          add second child into first child (4-component vector of float)\r
+0:12            'color' (4-component vector of float)\r
+0:12            'bigColor' (uniform 4-component vector of float)\r
+0:15      move second child to first child (4-component vector of float)\r
+0:15        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:15        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
 \r
index c7e8a81..ff44572 100644 (file)
@@ -131,4 +131,128 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:19  Function Definition: main( (void)\r
+0:19    Function Parameters: \r
+0:21    Sequence\r
+0:21      Sequence\r
+0:21        move second child to first child (4-component vector of float)\r
+0:21          'color' (4-component vector of float)\r
+0:21          'BaseColor' (smooth in 4-component vector of float)\r
+0:24      move second child to first child (4-component vector of float)\r
+0:24        'color2' (4-component vector of float)\r
+0:24        'otherColor' (uniform 4-component vector of float)\r
+0:26      Test condition and select (void)\r
+0:26        Condition\r
+0:26        Compare Greater Than (bool)\r
+0:26          'c' (smooth in float)\r
+0:26          'd' (uniform float)\r
+0:26        true case\r
+0:27        add second child into first child (4-component vector of float)\r
+0:27          'color' (4-component vector of float)\r
+0:27          'bigColor' (uniform 4-component vector of float)\r
+0:26        false case\r
+0:29        add second child into first child (4-component vector of float)\r
+0:29          'color' (4-component vector of float)\r
+0:29          'smallColor' (uniform 4-component vector of float)\r
+0:31      Test condition and select (void)\r
+0:31        Condition\r
+0:31        Compare Less Than (bool)\r
+0:31          direct index (float)\r
+0:31            'color' (4-component vector of float)\r
+0:31            Constant:\r
+0:31              2 (const int)\r
+0:31          'minimum' (uniform float)\r
+0:31        true case\r
+0:32        Branch: Return\r
+0:34      Post-Increment (float)\r
+0:34        direct index (float)\r
+0:34          'color' (4-component vector of float)\r
+0:34          Constant:\r
+0:34            2 (const int)\r
+0:36      Test condition and select (void)\r
+0:36        Condition\r
+0:36        Compare Greater Than (bool)\r
+0:36          direct index (float)\r
+0:36            'color' (4-component vector of float)\r
+0:36            Constant:\r
+0:36              2 (const int)\r
+0:36          'threshhold' (uniform float)\r
+0:36        true case\r
+0:37        Branch: Kill\r
+0:39      Post-Increment (4-component vector of float)\r
+0:39        'color' (4-component vector of float)\r
+0:42      Test condition and select (void)\r
+0:42        Condition\r
+0:42        Compare Greater Than (bool)\r
+0:42          direct index (float)\r
+0:42            'color' (4-component vector of float)\r
+0:42            Constant:\r
+0:42              3 (const int)\r
+0:42          'threshhold2' (uniform float)\r
+0:42        true case\r
+0:43        Sequence\r
+0:43          Test condition and select (void)\r
+0:43            Condition\r
+0:43            Compare Greater Than (bool)\r
+0:43              direct index (float)\r
+0:43                'color' (4-component vector of float)\r
+0:43                Constant:\r
+0:43                  2 (const int)\r
+0:43              'threshhold2' (uniform float)\r
+0:43            true case\r
+0:44            Branch: Return\r
+0:43            false case\r
+0:45            Test condition and select (void)\r
+0:45              Condition\r
+0:45              'b' (uniform bool)\r
+0:45              true case\r
+0:46              Post-Increment (float)\r
+0:46                direct index (float)\r
+0:46                  'color' (4-component vector of float)\r
+0:46                  Constant:\r
+0:46                    2 (const int)\r
+0:45              false case\r
+0:48              Sequence\r
+0:48                Test condition and select (void)\r
+0:48                  Condition\r
+0:48                  Compare Less Than (bool)\r
+0:48                    direct index (float)\r
+0:48                      'color' (4-component vector of float)\r
+0:48                      Constant:\r
+0:48                        0 (const int)\r
+0:48                    'minimum' (uniform float)\r
+0:48                  true case\r
+0:49                  Sequence\r
+0:49                    Branch: Kill\r
+0:48                  false case\r
+0:51                  Sequence\r
+0:51                    Post-Increment (4-component vector of float)\r
+0:51                      'color' (4-component vector of float)\r
+0:42        false case\r
+0:55        Sequence\r
+0:55          Test condition and select (void)\r
+0:55            Condition\r
+0:55            'b' (uniform bool)\r
+0:55            true case\r
+0:56            Branch: Kill\r
+0:55            false case\r
+0:58            Branch: Return\r
+0:101      move second child to first child (4-component vector of float)\r
+0:101        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:101        component-wise multiply (4-component vector of float)\r
+0:101          'color' (4-component vector of float)\r
+0:101          'color2' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'd' (uniform float)\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'smallColor' (uniform 4-component vector of float)\r
+0:?     'otherColor' (uniform 4-component vector of float)\r
+0:?     'c' (smooth in float)\r
+0:?     'threshhold' (uniform float)\r
+0:?     'threshhold2' (uniform float)\r
+0:?     'threshhold3' (uniform float)\r
+0:?     'minimum' (uniform float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'b' (uniform bool)\r
 \r
index 215f235..4b08a46 100644 (file)
@@ -20,4 +20,13 @@ Linked fragment stage:
 \r
 \r
 Shader version: 100\r
+ERROR: node is still EOpNull!\r
+0:1  Function Definition: main(i1; (mediump int)\r
+0:1    Function Parameters: \r
+0:1      'foo' (in mediump int)\r
+0:3    Sequence\r
+0:3      Branch: Return with expression\r
+0:3        Constant:\r
+0:3          1 (const int)\r
+0:?   Linker Objects\r
 \r
index cf1c016..21e12d6 100644 (file)
@@ -43,4 +43,40 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+0:? Sequence\r
+0:10  Function Definition: main( (void)\r
+0:10    Function Parameters: \r
+0:12    Sequence\r
+0:12      Sequence\r
+0:12        move second child to first child (4-component vector of float)\r
+0:12          'color' (4-component vector of float)\r
+0:12          'BaseColor' (smooth in 4-component vector of float)\r
+0:15      move second child to first child (4-component vector of float)\r
+0:15        'color2' (4-component vector of float)\r
+0:15        'otherColor' (uniform 4-component vector of float)\r
+0:17      Test condition and select (void)\r
+0:17        Condition\r
+0:17        Compare Greater Than (bool)\r
+0:17          'c' (smooth in float)\r
+0:17          'd' (uniform float)\r
+0:17        true case\r
+0:18        add second child into first child (4-component vector of float)\r
+0:18          'color' (4-component vector of float)\r
+0:18          'bigColor' (uniform 4-component vector of float)\r
+0:17        false case\r
+0:20        add second child into first child (4-component vector of float)\r
+0:20          'color' (4-component vector of float)\r
+0:20          'smallColor' (uniform 4-component vector of float)\r
+0:22      move second child to first child (4-component vector of float)\r
+0:22        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:22        component-wise multiply (4-component vector of float)\r
+0:22          'color' (4-component vector of float)\r
+0:22          'color2' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'd' (uniform float)\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'smallColor' (uniform 4-component vector of float)\r
+0:?     'otherColor' (uniform 4-component vector of float)\r
+0:?     'c' (smooth in float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
 \r
index dbb1bdb..59b4aad 100644 (file)
@@ -41,4 +41,38 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+0:? Sequence\r
+0:8  Function Definition: main( (void)\r
+0:8    Function Parameters: \r
+0:10    Sequence\r
+0:10      Sequence\r
+0:10        move second child to first child (4-component vector of float)\r
+0:10          'color' (4-component vector of float)\r
+0:10          'BaseColor' (smooth in 4-component vector of float)\r
+0:12      Sequence\r
+0:12        Sequence\r
+0:12          move second child to first child (int)\r
+0:12            'i' (int)\r
+0:12            Constant:\r
+0:12              0 (const int)\r
+0:12        Loop with condition tested first\r
+0:12          Loop Condition\r
+0:12          Compare Less Than (bool)\r
+0:12            'i' (int)\r
+0:12            'Count' (uniform int)\r
+0:12          Loop Body\r
+0:13          Sequence\r
+0:13            add second child into first child (4-component vector of float)\r
+0:13              'color' (4-component vector of float)\r
+0:13              'bigColor' (uniform 4-component vector of float)\r
+0:12          Loop Terminal Expression\r
+0:12          Pre-Increment (int)\r
+0:12            'i' (int)\r
+0:16      move second child to first child (4-component vector of float)\r
+0:16        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:16        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'Count' (uniform int)\r
 \r
index 62140dc..b7f2cc4 100644 (file)
@@ -65,4 +65,62 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:11  Function Definition: main( (void)\r
+0:11    Function Parameters: \r
+0:13    Sequence\r
+0:13      Sequence\r
+0:13        move second child to first child (4-component vector of float)\r
+0:13          'color' (4-component vector of float)\r
+0:13          Construct vec4 (4-component vector of float)\r
+0:13            Function Call: foo(vf4; (float)\r
+0:13              'BaseColor' (smooth in 4-component vector of float)\r
+0:15      Function Call: bar( (void)\r
+0:16      Sequence\r
+0:16        move second child to first child (float)\r
+0:16          'f' (float)\r
+0:16          Function Call: unreachableReturn( (float)\r
+0:18      move second child to first child (4-component vector of float)\r
+0:18        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:18        vector-scale (4-component vector of float)\r
+0:18          'color' (4-component vector of float)\r
+0:18          'f' (float)\r
+0:21  Function Definition: bar( (void)\r
+0:21    Function Parameters: \r
+0:25  Function Definition: unreachableReturn( (float)\r
+0:25    Function Parameters: \r
+0:27    Sequence\r
+0:27      Function Call: bar( (void)\r
+0:28      Test condition and select (void)\r
+0:28        Condition\r
+0:28        Compare Less Than (bool)\r
+0:28          'd' (uniform float)\r
+0:28          Constant:\r
+0:28            4.200000\r
+0:28        true case\r
+0:29        Branch: Return with expression\r
+0:29          Constant:\r
+0:29            1.200000\r
+0:28        false case\r
+0:31        Branch: Return with expression\r
+0:31          Constant:\r
+0:31            4.500000\r
+0:34  Function Definition: foo(vf4; (float)\r
+0:34    Function Parameters: \r
+0:34      'bar' (in 4-component vector of float)\r
+0:36    Sequence\r
+0:36      Branch: Return with expression\r
+0:36        add (float)\r
+0:36          direct index (float)\r
+0:36            'bar' (in 4-component vector of float)\r
+0:36            Constant:\r
+0:36              0 (const int)\r
+0:36          direct index (float)\r
+0:36            'bar' (in 4-component vector of float)\r
+0:36            Constant:\r
+0:36              1 (const int)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
 \r
index 6362de1..a4ce77b 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/functionCall.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -95,4 +94,90 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:7  Sequence\r
+0:7    move second child to first child (float)\r
+0:7      'h' (float)\r
+0:7      Constant:\r
+0:7        0.000000\r
+0:9  Function Definition: foo(vf4; (float)\r
+0:9    Function Parameters: \r
+0:9      'bar' (in 4-component vector of float)\r
+0:11    Sequence\r
+0:11      Branch: Return with expression\r
+0:11        add (float)\r
+0:11          direct index (float)\r
+0:11            'bar' (in 4-component vector of float)\r
+0:11            Constant:\r
+0:11              0 (const int)\r
+0:11          direct index (float)\r
+0:11            'bar' (in 4-component vector of float)\r
+0:11            Constant:\r
+0:11              1 (const int)\r
+0:14  Function Definition: bar( (void)\r
+0:14    Function Parameters: \r
+0:18  Function Definition: unreachableReturn( (float)\r
+0:18    Function Parameters: \r
+0:20    Sequence\r
+0:20      Test condition and select (void)\r
+0:20        Condition\r
+0:20        Compare Less Than (bool)\r
+0:20          'd' (uniform float)\r
+0:20          Constant:\r
+0:20            4.200000\r
+0:20        true case\r
+0:21        Branch: Return with expression\r
+0:21          Constant:\r
+0:21            1.200000\r
+0:20        false case\r
+0:23        Branch: Return with expression\r
+0:23          Constant:\r
+0:23            4.500000\r
+0:27  Function Definition: missingReturn( (float)\r
+0:27    Function Parameters: \r
+0:29    Sequence\r
+0:29      Test condition and select (void)\r
+0:29        Condition\r
+0:29        Compare Less Than (bool)\r
+0:29          'd' (uniform float)\r
+0:29          Constant:\r
+0:29            4.500000\r
+0:29        true case\r
+0:30        Sequence\r
+0:30          move second child to first child (float)\r
+0:30            'h' (float)\r
+0:30            'd' (uniform float)\r
+0:31          Branch: Return with expression\r
+0:31            Constant:\r
+0:31              3.900000\r
+0:35  Function Definition: main( (void)\r
+0:35    Function Parameters: \r
+0:37    Sequence\r
+0:37      Sequence\r
+0:37        move second child to first child (4-component vector of float)\r
+0:37          'color' (4-component vector of float)\r
+0:37          Construct vec4 (4-component vector of float)\r
+0:37            Function Call: foo(vf4; (float)\r
+0:37              'BaseColor' (smooth in 4-component vector of float)\r
+0:39      Function Call: bar( (void)\r
+0:40      Sequence\r
+0:40        move second child to first child (float)\r
+0:40          'f' (float)\r
+0:40          Function Call: unreachableReturn( (float)\r
+0:41      Sequence\r
+0:41        move second child to first child (float)\r
+0:41          'g' (float)\r
+0:41          Function Call: missingReturn( (float)\r
+0:43      move second child to first child (4-component vector of float)\r
+0:43        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:43        vector-scale (4-component vector of float)\r
+0:43          vector-scale (4-component vector of float)\r
+0:43            'color' (4-component vector of float)\r
+0:43            'f' (float)\r
+0:43          'h' (float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
+0:?     'h' (float)\r
 \r
index 8285868..eff0a02 100644 (file)
@@ -1,5 +1,5 @@
 ../../LunarGLASS/test/functionSemantics.frag\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 400\r
 0:? Sequence\r
@@ -195,4 +195,191 @@ Linked fragment stage:
 \r
 \r
 Shader version: 400\r
+0:? Sequence\r
+0:5  Function Definition: foo(i1;i1;i1;i1;i1;i1; (int)\r
+0:5    Function Parameters: \r
+0:5      'a' (in int)\r
+0:5      'b' (const (read only) int)\r
+0:5      'c' (in int)\r
+0:5      'd' (const (read only) int)\r
+0:5      'e' (out int)\r
+0:5      'f' (inout int)\r
+0:7    Sequence\r
+0:7      Sequence\r
+0:7        move second child to first child (int)\r
+0:7          'sum' (int)\r
+0:7          add (int)\r
+0:7            add (int)\r
+0:7              add (int)\r
+0:7                add (int)\r
+0:7                  'a' (in int)\r
+0:7                  'b' (const (read only) int)\r
+0:7                'c' (in int)\r
+0:7              'd' (const (read only) int)\r
+0:7            'f' (inout int)\r
+0:10      multiply second child into first child (int)\r
+0:10        'a' (in int)\r
+0:10        Constant:\r
+0:10          64 (const int)\r
+0:12      multiply second child into first child (int)\r
+0:12        'c' (in int)\r
+0:12        Constant:\r
+0:12          64 (const int)\r
+0:14      move second child to first child (int)\r
+0:14        'e' (out int)\r
+0:14        Constant:\r
+0:14          1024 (const int)\r
+0:15      multiply second child into first child (int)\r
+0:15        'f' (inout int)\r
+0:15        Constant:\r
+0:15          64 (const int)\r
+0:17      add second child into first child (int)\r
+0:17        'sum' (int)\r
+0:17        add (int)\r
+0:17          add (int)\r
+0:17            add (int)\r
+0:17              add (int)\r
+0:17                add (int)\r
+0:17                  'a' (in int)\r
+0:17                  component-wise multiply (int)\r
+0:17                    Constant:\r
+0:17                      64 (const int)\r
+0:17                    'b' (const (read only) int)\r
+0:17                'c' (in int)\r
+0:17              component-wise multiply (int)\r
+0:17                Constant:\r
+0:17                  64 (const int)\r
+0:17                'd' (const (read only) int)\r
+0:17            'e' (out int)\r
+0:17          'f' (inout int)\r
+0:20      Branch: Return with expression\r
+0:20        'sum' (int)\r
+0:23  Function Definition: foo2(f1;vf3;i1; (int)\r
+0:23    Function Parameters: \r
+0:23      'a' (in float)\r
+0:23      'b' (in 3-component vector of float)\r
+0:23      'r' (out int)\r
+0:25    Sequence\r
+0:25      move second child to first child (int)\r
+0:25        'r' (out int)\r
+0:25        Convert float to int (int)\r
+0:25          component-wise multiply (float)\r
+0:25            Constant:\r
+0:25              3.000000\r
+0:25            'a' (in float)\r
+0:26      Branch: Return with expression\r
+0:26        Convert float to int (int)\r
+0:26          component-wise multiply (float)\r
+0:26            Constant:\r
+0:26              5.000000\r
+0:26            direct index (float)\r
+0:26              'b' (in 3-component vector of float)\r
+0:26              Constant:\r
+0:26                1 (const int)\r
+0:29  Function Definition: foo3( (int)\r
+0:29    Function Parameters: \r
+0:31    Sequence\r
+0:31      Test condition and select (void)\r
+0:31        Condition\r
+0:31        Compare Greater Than (bool)\r
+0:31          'u' (uniform float)\r
+0:31          Constant:\r
+0:31            3.200000\r
+0:31        true case\r
+0:32        Sequence\r
+0:32          Branch: Kill\r
+0:33          Branch: Return with expression\r
+0:33            Constant:\r
+0:33              1000000 (const int)\r
+0:36      Branch: Return with expression\r
+0:36        Constant:\r
+0:36          2000000 (const int)\r
+0:39  Function Definition: main( (void)\r
+0:39    Function Parameters: \r
+0:?     Sequence\r
+0:42      Sequence\r
+0:42        move second child to first child (int)\r
+0:42          't' (int)\r
+0:42          Constant:\r
+0:42            2 (const int)\r
+0:46      move second child to first child (int)\r
+0:46        direct index (int)\r
+0:46          t: direct index for structure (4-component vector of int)\r
+0:46            'f' (structure{4-component vector of int t})\r
+0:46            Constant:\r
+0:46              0 (const int)\r
+0:46          Constant:\r
+0:46            1 (const int)\r
+0:46        Constant:\r
+0:46          32 (const int)\r
+0:49      Sequence\r
+0:49        move second child to first child (int)\r
+0:49          'color' (int)\r
+0:49          Function Call: foo(i1;i1;i1;i1;i1;i1; (int)\r
+0:49            Constant:\r
+0:49              1 (const int)\r
+0:49            Constant:\r
+0:49              2 (const int)\r
+0:49            add (int)\r
+0:49              't' (int)\r
+0:49              't' (int)\r
+0:49            Constant:\r
+0:49              8 (const int)\r
+0:49            'e' (int)\r
+0:49            direct index (int)\r
+0:49              t: direct index for structure (4-component vector of int)\r
+0:49                'f' (structure{4-component vector of int t})\r
+0:49                Constant:\r
+0:49                  0 (const int)\r
+0:49              Constant:\r
+0:49                1 (const int)\r
+0:51      add second child into first child (int)\r
+0:51        'color' (int)\r
+0:51        component-wise multiply (int)\r
+0:51          Constant:\r
+0:51            128 (const int)\r
+0:51          add (int)\r
+0:51            'e' (int)\r
+0:51            direct index (int)\r
+0:51              t: direct index for structure (4-component vector of int)\r
+0:51                'f' (structure{4-component vector of int t})\r
+0:51                Constant:\r
+0:51                  0 (const int)\r
+0:51              Constant:\r
+0:51                1 (const int)\r
+0:57      move second child to first child (float)\r
+0:57        'ret' (float)\r
+0:57        Convert int to float (float)\r
+0:57          Comma (int)\r
+0:57            move second child to first child (int)\r
+0:57              'tempReturn' (int)\r
+0:57              Function Call: foo2(f1;vf3;i1; (int)\r
+0:57                Constant:\r
+0:57                  4.000000\r
+0:57                Constant:\r
+0:57                  1.000000\r
+0:57                  2.000000\r
+0:57                  3.000000\r
+0:57                'tempArg' (int)\r
+0:57            move second child to first child (float)\r
+0:57              'arg' (float)\r
+0:57              Convert int to float (float)\r
+0:57                'tempArg' (int)\r
+0:57            'tempReturn' (int)\r
+0:58      add second child into first child (int)\r
+0:58        'color' (int)\r
+0:58        Convert float to int (int)\r
+0:58          add (float)\r
+0:58            'ret' (float)\r
+0:58            'arg' (float)\r
+0:60      add second child into first child (int)\r
+0:60        'color' (int)\r
+0:60        Function Call: foo3( (int)\r
+0:62      move second child to first child (4-component vector of float)\r
+0:62        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:62        Construct vec4 (4-component vector of float)\r
+0:62          Convert int to float (float)\r
+0:62            'color' (int)\r
+0:?   Linker Objects\r
+0:?     'u' (uniform float)\r
 \r
index 218ca07..3df41ba 100644 (file)
@@ -33,4 +33,30 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+0:? Sequence\r
+0:11  Function Definition: main( (void)\r
+0:11    Function Parameters: \r
+0:?     Sequence\r
+0:15      Sequence\r
+0:15        move second child to first child (2-component vector of float)\r
+0:15          't' (2-component vector of float)\r
+0:15          add (2-component vector of float)\r
+0:15            direct index (smooth 2-component vector of float)\r
+0:15              'v' (smooth in 2-element array of 2-component vector of float)\r
+0:15              Constant:\r
+0:15                0 (const int)\r
+0:15            direct index (smooth 2-component vector of float)\r
+0:15              'v' (smooth in 2-element array of 2-component vector of float)\r
+0:15              Constant:\r
+0:15                1 (const int)\r
+0:17      move second child to first child (4-component vector of float)\r
+0:17        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:17        Constant:\r
+0:17          30.000000\r
+0:17          30.000000\r
+0:17          30.000000\r
+0:17          30.000000\r
+0:?   Linker Objects\r
+0:?     'u' (uniform 3-element array of 4-component vector of float)\r
+0:?     'v' (smooth in 2-element array of 2-component vector of float)\r
 \r
index ad3da79..dd718d8 100644 (file)
@@ -190,4 +190,164 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:20  Function Definition: main( (void)\r
+0:20    Function Parameters: \r
+0:20    Sequence\r
+0:20      move second child to first child (highp 4-component vector of float)\r
+0:20        'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:20        Construct vec4 (highp 4-component vector of float)\r
+0:20          'foo' (highp float)\r
+0:22  Function Definition: foo2(vf4; (highp 4-component vector of float)\r
+0:22    Function Parameters: \r
+0:22      'a' (in highp 4-component vector of float)\r
+0:24    Sequence\r
+0:24      Sequence\r
+0:24        move second child to first child (highp 4-component vector of float)\r
+0:24          'b' (highp 4-component vector of float)\r
+0:24          'a' (in highp 4-component vector of float)\r
+0:25      Branch: Return with expression\r
+0:25        'b' (highp 4-component vector of float)\r
+0:42  Sequence\r
+0:42    move second child to first child (highp int)\r
+0:42      'a1' (highp int)\r
+0:42      Constant:\r
+0:42        4 (const int)\r
+0:43  Sequence\r
+0:43    move second child to first child (highp int)\r
+0:43      'a2' (highp int)\r
+0:43      Constant:\r
+0:43        3 (const int)\r
+0:44  Sequence\r
+0:44    move second child to first child (highp int)\r
+0:44      'a3' (highp int)\r
+0:44      Constant:\r
+0:44        4 (const int)\r
+0:45  Sequence\r
+0:45    move second child to first child (highp int)\r
+0:45      'a4' (highp int)\r
+0:45      'a2' (highp int)\r
+0:47  Sequence\r
+0:47    move second child to first child (highp int)\r
+0:47      'q1' (highp int)\r
+0:47      Constant:\r
+0:47        1 (const int)\r
+0:48  Sequence\r
+0:48    move second child to first child (highp int)\r
+0:48      'q2' (highp int)\r
+0:48      Constant:\r
+0:48        1 (const int)\r
+0:49  Sequence\r
+0:49    move second child to first child (highp int)\r
+0:49      'q3' (highp int)\r
+0:49      Constant:\r
+0:49        1 (const int)\r
+0:50  Sequence\r
+0:50    move second child to first child (highp int)\r
+0:50      'q4' (highp int)\r
+0:50      Constant:\r
+0:50        1 (const int)\r
+0:65  Sequence\r
+0:65    move second child to first child (highp int)\r
+0:65      'abdece' (highp int)\r
+0:65      Constant:\r
+0:65        10 (const int)\r
+0:66  Sequence\r
+0:66    move second child to first child (highp int)\r
+0:66      'aoeuntaoehu' (highp int)\r
+0:66      'abdece' (highp int)\r
+0:74  Sequence\r
+0:74    move second child to first child (highp float)\r
+0:74      'funkyf' (highp float)\r
+0:75      Constant:\r
+0:75        12300000000000000.000000\r
+0:85  Sequence\r
+0:84    move second child to first child (highp int)\r
+0:84      'funkyh' (highp int)\r
+0:86      Constant:\r
+0:86        244 (const int)\r
+0:91  Sequence\r
+0:91    move second child to first child (highp int)\r
+0:91      'funkyo' (highp int)\r
+0:92      Constant:\r
+0:92        34 (const int)\r
+0:96  Sequence\r
+0:96    move second child to first child (highp int)\r
+0:96      'c' (highp int)\r
+0:97      Constant:\r
+0:97        11 (const int)\r
+0:98  Sequence\r
+0:98    move second child to first child (highp int)\r
+0:98      'd' (highp int)\r
+0:98      Constant:\r
+0:98        12 (const int)\r
+0:107  Sequence\r
+0:107    move second child to first child (highp int)\r
+0:107      'bar103' (highp int)\r
+0:107      Constant:\r
+0:107        17 (const int)\r
+0:113  Sequence\r
+0:113    move second child to first child (highp int)\r
+0:113      'bar104' (highp int)\r
+0:113      Constant:\r
+0:113        19 (const int)\r
+0:119  Sequence\r
+0:119    move second child to first child (highp int)\r
+0:119      'bar105' (highp int)\r
+0:119      Constant:\r
+0:119        19 (const int)\r
+0:122  Sequence\r
+0:122    move second child to first child (highp int)\r
+0:122      'bar106' (highp int)\r
+0:122      Constant:\r
+0:122        12 (const int)\r
+0:123  Sequence\r
+0:123    move second child to first child (highp int)\r
+0:123      'bar107' (highp int)\r
+0:128      Constant:\r
+0:128        5 (const int)\r
+0:131  Function Definition: foo203209409( (void)\r
+0:131    Function Parameters: \r
+0:134    Sequence\r
+0:134      add second child into first child (highp int)\r
+0:133        'bar107' (highp int)\r
+0:134        Constant:\r
+0:134          37 (const int)\r
+0:135      multiply second child into first child (highp int)\r
+0:135        'bar107' (highp int)\r
+0:136        Constant:\r
+0:136          38 (const int)\r
+0:137      divide second child into first child (highp int)\r
+0:137        'bar107' (highp int)\r
+0:138        Constant:\r
+0:138          39 (const int)\r
+0:139      add (highp int)\r
+0:139        'bar107' (highp int)\r
+0:140        Constant:\r
+0:140          41 (const int)\r
+0:?   Linker Objects\r
+0:?     'foo' (highp float)\r
+0:?     'goodDecl' (highp int)\r
+0:?     'a1' (highp int)\r
+0:?     'a2' (highp int)\r
+0:?     'a3' (highp int)\r
+0:?     'a4' (highp int)\r
+0:?     'q1' (highp int)\r
+0:?     'q2' (highp int)\r
+0:?     'q3' (highp int)\r
+0:?     'q4' (highp int)\r
+0:?     'abdece' (highp int)\r
+0:?     'aoeuntaoehu' (highp int)\r
+0:?     'funkyf' (highp float)\r
+0:?     'funkyh' (highp int)\r
+0:?     'funkyo' (highp int)\r
+0:?     'c' (highp int)\r
+0:?     'd' (highp int)\r
+0:?     'bar103' (highp int)\r
+0:?     'bar104' (highp int)\r
+0:?     'bar105' (highp int)\r
+0:?     'bar106' (highp int)\r
+0:?     'bar107' (highp int)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index 4313aae..6f1e0ec 100644 (file)
@@ -97,4 +97,71 @@ Linked vertex stage:
 \r
 \r
 Shader version: 100\r
+ERROR: node is still EOpNull!\r
+0:20  Function Definition: main( (void)\r
+0:20    Function Parameters: \r
+0:20    Sequence\r
+0:20      move second child to first child (highp 4-component vector of float)\r
+0:20        'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:20        Construct vec4 (highp 4-component vector of float)\r
+0:20          'foo' (highp float)\r
+0:22  Function Definition: foo2(vf4; (highp 4-component vector of float)\r
+0:22    Function Parameters: \r
+0:22      'a' (in highp 4-component vector of float)\r
+0:24    Sequence\r
+0:24      Sequence\r
+0:24        move second child to first child (highp 4-component vector of float)\r
+0:24          'b' (highp 4-component vector of float)\r
+0:24          'a' (in highp 4-component vector of float)\r
+0:25      Branch: Return with expression\r
+0:25        'b' (highp 4-component vector of float)\r
+0:40  Sequence\r
+0:40    move second child to first child (highp int)\r
+0:40      'a1' (highp int)\r
+0:40      Constant:\r
+0:40        4 (const int)\r
+0:41  Sequence\r
+0:41    move second child to first child (highp int)\r
+0:41      'a2' (highp int)\r
+0:41      Constant:\r
+0:41        3 (const int)\r
+0:42  Sequence\r
+0:42    move second child to first child (highp int)\r
+0:42      'a3' (highp int)\r
+0:42      Constant:\r
+0:42        4 (const int)\r
+0:43  Sequence\r
+0:43    move second child to first child (highp int)\r
+0:43      'a4' (highp int)\r
+0:43      'a2' (highp int)\r
+0:45  Sequence\r
+0:45    move second child to first child (highp int)\r
+0:45      'q1' (highp int)\r
+0:45      Constant:\r
+0:45        1 (const int)\r
+0:46  Sequence\r
+0:46    move second child to first child (highp int)\r
+0:46      'q2' (highp int)\r
+0:46      Constant:\r
+0:46        1 (const int)\r
+0:47  Sequence\r
+0:47    move second child to first child (highp int)\r
+0:47      'q3' (highp int)\r
+0:47      Constant:\r
+0:47        1 (const int)\r
+0:48  Sequence\r
+0:48    move second child to first child (highp int)\r
+0:48      'q4' (highp int)\r
+0:48      Constant:\r
+0:48        1 (const int)\r
+0:?   Linker Objects\r
+0:?     'foo' (highp float)\r
+0:?     'a1' (highp int)\r
+0:?     'a2' (highp int)\r
+0:?     'a3' (highp int)\r
+0:?     'a4' (highp int)\r
+0:?     'q1' (highp int)\r
+0:?     'q2' (highp int)\r
+0:?     'q3' (highp int)\r
+0:?     'q4' (highp int)\r
 \r
index 0bdcabb..e460461 100644 (file)
@@ -1,5 +1,4 @@
 link1.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 130\r
 0:? Sequence\r
@@ -81,7 +80,6 @@ Shader version: 130
 0:?       3.900000\r
 \r
 link2.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 130\r
 Requested GL_OES_standard_derivatives\r
index 9a3c6c8..f6db0b8 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/localAggregates.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:5: varying deprecated in version 130; may be removed in future release\r
 \r
@@ -211,4 +210,205 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:34  Function Definition: main( (void)\r
+0:34    Function Parameters: \r
+0:?     Sequence\r
+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})\r
+0:41        'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+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})\r
+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})\r
+0:41          Constant:\r
+0:41            0 (const int)\r
+0:43      Test condition and select (void)\r
+0:43        Condition\r
+0:43        Compare Greater Than (bool)\r
+0:43          i: direct index for structure (int)\r
+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})\r
+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})\r
+0:43              Constant:\r
+0:43                0 (const int)\r
+0:43            Constant:\r
+0:43              0 (const int)\r
+0:43          Constant:\r
+0:43            0 (const int)\r
+0:43        true case\r
+0:44        Sequence\r
+0:44          move second child to first child (float)\r
+0:44            f: direct index for structure (float)\r
+0:44              s1_1: direct index for structure (structure{int i, float f})\r
+0:44                'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+0:44                Constant:\r
+0:44                  2 (const int)\r
+0:44              Constant:\r
+0:44                1 (const int)\r
+0:44            Constant:\r
+0:44              1.000000\r
+0:45          move second child to first child (float)\r
+0:45            direct index (float)\r
+0:45              'localFArray' (16-element array of float)\r
+0:45              Constant:\r
+0:45                4 (const int)\r
+0:45            direct index (float)\r
+0:45              'coord' (smooth in 2-component vector of float)\r
+0:45              Constant:\r
+0:45                0 (const int)\r
+0:46          move second child to first child (int)\r
+0:46            direct index (int)\r
+0:46              'localIArray' (8-element array of int)\r
+0:46              Constant:\r
+0:46                2 (const int)\r
+0:46            i: direct index for structure (int)\r
+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})\r
+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})\r
+0:46                Constant:\r
+0:46                  0 (const int)\r
+0:46              Constant:\r
+0:46                0 (const int)\r
+0:43        false case\r
+0:48        Sequence\r
+0:48          move second child to first child (float)\r
+0:48            f: direct index for structure (float)\r
+0:48              s1_1: direct index for structure (structure{int i, float f})\r
+0:48                'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+0:48                Constant:\r
+0:48                  2 (const int)\r
+0:48              Constant:\r
+0:48                1 (const int)\r
+0:48            direct index (float)\r
+0:48              'coord' (smooth in 2-component vector of float)\r
+0:48              Constant:\r
+0:48                0 (const int)\r
+0:49          move second child to first child (float)\r
+0:49            direct index (float)\r
+0:49              'localFArray' (16-element array of float)\r
+0:49              Constant:\r
+0:49                4 (const int)\r
+0:49            Constant:\r
+0:49              1.000000\r
+0:50          move second child to first child (int)\r
+0:50            direct index (int)\r
+0:50              'localIArray' (8-element array of int)\r
+0:50              Constant:\r
+0:50                2 (const int)\r
+0:50            Constant:\r
+0:50              0 (const int)\r
+0:53      Test condition and select (void)\r
+0:53        Condition\r
+0:53        Compare Equal (bool)\r
+0:53          direct index (int)\r
+0:53            'localIArray' (8-element array of int)\r
+0:53            Constant:\r
+0:53              2 (const int)\r
+0:53          Constant:\r
+0:53            0 (const int)\r
+0:53        true case\r
+0:54        Pre-Increment (float)\r
+0:54          direct index (float)\r
+0:54            'localFArray' (16-element array of float)\r
+0:54            Constant:\r
+0:54              4 (const int)\r
+0:57      Sequence\r
+0:57        move second child to first child (int)\r
+0:57          'x' (int)\r
+0:57          Constant:\r
+0:57            5 (const int)\r
+0:58      move second child to first child (float)\r
+0:58        indirect index (float)\r
+0:58          'localArray' (16-element array of float)\r
+0:58          'x' (int)\r
+0:58        direct index (float)\r
+0:58          'coord' (smooth in 2-component vector of float)\r
+0:58          Constant:\r
+0:58            0 (const int)\r
+0:62      Sequence\r
+0:62        Sequence\r
+0:62          move second child to first child (int)\r
+0:62            'i' (int)\r
+0:62            Constant:\r
+0:62              0 (const int)\r
+0:62        Loop with condition tested first\r
+0:62          Loop Condition\r
+0:62          Compare Less Than (bool)\r
+0:62            'i' (int)\r
+0:62            Constant:\r
+0:62              16 (const int)\r
+0:62          Loop Body\r
+0:63          move second child to first child (float)\r
+0:63            indirect index (float)\r
+0:63              'a' (16-element array of float)\r
+0:63              'i' (int)\r
+0:63            Constant:\r
+0:63              0.000000\r
+0:62          Loop Terminal Expression\r
+0:62          Post-Increment (int)\r
+0:62            'i' (int)\r
+0:65      Test condition and select (void)\r
+0:65        Condition\r
+0:65        Compare Equal (bool)\r
+0:65          'condition' (uniform int)\r
+0:65          Constant:\r
+0:65            1 (const int)\r
+0:65        true case\r
+0:66        move second child to first child (16-element array of float)\r
+0:66          'a' (16-element array of float)\r
+0:66          'localArray' (16-element array of float)\r
+0:68      move second child to first child (4-component vector of float)\r
+0:68        bleh: direct index for structure (4-component vector of float)\r
+0:68          'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+0:68          Constant:\r
+0:68            3 (const int)\r
+0:68        'color' (smooth in 4-component vector of float)\r
+0:69      move second child to first child (float)\r
+0:69        direct index (float)\r
+0:69          bleh: direct index for structure (4-component vector of float)\r
+0:69            'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+0:69            Constant:\r
+0:69              3 (const int)\r
+0:69          Constant:\r
+0:69            2 (const int)\r
+0:69        direct index (float)\r
+0:69          'coord' (smooth in 2-component vector of float)\r
+0:69          Constant:\r
+0:69            1 (const int)\r
+0:71      move second child to first child (4-component vector of float)\r
+0:71        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:71        component-wise multiply (4-component vector of float)\r
+0:71          vector-scale (4-component vector of float)\r
+0:71            bleh: direct index for structure (4-component vector of float)\r
+0:71              'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+0:71              Constant:\r
+0:71                3 (const int)\r
+0:71            add (float)\r
+0:71              add (float)\r
+0:71                add (float)\r
+0:71                  direct index (float)\r
+0:71                    'localFArray' (16-element array of float)\r
+0:71                    Constant:\r
+0:71                      4 (const int)\r
+0:71                  f: direct index for structure (float)\r
+0:71                    s1_1: direct index for structure (structure{int i, float f})\r
+0:71                      'locals2' (structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+0:71                      Constant:\r
+0:71                        2 (const int)\r
+0:71                    Constant:\r
+0:71                      1 (const int)\r
+0:71                indirect index (float)\r
+0:71                  'localArray' (16-element array of float)\r
+0:71                  'x' (int)\r
+0:71              indirect index (float)\r
+0:71                'a' (16-element array of float)\r
+0:71                'x' (int)\r
+0:71          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:71            'sampler' (uniform sampler2D)\r
+0:71            'coord' (smooth in 2-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
+0:?     'color' (smooth in 4-component vector of float)\r
+0:?     'foo' (uniform structure{int i, float f})\r
+0:?     'foo2' (uniform structure{int i, float f, structure{int i, float f} s1_1, 4-component vector of float bleh})\r
+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})\r
+0:?     'uFloatArray' (uniform 16-element array of float)\r
+0:?     'condition' (uniform int)\r
 \r
index 4ebdc5b..0ecaaf7 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/loops.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:14: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -971,4 +970,966 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:53  Function Definition: main( (void)\r
+0:53    Function Parameters: \r
+0:55    Sequence\r
+0:55      Sequence\r
+0:55        move second child to first child (4-component vector of float)\r
+0:55          'color' (4-component vector of float)\r
+0:55          'BaseColor' (smooth in 4-component vector of float)\r
+0:58      Loop with condition tested first\r
+0:58        Loop Condition\r
+0:58        Constant:\r
+0:58          true (const bool)\r
+0:58        Loop Body\r
+0:59        Sequence\r
+0:59          Test condition and select (void)\r
+0:59            Condition\r
+0:59            Compare Less Than (bool)\r
+0:59              direct index (float)\r
+0:59                'color' (4-component vector of float)\r
+0:59                Constant:\r
+0:59                  0 (const int)\r
+0:59              Constant:\r
+0:59                0.330000\r
+0:59            true case\r
+0:60            Sequence\r
+0:60              add second child into first child (4-component vector of float)\r
+0:60                'color' (4-component vector of float)\r
+0:60                Constant:\r
+0:60                  0.330000\r
+0:60                  0.330000\r
+0:60                  0.330000\r
+0:60                  0.330000\r
+0:61              Branch: Break\r
+0:63          Test condition and select (void)\r
+0:63            Condition\r
+0:63            Compare Less Than (bool)\r
+0:63              direct index (float)\r
+0:63                'color' (4-component vector of float)\r
+0:63                Constant:\r
+0:63                  0 (const int)\r
+0:63              Constant:\r
+0:63                0.660000\r
+0:63            true case\r
+0:64            Sequence\r
+0:64              add second child into first child (4-component vector of float)\r
+0:64                'color' (4-component vector of float)\r
+0:64                Constant:\r
+0:64                  0.660000\r
+0:64                  0.660000\r
+0:64                  0.660000\r
+0:64                  0.660000\r
+0:65              Branch: Break\r
+0:68          add second child into first child (4-component vector of float)\r
+0:68            'color' (4-component vector of float)\r
+0:68            Constant:\r
+0:68              0.330000\r
+0:68              0.330000\r
+0:68              0.330000\r
+0:68              0.330000\r
+0:69          Branch: Break\r
+0:73      Loop with condition tested first\r
+0:73        Loop Condition\r
+0:73        Compare Less Than (bool)\r
+0:73          direct index (float)\r
+0:73            'color' (4-component vector of float)\r
+0:73            Constant:\r
+0:73              0 (const int)\r
+0:73          'd' (uniform float)\r
+0:73        Loop Body\r
+0:74        Sequence\r
+0:74          add second child into first child (4-component vector of float)\r
+0:74            'color' (4-component vector of float)\r
+0:74            'bigColor' (uniform 4-component vector of float)\r
+0:78      Loop with condition tested first\r
+0:78        Loop Condition\r
+0:78        Compare Less Than (bool)\r
+0:78          direct index (float)\r
+0:78            'color' (4-component vector of float)\r
+0:78            Constant:\r
+0:78              2 (const int)\r
+0:78          'd' (uniform float)\r
+0:78        Loop Body\r
+0:79        Sequence\r
+0:79          add second child into first child (4-component vector of float)\r
+0:79            'color' (4-component vector of float)\r
+0:79            'bigColor1_1' (uniform 4-component vector of float)\r
+0:80          Test condition and select (void)\r
+0:80            Condition\r
+0:80            Compare Less Than (bool)\r
+0:80              direct index (float)\r
+0:80                'color' (4-component vector of float)\r
+0:80                Constant:\r
+0:80                  3 (const int)\r
+0:80              'd' (uniform float)\r
+0:80            true case\r
+0:81            Branch: Continue\r
+0:83          add second child into first child (4-component vector of float)\r
+0:83            'color' (4-component vector of float)\r
+0:83            'bigColor1_1' (uniform 4-component vector of float)\r
+0:87      Loop with condition tested first\r
+0:87        Loop Condition\r
+0:87        Compare Less Than (bool)\r
+0:87          direct index (float)\r
+0:87            'color' (4-component vector of float)\r
+0:87            Constant:\r
+0:87              0 (const int)\r
+0:87          Constant:\r
+0:87            42.000000\r
+0:87        Loop Body\r
+0:88        Sequence\r
+0:88          Pre-Increment (4-component vector of float)\r
+0:88            'color' (4-component vector of float)\r
+0:92      Loop with condition tested first\r
+0:92        Loop Condition\r
+0:92        logical-and (bool)\r
+0:92          Compare Less Than (bool)\r
+0:92            direct index (float)\r
+0:92              'color' (4-component vector of float)\r
+0:92              Constant:\r
+0:92                3 (const int)\r
+0:92            'd2' (uniform float)\r
+0:92          Compare Less Than (bool)\r
+0:92            direct index (float)\r
+0:92              'color' (4-component vector of float)\r
+0:92              Constant:\r
+0:92                1 (const int)\r
+0:92            'd3' (uniform float)\r
+0:92        Loop Body\r
+0:93        Sequence\r
+0:93          add second child into first child (4-component vector of float)\r
+0:93            'color' (4-component vector of float)\r
+0:93            'bigColor1_2' (uniform 4-component vector of float)\r
+0:97      Loop with condition tested first\r
+0:97        Loop Condition\r
+0:97        Compare Less Than (bool)\r
+0:97          direct index (float)\r
+0:97            'color' (4-component vector of float)\r
+0:97            Constant:\r
+0:97              2 (const int)\r
+0:97          'd3' (uniform float)\r
+0:97        Loop Body\r
+0:98        Sequence\r
+0:98          add second child into first child (4-component vector of float)\r
+0:98            'color' (4-component vector of float)\r
+0:98            'bigColor1_3' (uniform 4-component vector of float)\r
+0:99          Test condition and select (void)\r
+0:99            Condition\r
+0:99            Compare Less Than (bool)\r
+0:99              direct index (float)\r
+0:99                'color' (4-component vector of float)\r
+0:99                Constant:\r
+0:99                  1 (const int)\r
+0:99              'd4' (uniform float)\r
+0:99            true case\r
+0:100            Branch: Break\r
+0:101          add second child into first child (4-component vector of float)\r
+0:101            'color' (4-component vector of float)\r
+0:101            'bigColor1_3' (uniform 4-component vector of float)\r
+0:105      Sequence\r
+0:105        Sequence\r
+0:105          move second child to first child (int)\r
+0:105            'i' (int)\r
+0:105            Constant:\r
+0:105              0 (const int)\r
+0:105        Loop with condition tested first\r
+0:105          Loop Condition\r
+0:105          Compare Less Than (bool)\r
+0:105            'i' (int)\r
+0:105            'Count' (uniform int)\r
+0:105          Loop Body\r
+0:106          Sequence\r
+0:106            add second child into first child (4-component vector of float)\r
+0:106              'color' (4-component vector of float)\r
+0:106              'bigColor2' (uniform 4-component vector of float)\r
+0:105          Loop Terminal Expression\r
+0:105          Pre-Increment (int)\r
+0:105            'i' (int)\r
+0:112      Loop with condition not tested first\r
+0:112        Loop Condition\r
+0:112        Compare Less Than (bool)\r
+0:112          direct index (float)\r
+0:112            'color' (4-component vector of float)\r
+0:112            Constant:\r
+0:112              0 (const int)\r
+0:112          'd2' (uniform float)\r
+0:112        Loop Body\r
+0:111        Sequence\r
+0:111          add second child into first child (4-component vector of float)\r
+0:111            'color' (4-component vector of float)\r
+0:111            'bigColor3' (uniform 4-component vector of float)\r
+0:115      Sequence\r
+0:115        Sequence\r
+0:115          move second child to first child (int)\r
+0:115            'i' (int)\r
+0:115            Constant:\r
+0:115              0 (const int)\r
+0:115        Loop with condition tested first\r
+0:115          Loop Condition\r
+0:115          Compare Less Than (bool)\r
+0:115            'i' (int)\r
+0:115            Constant:\r
+0:115              42 (const int)\r
+0:115          Loop Body\r
+0:116          Sequence\r
+0:116            add second child into first child (float)\r
+0:116              direct index (float)\r
+0:116                'color' (4-component vector of float)\r
+0:116                Constant:\r
+0:116                  2 (const int)\r
+0:116              'd3' (uniform float)\r
+0:115          Loop Terminal Expression\r
+0:115          Pre-Increment (int)\r
+0:115            'i' (int)\r
+0:120      Sequence\r
+0:120        Sequence\r
+0:120          move second child to first child (int)\r
+0:120            'i' (int)\r
+0:120            Constant:\r
+0:120              0 (const int)\r
+0:120        Loop with condition tested first\r
+0:120          Loop Condition\r
+0:120          Compare Less Than (bool)\r
+0:120            'i' (int)\r
+0:120            Constant:\r
+0:120              100 (const int)\r
+0:120          Loop Body\r
+0:121          Sequence\r
+0:121            Test condition and select (void)\r
+0:121              Condition\r
+0:121              Compare Less Than (bool)\r
+0:121                direct index (float)\r
+0:121                  'color' (4-component vector of float)\r
+0:121                  Constant:\r
+0:121                    2 (const int)\r
+0:121                Constant:\r
+0:121                  20.000000\r
+0:121              true case\r
+0:122              Post-Increment (float)\r
+0:122                direct index (float)\r
+0:122                  'color' (4-component vector of float)\r
+0:122                  Constant:\r
+0:122                    0 (const int)\r
+0:121              false case\r
+0:124              Post-Increment (float)\r
+0:124                direct index (float)\r
+0:124                  'color' (4-component vector of float)\r
+0:124                  Constant:\r
+0:124                    1 (const int)\r
+0:125            Test condition and select (void)\r
+0:125              Condition\r
+0:125              Compare Less Than (bool)\r
+0:125                direct index (float)\r
+0:125                  'color' (4-component vector of float)\r
+0:125                  Constant:\r
+0:125                    3 (const int)\r
+0:125                Constant:\r
+0:125                  20.000000\r
+0:125              true case\r
+0:126              Test condition and select (void)\r
+0:126                Condition\r
+0:126                Compare Greater Than (bool)\r
+0:126                  direct index (float)\r
+0:126                    'color' (4-component vector of float)\r
+0:126                    Constant:\r
+0:126                      2 (const int)\r
+0:126                  direct index (float)\r
+0:126                    'color' (4-component vector of float)\r
+0:126                    Constant:\r
+0:126                      1 (const int)\r
+0:126                true case\r
+0:127                Constant:\r
+0:127                  0 (const int)\r
+0:120          Loop Terminal Expression\r
+0:120          Pre-Increment (int)\r
+0:120            'i' (int)\r
+0:131      Sequence\r
+0:131        Sequence\r
+0:131          move second child to first child (int)\r
+0:131            'i' (int)\r
+0:131            Constant:\r
+0:131              0 (const int)\r
+0:131        Loop with condition tested first\r
+0:131          Loop Condition\r
+0:131          Compare Less Than (bool)\r
+0:131            'i' (int)\r
+0:131            Constant:\r
+0:131              120 (const int)\r
+0:131          Loop Body\r
+0:132          Sequence\r
+0:132            Test condition and select (void)\r
+0:132              Condition\r
+0:132              Compare Less Than (bool)\r
+0:132                direct index (float)\r
+0:132                  'color' (4-component vector of float)\r
+0:132                  Constant:\r
+0:132                    2 (const int)\r
+0:132                Constant:\r
+0:132                  20.000000\r
+0:132              true case\r
+0:133              Post-Increment (float)\r
+0:133                direct index (float)\r
+0:133                  'color' (4-component vector of float)\r
+0:133                  Constant:\r
+0:133                    0 (const int)\r
+0:132              false case\r
+0:135              Post-Increment (float)\r
+0:135                direct index (float)\r
+0:135                  'color' (4-component vector of float)\r
+0:135                  Constant:\r
+0:135                    1 (const int)\r
+0:131          Loop Terminal Expression\r
+0:131          Pre-Increment (int)\r
+0:131            'i' (int)\r
+0:139      Sequence\r
+0:139        Sequence\r
+0:139          move second child to first child (int)\r
+0:139            'i' (int)\r
+0:139            Constant:\r
+0:139              0 (const int)\r
+0:139        Loop with condition tested first\r
+0:139          Loop Condition\r
+0:139          Compare Less Than (bool)\r
+0:139            'i' (int)\r
+0:139            Constant:\r
+0:139              42 (const int)\r
+0:139          Loop Body\r
+0:140          Sequence\r
+0:140            add second child into first child (float)\r
+0:140              direct index (float)\r
+0:140                'color' (4-component vector of float)\r
+0:140                Constant:\r
+0:140                  2 (const int)\r
+0:140              'd3' (uniform float)\r
+0:141            Test condition and select (void)\r
+0:141              Condition\r
+0:141              Compare Less Than (bool)\r
+0:141                direct index (float)\r
+0:141                  'color' (4-component vector of float)\r
+0:141                  Constant:\r
+0:141                    0 (const int)\r
+0:141                'd4' (uniform float)\r
+0:141              true case\r
+0:142              Branch: Continue\r
+0:143            Pre-Increment (float)\r
+0:143              direct index (float)\r
+0:143                'color' (4-component vector of float)\r
+0:143                Constant:\r
+0:143                  3 (const int)\r
+0:139          Loop Terminal Expression\r
+0:139          Pre-Increment (int)\r
+0:139            'i' (int)\r
+0:147      Sequence\r
+0:147        Sequence\r
+0:147          move second child to first child (int)\r
+0:147            'i' (int)\r
+0:147            Constant:\r
+0:147              0 (const int)\r
+0:147        Loop with condition tested first\r
+0:147          Loop Condition\r
+0:147          Compare Less Than (bool)\r
+0:147            'i' (int)\r
+0:147            Constant:\r
+0:147              42 (const int)\r
+0:147          Loop Body\r
+0:148          Sequence\r
+0:148            add second child into first child (float)\r
+0:148              direct index (float)\r
+0:148                'color' (4-component vector of float)\r
+0:148                Constant:\r
+0:148                  2 (const int)\r
+0:148              'd3' (uniform float)\r
+0:149            Test condition and select (void)\r
+0:149              Condition\r
+0:149              Compare Less Than (bool)\r
+0:149                direct index (float)\r
+0:149                  'color' (4-component vector of float)\r
+0:149                  Constant:\r
+0:149                    0 (const int)\r
+0:149                'd4' (uniform float)\r
+0:149              true case\r
+0:150              Branch: Break\r
+0:151            Pre-Increment (float)\r
+0:151              direct index (float)\r
+0:151                'color' (4-component vector of float)\r
+0:151                Constant:\r
+0:151                  3 (const int)\r
+0:147          Loop Terminal Expression\r
+0:147          Pre-Increment (int)\r
+0:147            'i' (int)\r
+0:163      Loop with condition not tested first\r
+0:163        Loop Condition\r
+0:163        Compare Less Than (bool)\r
+0:163          direct index (float)\r
+0:163            'color' (4-component vector of float)\r
+0:163            Constant:\r
+0:163              2 (const int)\r
+0:163          'd4' (uniform float)\r
+0:163        Loop Body\r
+0:156        Sequence\r
+0:156          add second child into first child (4-component vector of float)\r
+0:156            'color' (4-component vector of float)\r
+0:156            'bigColor4' (uniform 4-component vector of float)\r
+0:157          Test condition and select (void)\r
+0:157            Condition\r
+0:157            Compare Less Than (bool)\r
+0:157              direct index (float)\r
+0:157                'color' (4-component vector of float)\r
+0:157                Constant:\r
+0:157                  0 (const int)\r
+0:157              'd4' (uniform float)\r
+0:157            true case\r
+0:158            Branch: Continue\r
+0:159          Test condition and select (void)\r
+0:159            Condition\r
+0:159            Compare Less Than (bool)\r
+0:159              direct index (float)\r
+0:159                'color' (4-component vector of float)\r
+0:159                Constant:\r
+0:159                  1 (const int)\r
+0:159              'd4' (uniform float)\r
+0:159            true case\r
+0:160            add second child into first child (float)\r
+0:160              direct index (float)\r
+0:160                'color' (4-component vector of float)\r
+0:160                Constant:\r
+0:160                  1 (const int)\r
+0:160              'd4' (uniform float)\r
+0:159            false case\r
+0:162            add second child into first child (float)\r
+0:162              direct index (float)\r
+0:162                'color' (4-component vector of float)\r
+0:162                Constant:\r
+0:162                  0 (const int)\r
+0:162              'd4' (uniform float)\r
+0:170      Loop with condition not tested first\r
+0:170        Loop Condition\r
+0:170        Compare Less Than (bool)\r
+0:170          direct index (float)\r
+0:170            'color' (4-component vector of float)\r
+0:170            Constant:\r
+0:170              0 (const int)\r
+0:170          'd5' (uniform float)\r
+0:170        Loop Body\r
+0:167        Sequence\r
+0:167          add second child into first child (4-component vector of float)\r
+0:167            'color' (4-component vector of float)\r
+0:167            'bigColor5' (uniform 4-component vector of float)\r
+0:168          Test condition and select (void)\r
+0:168            Condition\r
+0:168            Compare Less Than (bool)\r
+0:168              direct index (float)\r
+0:168                'color' (4-component vector of float)\r
+0:168                Constant:\r
+0:168                  1 (const int)\r
+0:168              'd5' (uniform float)\r
+0:168            true case\r
+0:169            add second child into first child (float)\r
+0:169              direct index (float)\r
+0:169                'color' (4-component vector of float)\r
+0:169                Constant:\r
+0:169                  1 (const int)\r
+0:169              'd5' (uniform float)\r
+0:173      Test condition and select (void)\r
+0:173        Condition\r
+0:173        Compare Less Than (bool)\r
+0:173          direct index (float)\r
+0:173            'color' (4-component vector of float)\r
+0:173            Constant:\r
+0:173              0 (const int)\r
+0:173          'd6' (uniform float)\r
+0:173        true case\r
+0:174        Sequence\r
+0:174          Loop with condition tested first\r
+0:174            Loop Condition\r
+0:174            Compare Less Than (bool)\r
+0:174              direct index (float)\r
+0:174                'color' (4-component vector of float)\r
+0:174                Constant:\r
+0:174                  1 (const int)\r
+0:174              'd6' (uniform float)\r
+0:174            Loop Body\r
+0:175            add second child into first child (4-component vector of float)\r
+0:175              'color' (4-component vector of float)\r
+0:175              'bigColor6' (uniform 4-component vector of float)\r
+0:173        false case\r
+0:177        Sequence\r
+0:177          Loop with condition tested first\r
+0:177            Loop Condition\r
+0:177            Compare Less Than (bool)\r
+0:177              direct index (float)\r
+0:177                'color' (4-component vector of float)\r
+0:177                Constant:\r
+0:177                  2 (const int)\r
+0:177              'd6' (uniform float)\r
+0:177            Loop Body\r
+0:178            add second child into first child (float)\r
+0:178              direct index (float)\r
+0:178                'color' (4-component vector of float)\r
+0:178                Constant:\r
+0:178                  2 (const int)\r
+0:178              direct index (float)\r
+0:178                'bigColor6' (uniform 4-component vector of float)\r
+0:178                Constant:\r
+0:178                  2 (const int)\r
+0:182      Test condition and select (void)\r
+0:182        Condition\r
+0:182        Compare Less Than (bool)\r
+0:182          direct index (float)\r
+0:182            'color' (4-component vector of float)\r
+0:182            Constant:\r
+0:182              0 (const int)\r
+0:182          'd6' (uniform float)\r
+0:182        true case\r
+0:183        Sequence\r
+0:183          Loop with condition tested first\r
+0:183            Loop Condition\r
+0:183            Compare Less Than (bool)\r
+0:183              direct index (float)\r
+0:183                'color' (4-component vector of float)\r
+0:183                Constant:\r
+0:183                  1 (const int)\r
+0:183              'd6' (uniform float)\r
+0:183            Loop Body\r
+0:184            Sequence\r
+0:184              add second child into first child (4-component vector of float)\r
+0:184                'color' (4-component vector of float)\r
+0:184                'bigColor6' (uniform 4-component vector of float)\r
+0:185              Test condition and select (void)\r
+0:185                Condition\r
+0:185                Compare Less Than (bool)\r
+0:185                  'd7' (uniform float)\r
+0:185                  Constant:\r
+0:185                    1.000000\r
+0:185                true case\r
+0:186                Branch: Break\r
+0:182        false case\r
+0:190        Sequence\r
+0:190          Loop with condition tested first\r
+0:190            Loop Condition\r
+0:190            Compare Less Than (bool)\r
+0:190              direct index (float)\r
+0:190                'color' (4-component vector of float)\r
+0:190                Constant:\r
+0:190                  2 (const int)\r
+0:190              'd6' (uniform float)\r
+0:190            Loop Body\r
+0:191            add second child into first child (float)\r
+0:191              direct index (float)\r
+0:191                'color' (4-component vector of float)\r
+0:191                Constant:\r
+0:191                  2 (const int)\r
+0:191              direct index (float)\r
+0:191                'bigColor6' (uniform 4-component vector of float)\r
+0:191                Constant:\r
+0:191                  2 (const int)\r
+0:209      Loop with condition not tested first\r
+0:209        Loop Condition\r
+0:209        Constant:\r
+0:209          true (const bool)\r
+0:209        Loop Body\r
+0:197        Sequence\r
+0:197          Test condition and select (void)\r
+0:197            Condition\r
+0:197            Compare Less Than (bool)\r
+0:197              'd7' (uniform float)\r
+0:197              Constant:\r
+0:197                0.000000\r
+0:197            true case\r
+0:198            Branch: Break\r
+0:200          add second child into first child (4-component vector of float)\r
+0:200            'color' (4-component vector of float)\r
+0:200            'bigColor7' (uniform 4-component vector of float)\r
+0:202          Test condition and select (void)\r
+0:202            Condition\r
+0:202            Compare Less Than (bool)\r
+0:202              'd7' (uniform float)\r
+0:202              Constant:\r
+0:202                1.000000\r
+0:202            true case\r
+0:203            Sequence\r
+0:203              Post-Increment (float)\r
+0:203                direct index (float)\r
+0:203                  'color' (4-component vector of float)\r
+0:203                  Constant:\r
+0:203                    2 (const int)\r
+0:204              Branch: Break\r
+0:207          add second child into first child (4-component vector of float)\r
+0:207            'color' (4-component vector of float)\r
+0:207            'BaseColor' (smooth in 4-component vector of float)\r
+0:234      Loop with condition not tested first\r
+0:234        Loop Condition\r
+0:234        Compare Less Than (bool)\r
+0:234          direct index (float)\r
+0:234            'color' (4-component vector of float)\r
+0:234            Constant:\r
+0:234              2 (const int)\r
+0:234          'd8' (uniform float)\r
+0:234        Loop Body\r
+0:217        Sequence\r
+0:217          Test condition and select (void)\r
+0:217            Condition\r
+0:217            Compare Less Than (bool)\r
+0:217              'd8' (uniform float)\r
+0:217              Constant:\r
+0:217                0.000000\r
+0:217            true case\r
+0:218            Branch: Break\r
+0:220          add second child into first child (4-component vector of float)\r
+0:220            'color' (4-component vector of float)\r
+0:220            'bigColor7' (uniform 4-component vector of float)\r
+0:222          Test condition and select (void)\r
+0:222            Condition\r
+0:222            Compare Less Than (bool)\r
+0:222              'd8' (uniform float)\r
+0:222              Constant:\r
+0:222                1.000000\r
+0:222            true case\r
+0:223            Sequence\r
+0:223              Post-Increment (float)\r
+0:223                direct index (float)\r
+0:223                  'color' (4-component vector of float)\r
+0:223                  Constant:\r
+0:223                    2 (const int)\r
+0:224              Test condition and select (void)\r
+0:224                Condition\r
+0:224                Compare Less Than (bool)\r
+0:224                  'd8' (uniform float)\r
+0:224                  Constant:\r
+0:224                    2.000000\r
+0:224                true case\r
+0:225                Sequence\r
+0:225                  Post-Increment (float)\r
+0:225                    direct index (float)\r
+0:225                      'color' (4-component vector of float)\r
+0:225                      Constant:\r
+0:225                        1 (const int)\r
+0:224                false case\r
+0:227                Sequence\r
+0:227                  Post-Increment (float)\r
+0:227                    direct index (float)\r
+0:227                      'color' (4-component vector of float)\r
+0:227                      Constant:\r
+0:227                        0 (const int)\r
+0:229              Branch: Break\r
+0:232          add second child into first child (4-component vector of float)\r
+0:232            'color' (4-component vector of float)\r
+0:232            'BaseColor' (smooth in 4-component vector of float)\r
+0:237      Loop with condition tested first\r
+0:237        Loop Condition\r
+0:237        Compare Less Than (bool)\r
+0:237          direct index (float)\r
+0:237            'color' (4-component vector of float)\r
+0:237            Constant:\r
+0:237              3 (const int)\r
+0:237          'd9' (uniform float)\r
+0:237        Loop Body\r
+0:238        Sequence\r
+0:238          Test condition and select (void)\r
+0:238            Condition\r
+0:238            Compare Greater Than (bool)\r
+0:238              'd9' (uniform float)\r
+0:238              'd8' (uniform float)\r
+0:238            true case\r
+0:239            Sequence\r
+0:239              Test condition and select (void)\r
+0:239                Condition\r
+0:239                Compare Less Than or Equal (bool)\r
+0:239                  direct index (float)\r
+0:239                    'color' (4-component vector of float)\r
+0:239                    Constant:\r
+0:239                      0 (const int)\r
+0:239                  'd7' (uniform float)\r
+0:239                true case\r
+0:240                Sequence\r
+0:240                  Test condition and select (void)\r
+0:240                    Condition\r
+0:240                    Compare Equal (bool)\r
+0:240                      direct index (float)\r
+0:240                        'color' (4-component vector of float)\r
+0:240                        Constant:\r
+0:240                          2 (const int)\r
+0:240                      Constant:\r
+0:240                        5.000000\r
+0:240                    true case\r
+0:241                    Post-Increment (float)\r
+0:241                      direct index (float)\r
+0:241                        'color' (4-component vector of float)\r
+0:241                        Constant:\r
+0:241                          3 (const int)\r
+0:240                    false case\r
+0:243                    Branch: Break\r
+0:250      Loop with condition tested first\r
+0:250        Loop Condition\r
+0:250        Compare Less Than (bool)\r
+0:250          direct index (float)\r
+0:250            'color' (4-component vector of float)\r
+0:250            Constant:\r
+0:250              2 (const int)\r
+0:250          'd10' (uniform float)\r
+0:250        Loop Body\r
+0:251        Sequence\r
+0:251          Post-Increment (float)\r
+0:251            direct index (float)\r
+0:251              'color' (4-component vector of float)\r
+0:251              Constant:\r
+0:251                1 (const int)\r
+0:252          Test condition and select (void)\r
+0:252            Condition\r
+0:252            Compare Less Than (bool)\r
+0:252              direct index (float)\r
+0:252                'color' (4-component vector of float)\r
+0:252                Constant:\r
+0:252                  1 (const int)\r
+0:252              'd11' (uniform float)\r
+0:252            true case\r
+0:253            Sequence\r
+0:253              Post-Increment (float)\r
+0:253                direct index (float)\r
+0:253                  'color' (4-component vector of float)\r
+0:253                  Constant:\r
+0:253                    2 (const int)\r
+0:254              Test condition and select (void)\r
+0:254                Condition\r
+0:254                Compare Less Than (bool)\r
+0:254                  direct index (float)\r
+0:254                    'color' (4-component vector of float)\r
+0:254                    Constant:\r
+0:254                      3 (const int)\r
+0:254                  'd12' (uniform float)\r
+0:254                true case\r
+0:255                Post-Increment (float)\r
+0:255                  direct index (float)\r
+0:255                    'color' (4-component vector of float)\r
+0:255                    Constant:\r
+0:255                      3 (const int)\r
+0:254                false case\r
+0:257                Post-Increment (float)\r
+0:257                  direct index (float)\r
+0:257                    'color' (4-component vector of float)\r
+0:257                    Constant:\r
+0:257                      0 (const int)\r
+0:258              Branch: Continue\r
+0:261          Post-Increment (4-component vector of float)\r
+0:261            'color' (4-component vector of float)\r
+0:262          Branch: Break\r
+0:266      Loop with condition tested first\r
+0:266        Loop Condition\r
+0:266        Compare Less Than (bool)\r
+0:266          direct index (float)\r
+0:266            'color' (4-component vector of float)\r
+0:266            Constant:\r
+0:266              0 (const int)\r
+0:266          Constant:\r
+0:266            10.000000\r
+0:266        Loop Body\r
+0:267        Sequence\r
+0:267          add second child into first child (4-component vector of float)\r
+0:267            'color' (4-component vector of float)\r
+0:267            'bigColor8' (uniform 4-component vector of float)\r
+0:269          Test condition and select (void)\r
+0:269            Condition\r
+0:269            Compare Less Than (bool)\r
+0:269              direct index (float)\r
+0:269                'color' (4-component vector of float)\r
+0:269                Constant:\r
+0:269                  2 (const int)\r
+0:269              'd8' (uniform float)\r
+0:269            true case\r
+0:270            Test condition and select (void)\r
+0:270              Condition\r
+0:270              Compare Less Than (bool)\r
+0:270                direct index (float)\r
+0:270                  'color' (4-component vector of float)\r
+0:270                  Constant:\r
+0:270                    3 (const int)\r
+0:270                'd6' (uniform float)\r
+0:270              true case\r
+0:271              Branch: Continue\r
+0:273          add second child into first child (float)\r
+0:273            direct index (float)\r
+0:273              'color' (4-component vector of float)\r
+0:273              Constant:\r
+0:273                1 (const int)\r
+0:273            direct index (float)\r
+0:273              'bigColor8' (uniform 4-component vector of float)\r
+0:273              Constant:\r
+0:273                0 (const int)\r
+0:276      Post-Increment (4-component vector of float)\r
+0:276        'color' (4-component vector of float)\r
+0:277      move second child to first child (4-component vector of float)\r
+0:277        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:277        'color' (4-component vector of float)\r
+0:280      Loop with condition tested first\r
+0:280        Loop Condition\r
+0:280        Compare Less Than (bool)\r
+0:280          direct index (float)\r
+0:280            'color' (4-component vector of float)\r
+0:280            Constant:\r
+0:280              0 (const int)\r
+0:280          'd14' (uniform float)\r
+0:280        Loop Body\r
+0:281        Sequence\r
+0:281          Test condition and select (void)\r
+0:281            Condition\r
+0:281            Compare Less Than (bool)\r
+0:281              direct index (float)\r
+0:281                'color' (4-component vector of float)\r
+0:281                Constant:\r
+0:281                  1 (const int)\r
+0:281              'd15' (uniform float)\r
+0:281            true case\r
+0:282            Sequence\r
+0:282              Branch: Return\r
+0:281            false case\r
+0:285            Post-Increment (4-component vector of float)\r
+0:285              'color' (4-component vector of float)\r
+0:288      Post-Increment (4-component vector of float)\r
+0:288        'color' (4-component vector of float)\r
+0:290      Loop with condition tested first\r
+0:290        Loop Condition\r
+0:290        Compare Less Than (bool)\r
+0:290          direct index (float)\r
+0:290            'color' (4-component vector of float)\r
+0:290            Constant:\r
+0:290              3 (const int)\r
+0:290          'd16' (uniform float)\r
+0:290        Loop Body\r
+0:291        Sequence\r
+0:291          Post-Increment (float)\r
+0:291            direct index (float)\r
+0:291              'color' (4-component vector of float)\r
+0:291              Constant:\r
+0:291                3 (const int)\r
+0:296      Loop with condition tested first\r
+0:296        Loop Condition\r
+0:296        logical-and (bool)\r
+0:296          Compare Less Than (bool)\r
+0:296            direct index (float)\r
+0:296              'color' (4-component vector of float)\r
+0:296              Constant:\r
+0:296                3 (const int)\r
+0:296            'd2' (uniform float)\r
+0:296          Compare Less Than (bool)\r
+0:296            direct index (float)\r
+0:296              'color' (4-component vector of float)\r
+0:296              Constant:\r
+0:296                1 (const int)\r
+0:296            'd3' (uniform float)\r
+0:296        Loop Body\r
+0:297        Sequence\r
+0:297          add second child into first child (4-component vector of float)\r
+0:297            'color' (4-component vector of float)\r
+0:297            'bigColor1_2' (uniform 4-component vector of float)\r
+0:298          Test condition and select (void)\r
+0:298            Condition\r
+0:298            Compare Less Than (bool)\r
+0:298              direct index (float)\r
+0:298                'color' (4-component vector of float)\r
+0:298                Constant:\r
+0:298                  2 (const int)\r
+0:298              'd3' (uniform float)\r
+0:298            true case\r
+0:299            Branch: Return\r
+0:307      Loop with condition not tested first\r
+0:307        Loop Condition\r
+0:307        Compare Less Than (bool)\r
+0:307          direct index (float)\r
+0:307            'color' (4-component vector of float)\r
+0:307            Constant:\r
+0:307              0 (const int)\r
+0:307          'd17' (uniform float)\r
+0:307        Loop Body\r
+0:304        Sequence\r
+0:304          Test condition and select (void)\r
+0:304            Condition\r
+0:304            Compare Less Than (bool)\r
+0:304              direct index (float)\r
+0:304                'color' (4-component vector of float)\r
+0:304                Constant:\r
+0:304                  1 (const int)\r
+0:304              'd18' (uniform float)\r
+0:304            true case\r
+0:305            Branch: Return\r
+0:306          Post-Increment (4-component vector of float)\r
+0:306            'color' (4-component vector of float)\r
+0:310      Loop with condition tested first\r
+0:310        Loop Condition\r
+0:310        Compare Less Than (bool)\r
+0:310          direct index (float)\r
+0:310            'color' (4-component vector of float)\r
+0:310            Constant:\r
+0:310              1 (const int)\r
+0:310          'd16' (uniform float)\r
+0:310        Loop Body\r
+0:311        Sequence\r
+0:311          Test condition and select (void)\r
+0:311            Condition\r
+0:311            Compare Less Than (bool)\r
+0:311              direct index (float)\r
+0:311                'color' (4-component vector of float)\r
+0:311                Constant:\r
+0:311                  3 (const int)\r
+0:311              'd16' (uniform float)\r
+0:311            true case\r
+0:312            Sequence\r
+0:312              Branch: Kill\r
+0:311            false case\r
+0:314            Post-Increment (4-component vector of float)\r
+0:314              'color' (4-component vector of float)\r
+0:317      Post-Increment (4-component vector of float)\r
+0:317        'color' (4-component vector of float)\r
+0:319      move second child to first child (4-component vector of float)\r
+0:319        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:319        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'bigColor1_1' (uniform 4-component vector of float)\r
+0:?     'bigColor1_2' (uniform 4-component vector of float)\r
+0:?     'bigColor1_3' (uniform 4-component vector of float)\r
+0:?     'bigColor2' (uniform 4-component vector of float)\r
+0:?     'bigColor3' (uniform 4-component vector of float)\r
+0:?     'bigColor4' (uniform 4-component vector of float)\r
+0:?     'bigColor5' (uniform 4-component vector of float)\r
+0:?     'bigColor6' (uniform 4-component vector of float)\r
+0:?     'bigColor7' (uniform 4-component vector of float)\r
+0:?     'bigColor8' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
+0:?     'd2' (uniform float)\r
+0:?     'd3' (uniform float)\r
+0:?     'd4' (uniform float)\r
+0:?     'd5' (uniform float)\r
+0:?     'd6' (uniform float)\r
+0:?     'd7' (uniform float)\r
+0:?     'd8' (uniform float)\r
+0:?     'd9' (uniform float)\r
+0:?     'd10' (uniform float)\r
+0:?     'd11' (uniform float)\r
+0:?     'd12' (uniform float)\r
+0:?     'd13' (uniform float)\r
+0:?     'd14' (uniform float)\r
+0:?     'd15' (uniform float)\r
+0:?     'd16' (uniform float)\r
+0:?     'd17' (uniform float)\r
+0:?     'd18' (uniform float)\r
+0:?     'd19' (uniform float)\r
+0:?     'd20' (uniform float)\r
+0:?     'd21' (uniform float)\r
+0:?     'd22' (uniform float)\r
+0:?     'd23' (uniform float)\r
+0:?     'd24' (uniform float)\r
+0:?     'd25' (uniform float)\r
+0:?     'd26' (uniform float)\r
+0:?     'd27' (uniform float)\r
+0:?     'd28' (uniform float)\r
+0:?     'd29' (uniform float)\r
+0:?     'd30' (uniform float)\r
+0:?     'd31' (uniform float)\r
+0:?     'd32' (uniform float)\r
+0:?     'd33' (uniform float)\r
+0:?     'd34' (uniform float)\r
+0:?     'Count' (uniform int)\r
 \r
index b4ae4be..5a53b0b 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/loopsArtificial.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:14: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -220,4 +219,215 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:53  Function Definition: main( (void)\r
+0:53    Function Parameters: \r
+0:55    Sequence\r
+0:55      Sequence\r
+0:55        move second child to first child (4-component vector of float)\r
+0:55          'color' (4-component vector of float)\r
+0:55          'BaseColor' (smooth in 4-component vector of float)\r
+0:71      Loop with condition not tested first\r
+0:71        Loop Condition\r
+0:71        Compare Less Than (bool)\r
+0:71          direct index (float)\r
+0:71            'color' (4-component vector of float)\r
+0:71            Constant:\r
+0:71              2 (const int)\r
+0:71          'd4' (uniform float)\r
+0:71        Loop Body\r
+0:59        Sequence\r
+0:59          add second child into first child (4-component vector of float)\r
+0:59            'color' (4-component vector of float)\r
+0:59            'bigColor4' (uniform 4-component vector of float)\r
+0:60          Test condition and select (void)\r
+0:60            Condition\r
+0:60            Compare Less Than (bool)\r
+0:60              direct index (float)\r
+0:60                'color' (4-component vector of float)\r
+0:60                Constant:\r
+0:60                  0 (const int)\r
+0:60              'd4' (uniform float)\r
+0:60            true case\r
+0:61            Sequence\r
+0:61              add second child into first child (float)\r
+0:61                direct index (float)\r
+0:61                  'color' (4-component vector of float)\r
+0:61                  Constant:\r
+0:61                    2 (const int)\r
+0:61                Constant:\r
+0:61                  2.000000\r
+0:62              Test condition and select (void)\r
+0:62                Condition\r
+0:62                Compare Less Than (bool)\r
+0:62                  direct index (float)\r
+0:62                    'color' (4-component vector of float)\r
+0:62                    Constant:\r
+0:62                      2 (const int)\r
+0:62                  'd4' (uniform float)\r
+0:62                true case\r
+0:63                Sequence\r
+0:63                  Post-Increment (float)\r
+0:63                    direct index (float)\r
+0:63                      'color' (4-component vector of float)\r
+0:63                      Constant:\r
+0:63                        0 (const int)\r
+0:64                  Branch: Continue\r
+0:67          Test condition and select (void)\r
+0:67            Condition\r
+0:67            Compare Less Than (bool)\r
+0:67              direct index (float)\r
+0:67                'color' (4-component vector of float)\r
+0:67                Constant:\r
+0:67                  1 (const int)\r
+0:67              'd4' (uniform float)\r
+0:67            true case\r
+0:68            add second child into first child (float)\r
+0:68              direct index (float)\r
+0:68                'color' (4-component vector of float)\r
+0:68                Constant:\r
+0:68                  1 (const int)\r
+0:68              'd4' (uniform float)\r
+0:67            false case\r
+0:70            add second child into first child (float)\r
+0:70              direct index (float)\r
+0:70                'color' (4-component vector of float)\r
+0:70                Constant:\r
+0:70                  0 (const int)\r
+0:70              'd4' (uniform float)\r
+0:74      Loop with condition tested first\r
+0:74        Loop Condition\r
+0:74        Compare Less Than (bool)\r
+0:74          direct index (float)\r
+0:74            'color' (4-component vector of float)\r
+0:74            Constant:\r
+0:74              3 (const int)\r
+0:74          'd13' (uniform float)\r
+0:74        Loop Body\r
+0:75        Sequence\r
+0:75          Test condition and select (void)\r
+0:75            Condition\r
+0:75            Compare Less Than (bool)\r
+0:75              direct index (float)\r
+0:75                'color' (4-component vector of float)\r
+0:75                Constant:\r
+0:75                  2 (const int)\r
+0:75              'd13' (uniform float)\r
+0:75            true case\r
+0:76            Post-Increment (4-component vector of float)\r
+0:76              'color' (4-component vector of float)\r
+0:75            false case\r
+0:78            Post-Decrement (4-component vector of float)\r
+0:78              'color' (4-component vector of float)\r
+0:80          add second child into first child (4-component vector of float)\r
+0:80            'color' (4-component vector of float)\r
+0:80            'bigColor4' (uniform 4-component vector of float)\r
+0:81          Test condition and select (void)\r
+0:81            Condition\r
+0:81            Compare Less Than (bool)\r
+0:81              direct index (float)\r
+0:81                'color' (4-component vector of float)\r
+0:81                Constant:\r
+0:81                  0 (const int)\r
+0:81              'd4' (uniform float)\r
+0:81            true case\r
+0:82            Sequence\r
+0:82              add second child into first child (float)\r
+0:82                direct index (float)\r
+0:82                  'color' (4-component vector of float)\r
+0:82                  Constant:\r
+0:82                    2 (const int)\r
+0:82                Constant:\r
+0:82                  2.000000\r
+0:83              Test condition and select (void)\r
+0:83                Condition\r
+0:83                Compare Less Than (bool)\r
+0:83                  direct index (float)\r
+0:83                    'color' (4-component vector of float)\r
+0:83                    Constant:\r
+0:83                      2 (const int)\r
+0:83                  'd4' (uniform float)\r
+0:83                true case\r
+0:84                Sequence\r
+0:84                  Post-Increment (float)\r
+0:84                    direct index (float)\r
+0:84                      'color' (4-component vector of float)\r
+0:84                      Constant:\r
+0:84                        0 (const int)\r
+0:85                  Branch: Continue\r
+0:88          Test condition and select (void)\r
+0:88            Condition\r
+0:88            Compare Less Than (bool)\r
+0:88              direct index (float)\r
+0:88                'color' (4-component vector of float)\r
+0:88                Constant:\r
+0:88                  1 (const int)\r
+0:88              'd4' (uniform float)\r
+0:88            true case\r
+0:89            add second child into first child (float)\r
+0:89              direct index (float)\r
+0:89                'color' (4-component vector of float)\r
+0:89                Constant:\r
+0:89                  1 (const int)\r
+0:89              'd4' (uniform float)\r
+0:88            false case\r
+0:91            add second child into first child (float)\r
+0:91              direct index (float)\r
+0:91                'color' (4-component vector of float)\r
+0:91                Constant:\r
+0:91                  0 (const int)\r
+0:91              'd4' (uniform float)\r
+0:94      Post-Increment (4-component vector of float)\r
+0:94        'color' (4-component vector of float)\r
+0:95      move second child to first child (4-component vector of float)\r
+0:95        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:95        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'bigColor1_1' (uniform 4-component vector of float)\r
+0:?     'bigColor1_2' (uniform 4-component vector of float)\r
+0:?     'bigColor1_3' (uniform 4-component vector of float)\r
+0:?     'bigColor2' (uniform 4-component vector of float)\r
+0:?     'bigColor3' (uniform 4-component vector of float)\r
+0:?     'bigColor4' (uniform 4-component vector of float)\r
+0:?     'bigColor5' (uniform 4-component vector of float)\r
+0:?     'bigColor6' (uniform 4-component vector of float)\r
+0:?     'bigColor7' (uniform 4-component vector of float)\r
+0:?     'bigColor8' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
+0:?     'd2' (uniform float)\r
+0:?     'd3' (uniform float)\r
+0:?     'd4' (uniform float)\r
+0:?     'd5' (uniform float)\r
+0:?     'd6' (uniform float)\r
+0:?     'd7' (uniform float)\r
+0:?     'd8' (uniform float)\r
+0:?     'd9' (uniform float)\r
+0:?     'd10' (uniform float)\r
+0:?     'd11' (uniform float)\r
+0:?     'd12' (uniform float)\r
+0:?     'd13' (uniform float)\r
+0:?     'd14' (uniform float)\r
+0:?     'd15' (uniform float)\r
+0:?     'd16' (uniform float)\r
+0:?     'd17' (uniform float)\r
+0:?     'd18' (uniform float)\r
+0:?     'd19' (uniform float)\r
+0:?     'd20' (uniform float)\r
+0:?     'd21' (uniform float)\r
+0:?     'd22' (uniform float)\r
+0:?     'd23' (uniform float)\r
+0:?     'd24' (uniform float)\r
+0:?     'd25' (uniform float)\r
+0:?     'd26' (uniform float)\r
+0:?     'd27' (uniform float)\r
+0:?     'd28' (uniform float)\r
+0:?     'd29' (uniform float)\r
+0:?     'd30' (uniform float)\r
+0:?     'd31' (uniform float)\r
+0:?     'd32' (uniform float)\r
+0:?     'd33' (uniform float)\r
+0:?     'd34' (uniform float)\r
+0:?     'Count' (uniform int)\r
 \r
index 7dbcb35..caac12a 100644 (file)
@@ -16,7 +16,7 @@ Shader version: 110
 \r
 noMain1.geom\r
 ERROR: #version: geometry shaders require non-es profile and version 150 or above\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 1 compilation errors.  No code generated.\r
 \r
 \r
@@ -31,7 +31,7 @@ ERROR: node is still EOpNull!
 0:?   Linker Objects\r
 \r
 noMain2.geom\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 150\r
 invocations = 0\r
index 640d483..c3fd5b8 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/matrix.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:17: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:22: varying deprecated in version 130; may be removed in future release\r
@@ -258,4 +257,251 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:25  Function Definition: main( (void)\r
+0:25    Function Parameters: \r
+0:27    Sequence\r
+0:27      move second child to first child (4-component vector of float)\r
+0:27        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:27        Construct vec4 (4-component vector of float)\r
+0:27          direct index (4-component vector of float)\r
+0:27            'un34' (uniform 4X4 matrix of float)\r
+0:27            Constant:\r
+0:27              1 (const int)\r
+0:28      add second child into first child (4-component vector of float)\r
+0:28        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:28        Construct vec4 (4-component vector of float)\r
+0:28          vector-times-matrix (3-component vector of float)\r
+0:28            'Color' (smooth in 3-component vector of float)\r
+0:28            'colorTransform' (uniform 3X3 matrix of float)\r
+0:28          Constant:\r
+0:28            1.000000\r
+0:30      Test condition and select (void)\r
+0:30        Condition\r
+0:30        Compare Not Equal (bool)\r
+0:30          'm' (uniform 4X4 matrix of float)\r
+0:30          'n' (uniform 4X4 matrix of float)\r
+0:30        true case\r
+0:31        add second child into first child (4-component vector of float)\r
+0:31          'gl_FragColor' (fragColor 4-component vector of float)\r
+0:31          'v' (smooth in 4-component vector of float)\r
+0:30        false case\r
+0:33        Sequence\r
+0:33          add second child into first child (4-component vector of float)\r
+0:33            'gl_FragColor' (fragColor 4-component vector of float)\r
+0:33            matrix-times-vector (4-component vector of float)\r
+0:33              'm' (uniform 4X4 matrix of float)\r
+0:33              'v' (smooth in 4-component vector of float)\r
+0:34          add second child into first child (4-component vector of float)\r
+0:34            'gl_FragColor' (fragColor 4-component vector of float)\r
+0:34            vector-times-matrix (4-component vector of float)\r
+0:34              'v' (smooth in 4-component vector of float)\r
+0:34              subtract (4X4 matrix of float)\r
+0:34                'm' (uniform 4X4 matrix of float)\r
+0:34                'n' (uniform 4X4 matrix of float)\r
+0:42      Sequence\r
+0:42        move second child to first child (4X4 matrix of float)\r
+0:42          'm34' (4X4 matrix of float)\r
+0:45          Construct mat4 (4X4 matrix of float)\r
+0:42            component-wise multiply (float)\r
+0:42              direct index (float)\r
+0:42                'v' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  0 (const int)\r
+0:42              direct index (float)\r
+0:42                'u' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  0 (const int)\r
+0:42            component-wise multiply (float)\r
+0:42              direct index (float)\r
+0:42                'v' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  0 (const int)\r
+0:42              direct index (float)\r
+0:42                'u' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  1 (const int)\r
+0:42            component-wise multiply (float)\r
+0:42              direct index (float)\r
+0:42                'v' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  0 (const int)\r
+0:42              direct index (float)\r
+0:42                'u' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  2 (const int)\r
+0:42            component-wise multiply (float)\r
+0:42              direct index (float)\r
+0:42                'v' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  0 (const int)\r
+0:42              direct index (float)\r
+0:42                'u' (smooth in 4-component vector of float)\r
+0:42                Constant:\r
+0:42                  3 (const int)\r
+0:43            component-wise multiply (float)\r
+0:43              direct index (float)\r
+0:43                'v' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  1 (const int)\r
+0:43              direct index (float)\r
+0:43                'u' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  0 (const int)\r
+0:43            component-wise multiply (float)\r
+0:43              direct index (float)\r
+0:43                'v' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  1 (const int)\r
+0:43              direct index (float)\r
+0:43                'u' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  1 (const int)\r
+0:43            component-wise multiply (float)\r
+0:43              direct index (float)\r
+0:43                'v' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  1 (const int)\r
+0:43              direct index (float)\r
+0:43                'u' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  2 (const int)\r
+0:43            component-wise multiply (float)\r
+0:43              direct index (float)\r
+0:43                'v' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  1 (const int)\r
+0:43              direct index (float)\r
+0:43                'u' (smooth in 4-component vector of float)\r
+0:43                Constant:\r
+0:43                  3 (const int)\r
+0:44            component-wise multiply (float)\r
+0:44              direct index (float)\r
+0:44                'v' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  2 (const int)\r
+0:44              direct index (float)\r
+0:44                'u' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  0 (const int)\r
+0:44            component-wise multiply (float)\r
+0:44              direct index (float)\r
+0:44                'v' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  2 (const int)\r
+0:44              direct index (float)\r
+0:44                'u' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  1 (const int)\r
+0:44            component-wise multiply (float)\r
+0:44              direct index (float)\r
+0:44                'v' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  2 (const int)\r
+0:44              direct index (float)\r
+0:44                'u' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  2 (const int)\r
+0:44            component-wise multiply (float)\r
+0:44              direct index (float)\r
+0:44                'v' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  2 (const int)\r
+0:44              direct index (float)\r
+0:44                'u' (smooth in 4-component vector of float)\r
+0:44                Constant:\r
+0:44                  3 (const int)\r
+0:45            component-wise multiply (float)\r
+0:45              direct index (float)\r
+0:45                'v' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  3 (const int)\r
+0:45              direct index (float)\r
+0:45                'u' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  0 (const int)\r
+0:45            component-wise multiply (float)\r
+0:45              direct index (float)\r
+0:45                'v' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  3 (const int)\r
+0:45              direct index (float)\r
+0:45                'u' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  1 (const int)\r
+0:45            component-wise multiply (float)\r
+0:45              direct index (float)\r
+0:45                'v' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  3 (const int)\r
+0:45              direct index (float)\r
+0:45                'u' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  2 (const int)\r
+0:45            component-wise multiply (float)\r
+0:45              direct index (float)\r
+0:45                'v' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  3 (const int)\r
+0:45              direct index (float)\r
+0:45                'u' (smooth in 4-component vector of float)\r
+0:45                Constant:\r
+0:45                  3 (const int)\r
+0:46      add second child into first child (4X4 matrix of float)\r
+0:46        'm34' (4X4 matrix of float)\r
+0:46        Construct mat4 (4X4 matrix of float)\r
+0:46          direct index (float)\r
+0:46            'v' (smooth in 4-component vector of float)\r
+0:46            Constant:\r
+0:46              0 (const int)\r
+0:47      add second child into first child (4X4 matrix of float)\r
+0:47        'm34' (4X4 matrix of float)\r
+0:47        Construct mat4 (4X4 matrix of float)\r
+0:47          'u' (smooth in 4-component vector of float)\r
+0:47          direct index (float)\r
+0:47            'u' (smooth in 4-component vector of float)\r
+0:47            Constant:\r
+0:47              0 (const int)\r
+0:47          'u' (smooth in 4-component vector of float)\r
+0:47          direct index (float)\r
+0:47            'u' (smooth in 4-component vector of float)\r
+0:47            Constant:\r
+0:47              0 (const int)\r
+0:47          'u' (smooth in 4-component vector of float)\r
+0:47          direct index (float)\r
+0:47            'u' (smooth in 4-component vector of float)\r
+0:47            Constant:\r
+0:47              0 (const int)\r
+0:47          direct index (float)\r
+0:47            'u' (smooth in 4-component vector of float)\r
+0:47            Constant:\r
+0:47              0 (const int)\r
+0:51      Test condition and select (void)\r
+0:51        Condition\r
+0:51        Compare Equal (bool)\r
+0:51          'm34' (4X4 matrix of float)\r
+0:51          'un34' (uniform 4X4 matrix of float)\r
+0:51        true case\r
+0:52        add second child into first child (4-component vector of float)\r
+0:52          'gl_FragColor' (fragColor 4-component vector of float)\r
+0:52          matrix-times-vector (4-component vector of float)\r
+0:52            'm34' (4X4 matrix of float)\r
+0:52            'u' (smooth in 4-component vector of float)\r
+0:51        false case\r
+0:54        add second child into first child (4-component vector of float)\r
+0:54          'gl_FragColor' (fragColor 4-component vector of float)\r
+0:54          matrix-times-vector (4-component vector of float)\r
+0:54            matrix-multiply (4X4 matrix of float)\r
+0:54              'un34' (uniform 4X4 matrix of float)\r
+0:54              'um43' (uniform 4X4 matrix of float)\r
+0:54            'v' (smooth in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'colorTransform' (uniform 3X3 matrix of float)\r
+0:?     'Color' (smooth in 3-component vector of float)\r
+0:?     'm' (uniform 4X4 matrix of float)\r
+0:?     'n' (uniform 4X4 matrix of float)\r
+0:?     'um43' (uniform 4X4 matrix of float)\r
+0:?     'un34' (uniform 4X4 matrix of float)\r
+0:?     'v' (smooth in 4-component vector of float)\r
+0:?     'u' (smooth in 4-component vector of float)\r
 \r
index bac7a5c..02ce43f 100644 (file)
@@ -1,5 +1,5 @@
 ../../LunarGLASS/test/matrix2.frag\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:13: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:15: varying deprecated in version 130; may be removed in future release\r
@@ -147,6 +147,18 @@ Shader version: 150
 0:47      matrix mult second child into first child (4-component vector of float)\r
 0:47        'FragColor' (out 4-component vector of float)\r
 0:47        'inv4' (4X4 matrix of float)\r
+0:49      move second child to first child (4-component vector of float)\r
+0:49        'FragColor' (out 4-component vector of float)\r
+0:49        Construct vec4 (4-component vector of float)\r
+0:49          vector-times-matrix (3-component vector of float)\r
+0:49            'FragColor' (out 4-component vector of float)\r
+0:49            component-wise multiply (3X4 matrix of float)\r
+0:49              'un34' (uniform 3X4 matrix of float)\r
+0:49              'un34' (uniform 3X4 matrix of float)\r
+0:49          direct index (float)\r
+0:49            'FragColor' (out 4-component vector of float)\r
+0:49            Constant:\r
+0:49              3 (const int)\r
 0:?   Linker Objects\r
 0:?     'colorTransform' (uniform 3X3 matrix of float)\r
 0:?     'Color' (smooth in 3-component vector of float)\r
@@ -166,4 +178,171 @@ Linked fragment stage:
 \r
 \r
 Shader version: 150\r
+0:? Sequence\r
+0:19  Function Definition: main( (void)\r
+0:19    Function Parameters: \r
+0:21    Sequence\r
+0:21      Sequence\r
+0:21        move second child to first child (3X4 matrix of float)\r
+0:21          'm34' (3X4 matrix of float)\r
+0:21          outer product (3X4 matrix of float)\r
+0:21            'v' (smooth in 4-component vector of float)\r
+0:21            'u' (smooth in 3-component vector of float)\r
+0:23      add second child into first child (3X4 matrix of float)\r
+0:23        'm34' (3X4 matrix of float)\r
+0:23        Constant:\r
+0:23          4.300000\r
+0:23          0.000000\r
+0:23          0.000000\r
+0:23          0.000000\r
+0:23          0.000000\r
+0:23          4.300000\r
+0:23          0.000000\r
+0:23          0.000000\r
+0:23          0.000000\r
+0:23          0.000000\r
+0:23          4.300000\r
+0:23          0.000000\r
+0:25      move second child to first child (4-component vector of float)\r
+0:25        'FragColor' (out 4-component vector of float)\r
+0:25        Construct vec4 (4-component vector of float)\r
+0:25          'Color' (smooth in 3-component vector of float)\r
+0:25          Constant:\r
+0:25            1.000000\r
+0:26      multiply second child into first child (4-component vector of float)\r
+0:26        'FragColor' (out 4-component vector of float)\r
+0:26        Construct vec4 (4-component vector of float)\r
+0:26          vector-times-matrix (3-component vector of float)\r
+0:26            'FragColor' (out 4-component vector of float)\r
+0:26            'm34' (3X4 matrix of float)\r
+0:26          Constant:\r
+0:26            1.000000\r
+0:28      matrix scale second child into first child (3X4 matrix of float)\r
+0:28        'm34' (3X4 matrix of float)\r
+0:28        direct index (float)\r
+0:28          'v' (smooth in 4-component vector of float)\r
+0:28          Constant:\r
+0:28            0 (const int)\r
+0:30      Sequence\r
+0:30        move second child to first child (4X4 matrix of float)\r
+0:30          'm44' (4X4 matrix of float)\r
+0:30          Construct mat4 (4X4 matrix of float)\r
+0:30            'un34' (uniform 3X4 matrix of float)\r
+0:32      add second child into first child (4X4 matrix of float)\r
+0:32        'm44' (4X4 matrix of float)\r
+0:32        matrix-multiply (4X4 matrix of float)\r
+0:32          'm34' (3X4 matrix of float)\r
+0:32          'um43' (uniform 4X3 matrix of float)\r
+0:34      add second child into first child (4-component vector of float)\r
+0:34        'FragColor' (out 4-component vector of float)\r
+0:34        matrix-times-vector (4-component vector of float)\r
+0:34          Negate value (4X4 matrix of float)\r
+0:34            'm44' (4X4 matrix of float)\r
+0:34          'v' (smooth in 4-component vector of float)\r
+0:36      matrix mult second child into first child (4-component vector of float)\r
+0:36        'FragColor' (out 4-component vector of float)\r
+0:36        component-wise multiply (4X4 matrix of float)\r
+0:36          'm44' (4X4 matrix of float)\r
+0:36          'm44' (4X4 matrix of float)\r
+0:38      move second child to first child (3X4 matrix of float)\r
+0:38        'm34' (3X4 matrix of float)\r
+0:38        transpose (3X4 matrix of float)\r
+0:38          'um43' (uniform 4X3 matrix of float)\r
+0:39      multiply second child into first child (4-component vector of float)\r
+0:39        'FragColor' (out 4-component vector of float)\r
+0:39        Construct vec4 (4-component vector of float)\r
+0:39          vector-times-matrix (3-component vector of float)\r
+0:39            'FragColor' (out 4-component vector of float)\r
+0:39            'm34' (3X4 matrix of float)\r
+0:39          Constant:\r
+0:39            1.000000\r
+0:40      multiply second child into first child (4-component vector of float)\r
+0:40        'FragColor' (out 4-component vector of float)\r
+0:40        Construct vec4 (4-component vector of float)\r
+0:40          determinant (float)\r
+0:40            'um4' (uniform 4X4 matrix of float)\r
+0:41      Sequence\r
+0:41        move second child to first child (2X2 matrix of float)\r
+0:41          'inv' (2X2 matrix of float)\r
+0:41          inverse (2X2 matrix of float)\r
+0:41            'um2' (uniform 2X2 matrix of float)\r
+0:42      multiply second child into first child (4-component vector of float)\r
+0:42        'FragColor' (out 4-component vector of float)\r
+0:42        Construct vec4 (4-component vector of float)\r
+0:42          direct index (float)\r
+0:42            direct index (2-component vector of float)\r
+0:42              'inv' (2X2 matrix of float)\r
+0:42              Constant:\r
+0:42                0 (const int)\r
+0:42            Constant:\r
+0:42              0 (const int)\r
+0:42          direct index (float)\r
+0:42            direct index (2-component vector of float)\r
+0:42              'inv' (2X2 matrix of float)\r
+0:42              Constant:\r
+0:42                1 (const int)\r
+0:42            Constant:\r
+0:42              0 (const int)\r
+0:42          direct index (float)\r
+0:42            direct index (2-component vector of float)\r
+0:42              'inv' (2X2 matrix of float)\r
+0:42              Constant:\r
+0:42                0 (const int)\r
+0:42            Constant:\r
+0:42              1 (const int)\r
+0:42          direct index (float)\r
+0:42            direct index (2-component vector of float)\r
+0:42              'inv' (2X2 matrix of float)\r
+0:42              Constant:\r
+0:42                1 (const int)\r
+0:42            Constant:\r
+0:42              1 (const int)\r
+0:43      Sequence\r
+0:43        move second child to first child (3X3 matrix of float)\r
+0:43          'inv3' (3X3 matrix of float)\r
+0:43          inverse (3X3 matrix of float)\r
+0:43            'um3' (uniform 3X3 matrix of float)\r
+0:44      multiply second child into first child (4-component vector of float)\r
+0:44        'FragColor' (out 4-component vector of float)\r
+0:44        Construct vec4 (4-component vector of float)\r
+0:44          direct index (float)\r
+0:44            direct index (3-component vector of float)\r
+0:44              'inv3' (3X3 matrix of float)\r
+0:44              Constant:\r
+0:44                2 (const int)\r
+0:44            Constant:\r
+0:44              1 (const int)\r
+0:46      Sequence\r
+0:46        move second child to first child (4X4 matrix of float)\r
+0:46          'inv4' (4X4 matrix of float)\r
+0:46          inverse (4X4 matrix of float)\r
+0:46            'um4' (uniform 4X4 matrix of float)\r
+0:47      matrix mult second child into first child (4-component vector of float)\r
+0:47        'FragColor' (out 4-component vector of float)\r
+0:47        'inv4' (4X4 matrix of float)\r
+0:49      move second child to first child (4-component vector of float)\r
+0:49        'FragColor' (out 4-component vector of float)\r
+0:49        Construct vec4 (4-component vector of float)\r
+0:49          vector-times-matrix (3-component vector of float)\r
+0:49            'FragColor' (out 4-component vector of float)\r
+0:49            component-wise multiply (3X4 matrix of float)\r
+0:49              'un34' (uniform 3X4 matrix of float)\r
+0:49              'un34' (uniform 3X4 matrix of float)\r
+0:49          direct index (float)\r
+0:49            'FragColor' (out 4-component vector of float)\r
+0:49            Constant:\r
+0:49              3 (const int)\r
+0:?   Linker Objects\r
+0:?     'colorTransform' (uniform 3X3 matrix of float)\r
+0:?     'Color' (smooth in 3-component vector of float)\r
+0:?     'm' (uniform 4X4 matrix of float)\r
+0:?     'n' (uniform 4X4 matrix of float)\r
+0:?     'um43' (uniform 4X3 matrix of float)\r
+0:?     'un34' (uniform 3X4 matrix of float)\r
+0:?     'um2' (uniform 2X2 matrix of float)\r
+0:?     'um3' (uniform 3X3 matrix of float)\r
+0:?     'um4' (uniform 4X4 matrix of float)\r
+0:?     'v' (smooth in 4-component vector of float)\r
+0:?     'u' (smooth in 3-component vector of float)\r
+0:?     'FragColor' (out 4-component vector of float)\r
 \r
index ecfc69c..1b0e8e3 100644 (file)
@@ -42,4 +42,30 @@ Linked vertex stage:
 \r
 \r
 Shader version: 120\r
+ERROR: node is still EOpNull!\r
+0:12  Function Definition: main( (void)\r
+0:12    Function Parameters: \r
+0:?     Sequence\r
+0:17      'a' (3-component vector of float)\r
+0:18      'b' (3-component vector of float)\r
+0:19      'm23' (2X3 matrix of float)\r
+0:21      move second child to first child (4-component vector of float)\r
+0:21        'gl_Position' (gl_Position 4-component vector of float)\r
+0:21        Construct vec4 (4-component vector of float)\r
+0:21          matrix-times-vector (3-component vector of float)\r
+0:21            matrix-multiply (3X3 matrix of float)\r
+0:21              'm23' (2X3 matrix of float)\r
+0:21              'm32' (uniform 3X2 matrix of float)\r
+0:21            'v3' (in 3-component vector of float)\r
+0:21          direct index (float)\r
+0:21            direct index (4-component vector of float)\r
+0:21              'm24' (2X4 matrix of float)\r
+0:21              Constant:\r
+0:21                2 (const int)\r
+0:21            Constant:\r
+0:21              4 (const int)\r
+0:?   Linker Objects\r
+0:?     'v3' (in 3-component vector of float)\r
+0:?     'm32' (uniform 3X2 matrix of float)\r
+0:?     'm24' (2X4 matrix of float)\r
 \r
index 4bf62c5..9965d49 100644 (file)
@@ -1,5 +1,5 @@
 ../../LunarGLASS/test/newTexture.frag\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 430\r
 0:? Sequence\r
@@ -232,4 +232,228 @@ Linked fragment stage:
 \r
 \r
 Shader version: 430\r
+0:? Sequence\r
+0:34  Function Definition: main( (void)\r
+0:34    Function Parameters: \r
+0:36    Sequence\r
+0:36      Sequence\r
+0:36        move second child to first child (4-component vector of float)\r
+0:36          'v' (4-component vector of float)\r
+0:36          Function Call: texture(s21;vf2; (4-component vector of float)\r
+0:36            's2D' (uniform sampler2D)\r
+0:36            'c2D' (smooth in 2-component vector of float)\r
+0:37      add second child into first child (4-component vector of float)\r
+0:37        'v' (4-component vector of float)\r
+0:37        Function Call: textureProj(s31;vf4; (4-component vector of float)\r
+0:37          's3D' (uniform sampler3D)\r
+0:37          'c4D' (smooth in 4-component vector of float)\r
+0:38      add second child into first child (4-component vector of float)\r
+0:38        'v' (4-component vector of float)\r
+0:38        Function Call: textureLod(sA21;vf3;f1; (4-component vector of float)\r
+0:38          's2DArray' (uniform sampler2DArray)\r
+0:38          'c3D' (smooth in 3-component vector of float)\r
+0:38          Constant:\r
+0:38            1.200000\r
+0:39      add second child into first child (float)\r
+0:39        direct index (float)\r
+0:39          'v' (4-component vector of float)\r
+0:39          Constant:\r
+0:39            1 (const int)\r
+0:39        Function Call: textureOffset(sS21;vf3;vi2;f1; (float)\r
+0:39          's2DShadow' (uniform sampler2DShadow)\r
+0:39          'c3D' (smooth in 3-component vector of float)\r
+0:39          Constant:\r
+0:39            3 (const int)\r
+0:39            3 (const int)\r
+0:39          'c1D' (smooth in float)\r
+0:40      add second child into first child (4-component vector of float)\r
+0:40        'v' (4-component vector of float)\r
+0:40        Function Call: texelFetch(s31;vi3;i1; (4-component vector of float)\r
+0:40          's3D' (uniform sampler3D)\r
+0:40          'ic3D' (flat in 3-component vector of int)\r
+0:40          'ic1D' (flat in int)\r
+0:41      add second child into first child (4-component vector of float)\r
+0:41        'v' (4-component vector of float)\r
+0:41        Function Call: texelFetchOffset(s21;vi2;i1;vi2; (4-component vector of float)\r
+0:41          's2D' (uniform sampler2D)\r
+0:41          'ic2D' (flat in 2-component vector of int)\r
+0:41          Constant:\r
+0:41            4 (const int)\r
+0:41          'ic2D' (flat in 2-component vector of int)\r
+0:42      add second child into first child (float)\r
+0:42        direct index (float)\r
+0:42          'v' (4-component vector of float)\r
+0:42          Constant:\r
+0:42            1 (const int)\r
+0:42        Function Call: textureLodOffset(sS21;vf3;f1;vi2; (float)\r
+0:42          's2DShadow' (uniform sampler2DShadow)\r
+0:42          'c3D' (smooth in 3-component vector of float)\r
+0:42          'c1D' (smooth in float)\r
+0:42          Constant:\r
+0:42            3 (const int)\r
+0:42            3 (const int)\r
+0:43      add second child into first child (4-component vector of float)\r
+0:43        'v' (4-component vector of float)\r
+0:43        Function Call: textureProjLodOffset(s21;vf3;f1;vi2; (4-component vector of float)\r
+0:43          's2D' (uniform sampler2D)\r
+0:43          'c3D' (smooth in 3-component vector of float)\r
+0:43          'c1D' (smooth in float)\r
+0:43          Constant:\r
+0:43            3 (const int)\r
+0:43            3 (const int)\r
+0:44      add second child into first child (4-component vector of float)\r
+0:44        'v' (4-component vector of float)\r
+0:44        Function Call: textureGrad(sC1;vf3;vf3;vf3; (4-component vector of float)\r
+0:44          'sCube' (uniform samplerCube)\r
+0:44          'c3D' (smooth in 3-component vector of float)\r
+0:44          'c3D' (smooth in 3-component vector of float)\r
+0:44          'c3D' (smooth in 3-component vector of float)\r
+0:45      add second child into first child (float)\r
+0:45        direct index (float)\r
+0:45          'v' (4-component vector of float)\r
+0:45          Constant:\r
+0:45            0 (const int)\r
+0:45        Function Call: textureGradOffset(sAS21;vf4;vf2;vf2;vi2; (float)\r
+0:45          's2DArrayShadow' (uniform sampler2DArrayShadow)\r
+0:45          'c4D' (smooth in 4-component vector of float)\r
+0:45          'c2D' (smooth in 2-component vector of float)\r
+0:45          'c2D' (smooth in 2-component vector of float)\r
+0:45          Constant:\r
+0:45            3 (const int)\r
+0:45            3 (const int)\r
+0:46      add second child into first child (4-component vector of float)\r
+0:46        'v' (4-component vector of float)\r
+0:46        Function Call: textureProjGrad(s31;vf4;vf3;vf3; (4-component vector of float)\r
+0:46          's3D' (uniform sampler3D)\r
+0:46          'c4D' (smooth in 4-component vector of float)\r
+0:46          'c3D' (smooth in 3-component vector of float)\r
+0:46          'c3D' (smooth in 3-component vector of float)\r
+0:47      add second child into first child (4-component vector of float)\r
+0:47        'v' (4-component vector of float)\r
+0:47        Function Call: textureProjGradOffset(s21;vf3;vf2;vf2;vi2; (4-component vector of float)\r
+0:47          's2D' (uniform sampler2D)\r
+0:47          'c3D' (smooth in 3-component vector of float)\r
+0:47          'c2D' (smooth in 2-component vector of float)\r
+0:47          'c2D' (smooth in 2-component vector of float)\r
+0:47          Constant:\r
+0:47            3 (const int)\r
+0:47            3 (const int)\r
+0:49      Sequence\r
+0:49        move second child to first child (4-component vector of int)\r
+0:49          'iv' (4-component vector of int)\r
+0:49          Function Call: texture(is21;vf2; (4-component vector of int)\r
+0:49            'is2D' (uniform isampler2D)\r
+0:49            'c2D' (smooth in 2-component vector of float)\r
+0:50      add second child into first child (4-component vector of float)\r
+0:50        'v' (4-component vector of float)\r
+0:50        Convert int to float (4-component vector of float)\r
+0:50          'iv' (4-component vector of int)\r
+0:51      move second child to first child (4-component vector of int)\r
+0:51        'iv' (4-component vector of int)\r
+0:51        Function Call: textureProjOffset(is21;vf4;vi2; (4-component vector of int)\r
+0:51          'is2D' (uniform isampler2D)\r
+0:51          'c4D' (smooth in 4-component vector of float)\r
+0:51          Constant:\r
+0:51            3 (const int)\r
+0:51            3 (const int)\r
+0:52      add second child into first child (4-component vector of float)\r
+0:52        'v' (4-component vector of float)\r
+0:52        Convert int to float (4-component vector of float)\r
+0:52          'iv' (4-component vector of int)\r
+0:53      move second child to first child (4-component vector of int)\r
+0:53        'iv' (4-component vector of int)\r
+0:53        Function Call: textureProjLod(is21;vf3;f1; (4-component vector of int)\r
+0:53          'is2D' (uniform isampler2D)\r
+0:53          'c3D' (smooth in 3-component vector of float)\r
+0:53          'c1D' (smooth in float)\r
+0:54      add second child into first child (4-component vector of float)\r
+0:54        'v' (4-component vector of float)\r
+0:54        Convert int to float (4-component vector of float)\r
+0:54          'iv' (4-component vector of int)\r
+0:55      move second child to first child (4-component vector of int)\r
+0:55        'iv' (4-component vector of int)\r
+0:55        Function Call: textureProjGrad(is21;vf3;vf2;vf2; (4-component vector of int)\r
+0:55          'is2D' (uniform isampler2D)\r
+0:55          'c3D' (smooth in 3-component vector of float)\r
+0:55          'c2D' (smooth in 2-component vector of float)\r
+0:55          'c2D' (smooth in 2-component vector of float)\r
+0:56      add second child into first child (4-component vector of float)\r
+0:56        'v' (4-component vector of float)\r
+0:56        Convert int to float (4-component vector of float)\r
+0:56          'iv' (4-component vector of int)\r
+0:57      move second child to first child (4-component vector of int)\r
+0:57        'iv' (4-component vector of int)\r
+0:57        Function Call: texture(is31;vf3;f1; (4-component vector of int)\r
+0:57          'is3D' (uniform isampler3D)\r
+0:57          'c3D' (smooth in 3-component vector of float)\r
+0:57          Constant:\r
+0:57            4.200000\r
+0:58      add second child into first child (4-component vector of float)\r
+0:58        'v' (4-component vector of float)\r
+0:58        Convert int to float (4-component vector of float)\r
+0:58          'iv' (4-component vector of int)\r
+0:59      move second child to first child (4-component vector of int)\r
+0:59        'iv' (4-component vector of int)\r
+0:59        Function Call: textureLod(isC1;vf3;f1; (4-component vector of int)\r
+0:59          'isCube' (uniform isamplerCube)\r
+0:59          'c3D' (smooth in 3-component vector of float)\r
+0:59          'c1D' (smooth in float)\r
+0:60      add second child into first child (4-component vector of float)\r
+0:60        'v' (4-component vector of float)\r
+0:60        Convert int to float (4-component vector of float)\r
+0:60          'iv' (4-component vector of int)\r
+0:61      move second child to first child (4-component vector of int)\r
+0:61        'iv' (4-component vector of int)\r
+0:61        Function Call: texelFetch(isA21;vi3;i1; (4-component vector of int)\r
+0:61          'is2DArray' (uniform isampler2DArray)\r
+0:61          'ic3D' (flat in 3-component vector of int)\r
+0:61          'ic1D' (flat in int)\r
+0:62      add second child into first child (4-component vector of float)\r
+0:62        'v' (4-component vector of float)\r
+0:62        Convert int to float (4-component vector of float)\r
+0:62          'iv' (4-component vector of int)\r
+0:64      Sequence\r
+0:64        move second child to first child (2-component vector of int)\r
+0:64          'iv2' (2-component vector of int)\r
+0:64          Function Call: textureSize(sSC1;i1; (2-component vector of int)\r
+0:64            'sCubeShadow' (uniform samplerCubeShadow)\r
+0:64            Constant:\r
+0:64              2 (const int)\r
+0:67      move second child to first child (4-component vector of float)\r
+0:67        'FragData' (out 4-component vector of float)\r
+0:67        add (4-component vector of float)\r
+0:67          'v' (4-component vector of float)\r
+0:67          Construct vec4 (4-component vector of float)\r
+0:67            Convert int to float (2-component vector of float)\r
+0:67              'iv2' (2-component vector of int)\r
+0:67            Constant:\r
+0:67              0.000000\r
+0:67            Constant:\r
+0:67              0.000000\r
+0:?   Linker Objects\r
+0:?     's2D' (uniform sampler2D)\r
+0:?     's3D' (uniform sampler3D)\r
+0:?     'sCube' (uniform samplerCube)\r
+0:?     'sCubeShadow' (uniform samplerCubeShadow)\r
+0:?     's2DShadow' (uniform sampler2DShadow)\r
+0:?     's2DArray' (uniform sampler2DArray)\r
+0:?     's2DArrayShadow' (uniform sampler2DArrayShadow)\r
+0:?     'is2D' (uniform isampler2D)\r
+0:?     'is3D' (uniform isampler3D)\r
+0:?     'isCube' (uniform isamplerCube)\r
+0:?     'is2DArray' (uniform isampler2DArray)\r
+0:?     'is2Dms' (uniform isampler2DMS)\r
+0:?     'us2D' (uniform usampler2D)\r
+0:?     'us3D' (uniform usampler3D)\r
+0:?     'usCube' (uniform usamplerCube)\r
+0:?     'us2DArray' (uniform usampler2DArray)\r
+0:?     'c1D' (smooth in float)\r
+0:?     'c2D' (smooth in 2-component vector of float)\r
+0:?     'c3D' (smooth in 3-component vector of float)\r
+0:?     'c4D' (smooth in 4-component vector of float)\r
+0:?     'ic1D' (flat in int)\r
+0:?     'ic2D' (flat in 2-component vector of int)\r
+0:?     'ic3D' (flat in 3-component vector of int)\r
+0:?     'ic4D' (flat in 4-component vector of int)\r
+0:?     'FragData' (out 4-component vector of float)\r
 \r
index 47068a1..7b22e3c 100644 (file)
@@ -30,5 +30,17 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+0:? Sequence\r
+0:3  Function Definition: foo( (void)\r
+0:3    Function Parameters: \r
+0:?   Linker Objects\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:?   Linker Objects\r
 \r
index 88bcc9c..212aa56 100644 (file)
@@ -94,4 +94,91 @@ Linked vertex stage:
 \r
 \r
 Shader version: 120\r
+0:? Sequence\r
+0:15  Function Definition: main( (void)\r
+0:15    Function Parameters: \r
+0:?     Sequence\r
+0:20      move second child to first child (2-component vector of float)\r
+0:20        'a' (2-component vector of float)\r
+0:20        vector-times-matrix (2-component vector of float)\r
+0:20          'v3' (in 3-component vector of float)\r
+0:20          'm23' (2X3 matrix of float)\r
+0:21      move second child to first child (2-component vector of float)\r
+0:21        'b' (2-component vector of float)\r
+0:21        matrix-times-vector (2-component vector of float)\r
+0:21          'm32' (uniform 3X2 matrix of float)\r
+0:21          'v3' (in 3-component vector of float)\r
+0:23      move second child to first child (4-component vector of float)\r
+0:23        'gl_Position' (gl_Position 4-component vector of float)\r
+0:24        add (4-component vector of float)\r
+0:24          add (4-component vector of float)\r
+0:24            add (4-component vector of float)\r
+0:23              add (4-component vector of float)\r
+0:23                Construct vec4 (4-component vector of float)\r
+0:23                  matrix-times-vector (3-component vector of float)\r
+0:23                    matrix-multiply (3X3 matrix of float)\r
+0:23                      'm23' (2X3 matrix of float)\r
+0:23                      'm32' (uniform 3X2 matrix of float)\r
+0:23                    'v3' (in 3-component vector of float)\r
+0:23                  Constant:\r
+0:23                    0.000000\r
+0:24                matrix-times-vector (4-component vector of float)\r
+0:24                  Constant:\r
+0:24                    3.000000\r
+0:24                    6.000000\r
+0:24                    0.000000\r
+0:24                    0.000000\r
+0:24                    9.000000\r
+0:24                    12.000000\r
+0:24                    0.000000\r
+0:24                    0.000000\r
+0:24                    15.000000\r
+0:24                    18.000000\r
+0:24                    0.000000\r
+0:24                    0.000000\r
+0:24                    21.000000\r
+0:24                    24.000000\r
+0:24                    0.000000\r
+0:24                    0.000000\r
+0:24                  'v4' (in 4-component vector of float)\r
+0:24              Constant:\r
+0:24                50.000000\r
+0:24                110.000000\r
+0:24                170.000000\r
+0:24                230.000000\r
+0:24            Constant:\r
+0:24              30.000000\r
+0:24              60.000000\r
+0:24              0.000000\r
+0:24              0.000000\r
+0:24          Constant:\r
+0:24            20.000000\r
+0:24            10.000000\r
+0:24            6.000000\r
+0:24            5.000000\r
+0:?   Linker Objects\r
+0:?     'v3' (in 3-component vector of float)\r
+0:?     'v4' (in 4-component vector of float)\r
+0:?     'm32' (uniform 3X2 matrix of float)\r
+0:?     'cv2' (const 2-component vector of float)\r
+0:?       10.000000\r
+0:?       20.000000\r
+0:?     'm24' (const 2X4 matrix of float)\r
+0:?       3.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?       3.000000\r
+0:?       0.000000\r
+0:?       0.000000\r
+0:?     'm42' (const 4X2 matrix of float)\r
+0:?       1.000000\r
+0:?       2.000000\r
+0:?       3.000000\r
+0:?       4.000000\r
+0:?       5.000000\r
+0:?       6.000000\r
+0:?       7.000000\r
+0:?       8.000000\r
 \r
index f276931..6ed5ef9 100644 (file)
@@ -1,5 +1,5 @@
 numeral.frag\r
-Warning, version 400 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:14: '' : octal literal digit too large \r
 ERROR: 0:15: '' : octal literal digit too large \r
 ERROR: 0:16: '' : octal literal digit too large \r
@@ -386,4 +386,370 @@ Linked fragment stage:
 \r
 \r
 Shader version: 400\r
+ERROR: node is still EOpNull!\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:5    Sequence\r
+0:5      Sequence\r
+0:5        move second child to first child (int)\r
+0:5          'o00' (int)\r
+0:5          Constant:\r
+0:5            0 (const int)\r
+0:6      Sequence\r
+0:6        move second child to first child (int)\r
+0:6          'o000' (int)\r
+0:6          Constant:\r
+0:6            0 (const int)\r
+0:7      Sequence\r
+0:7        move second child to first child (int)\r
+0:7          'o0000' (int)\r
+0:7          Constant:\r
+0:7            0 (const int)\r
+0:8      Sequence\r
+0:8        move second child to first child (int)\r
+0:8          'o5' (int)\r
+0:8          Constant:\r
+0:8            5 (const int)\r
+0:9      Sequence\r
+0:9        move second child to first child (int)\r
+0:9          'o05' (int)\r
+0:9          Constant:\r
+0:9            5 (const int)\r
+0:10      Sequence\r
+0:10        move second child to first child (int)\r
+0:10          'o006' (int)\r
+0:10          Constant:\r
+0:10            6 (const int)\r
+0:11      Sequence\r
+0:11        move second child to first child (int)\r
+0:11          'o7' (int)\r
+0:11          Constant:\r
+0:11            7 (const int)\r
+0:12      Sequence\r
+0:12        move second child to first child (int)\r
+0:12          'o58' (int)\r
+0:12          Constant:\r
+0:12            58 (const int)\r
+0:13      Sequence\r
+0:13        move second child to first child (int)\r
+0:13          'omax' (int)\r
+0:13          Constant:\r
+0:13            -1 (const int)\r
+0:14      Sequence\r
+0:14        move second child to first child (int)\r
+0:14          'o8' (int)\r
+0:14          Constant:\r
+0:14            0 (const int)\r
+0:15      Sequence\r
+0:15        move second child to first child (int)\r
+0:15          'o08' (int)\r
+0:15          Constant:\r
+0:15            0 (const int)\r
+0:16      Sequence\r
+0:16        move second child to first child (int)\r
+0:16          'o009' (int)\r
+0:16          Constant:\r
+0:16            0 (const int)\r
+0:17      Sequence\r
+0:17        move second child to first child (int)\r
+0:17          'obig' (int)\r
+0:17          Constant:\r
+0:17            995208915 (const int)\r
+0:18      Sequence\r
+0:18        move second child to first child (int)\r
+0:18          'omax1' (int)\r
+0:18          Constant:\r
+0:18            536870912 (const int)\r
+0:20      Sequence\r
+0:20        move second child to first child (uint)\r
+0:20          'uo5' (uint)\r
+0:20          Constant:\r
+0:20            5 (const uint)\r
+0:21      Sequence\r
+0:21        move second child to first child (uint)\r
+0:21          'uo6' (uint)\r
+0:21          Constant:\r
+0:21            6 (const uint)\r
+0:22      Sequence\r
+0:22        move second child to first child (uint)\r
+0:22          'uo7' (uint)\r
+0:22          Constant:\r
+0:22            7 (const uint)\r
+0:23      Sequence\r
+0:23        move second child to first child (uint)\r
+0:23          'uo8' (uint)\r
+0:23          Constant:\r
+0:23            0 (const uint)\r
+0:24      Sequence\r
+0:24        move second child to first child (uint)\r
+0:24          'uo9' (uint)\r
+0:24          Constant:\r
+0:24            0 (const uint)\r
+0:26      Sequence\r
+0:26        move second child to first child (int)\r
+0:26          'h0' (int)\r
+0:26          Constant:\r
+0:26            0 (const int)\r
+0:27      Sequence\r
+0:27        move second child to first child (int)\r
+0:27          'h00' (int)\r
+0:27          Constant:\r
+0:27            0 (const int)\r
+0:28      Sequence\r
+0:28        move second child to first child (int)\r
+0:28          'h000' (int)\r
+0:28          Constant:\r
+0:28            0 (const int)\r
+0:29      Sequence\r
+0:29        move second child to first child (int)\r
+0:29          'h1' (int)\r
+0:29          Constant:\r
+0:29            1 (const int)\r
+0:30      Sequence\r
+0:30        move second child to first child (int)\r
+0:30          'h2' (int)\r
+0:30          Constant:\r
+0:30            2 (const int)\r
+0:31      Sequence\r
+0:31        move second child to first child (int)\r
+0:31          'h300' (int)\r
+0:31          Constant:\r
+0:31            768 (const int)\r
+0:32      Sequence\r
+0:32        move second child to first child (int)\r
+0:32          'hABCDEF' (int)\r
+0:32          Constant:\r
+0:32            11259375 (const int)\r
+0:33      Sequence\r
+0:33        move second child to first child (int)\r
+0:33          'hFFFFFFFF' (int)\r
+0:33          Constant:\r
+0:33            -1 (const int)\r
+0:34      Sequence\r
+0:34        move second child to first child (int)\r
+0:34          'h12345678' (int)\r
+0:34          Constant:\r
+0:34            12345678 (const int)\r
+0:35      Sequence\r
+0:35        move second child to first child (int)\r
+0:35          'hToBeOrNotToBe' (int)\r
+0:35          Constant:\r
+0:35            -1 (const int)\r
+0:37      Sequence\r
+0:37        move second child to first child (uint)\r
+0:37          'uh0' (uint)\r
+0:37          Constant:\r
+0:37            0 (const uint)\r
+0:38      Sequence\r
+0:38        move second child to first child (uint)\r
+0:38          'uhg' (uint)\r
+0:38          Constant:\r
+0:38            12 (const uint)\r
+0:39      Sequence\r
+0:39        move second child to first child (uint)\r
+0:39          'uh000' (uint)\r
+0:39          Constant:\r
+0:39            0 (const uint)\r
+0:40      Sequence\r
+0:40        move second child to first child (uint)\r
+0:40          'uh1' (uint)\r
+0:40          Constant:\r
+0:40            1 (const uint)\r
+0:41      Sequence\r
+0:41        move second child to first child (uint)\r
+0:41          'uh2' (uint)\r
+0:41          Constant:\r
+0:41            2 (const uint)\r
+0:42      Sequence\r
+0:42        move second child to first child (uint)\r
+0:42          'uh300' (uint)\r
+0:42          Constant:\r
+0:42            768 (const uint)\r
+0:43      Sequence\r
+0:43        move second child to first child (uint)\r
+0:43          'uhABCDEF' (uint)\r
+0:43          Constant:\r
+0:43            11259375 (const uint)\r
+0:44      Sequence\r
+0:44        move second child to first child (uint)\r
+0:44          'uhFFFFFFFF' (uint)\r
+0:44          Constant:\r
+0:44            4294967295 (const uint)\r
+0:45      Sequence\r
+0:45        move second child to first child (uint)\r
+0:45          'uh12345678' (uint)\r
+0:45          Constant:\r
+0:45            12345678 (const uint)\r
+0:46      Sequence\r
+0:46        move second child to first child (uint)\r
+0:46          'uhToBeOrNotToBe' (uint)\r
+0:46          Constant:\r
+0:46            4294967295 (const uint)\r
+0:49      Sequence\r
+0:49        move second child to first child (int)\r
+0:49          'he2' (int)\r
+0:49          Constant:\r
+0:49            0 (const int)\r
+0:50      Sequence\r
+0:50        move second child to first child (int)\r
+0:50          'hbig' (int)\r
+0:50          Constant:\r
+0:50            -1 (const int)\r
+0:52      Sequence\r
+0:52        move second child to first child (float)\r
+0:52          'f1' (float)\r
+0:52          Constant:\r
+0:52            1.000000\r
+0:53      Sequence\r
+0:53        move second child to first child (float)\r
+0:53          'f2' (float)\r
+0:53          Constant:\r
+0:53            2.000000\r
+0:54      Sequence\r
+0:54        move second child to first child (float)\r
+0:54          'f3' (float)\r
+0:54          Constant:\r
+0:54            3.000000\r
+0:55      Sequence\r
+0:55        move second child to first child (float)\r
+0:55          'f4' (float)\r
+0:55          Constant:\r
+0:55            4.000000\r
+0:56      Sequence\r
+0:56        move second child to first child (float)\r
+0:56          'f5' (float)\r
+0:56          Constant:\r
+0:56            5.000000\r
+0:57      Sequence\r
+0:57        move second child to first child (float)\r
+0:57          'f6' (float)\r
+0:57          Constant:\r
+0:57            6.000000\r
+0:58      Sequence\r
+0:58        move second child to first child (float)\r
+0:58          'f7' (float)\r
+0:58          Constant:\r
+0:58            7.000000\r
+0:59      Sequence\r
+0:59        move second child to first child (float)\r
+0:59          'f8' (float)\r
+0:59          Constant:\r
+0:59            8.000000\r
+0:60      Sequence\r
+0:60        move second child to first child (float)\r
+0:60          'f9' (float)\r
+0:60          Constant:\r
+0:60            9.000000\r
+0:61      Sequence\r
+0:61        move second child to first child (float)\r
+0:61          'f10' (float)\r
+0:61          Constant:\r
+0:61            10.000000\r
+0:62      Sequence\r
+0:62        move second child to first child (float)\r
+0:62          'f11' (float)\r
+0:62          Constant:\r
+0:62            11.000000\r
+0:63      Sequence\r
+0:63        move second child to first child (float)\r
+0:63          'f12' (float)\r
+0:63          Constant:\r
+0:63            12.000000\r
+0:64      Sequence\r
+0:64        move second child to first child (float)\r
+0:64          'f543' (float)\r
+0:64          Constant:\r
+0:64            543.000000\r
+0:65      Sequence\r
+0:65        move second child to first child (float)\r
+0:65          'f6789' (float)\r
+0:65          Constant:\r
+0:65            6789.000000\r
+0:66      Sequence\r
+0:66        move second child to first child (float)\r
+0:66          'f88' (float)\r
+0:66          Constant:\r
+0:66            88.000000\r
+0:68      Sequence\r
+0:68        move second child to first child (float)\r
+0:68          'g1' (float)\r
+0:68          Constant:\r
+0:68            53876.000000\r
+0:69      Sequence\r
+0:69        move second child to first child (float)\r
+0:69          'g2' (float)\r
+0:69          Constant:\r
+0:69            0.040000\r
+0:70      Sequence\r
+0:70        move second child to first child (float)\r
+0:70          'g3' (float)\r
+0:70          Constant:\r
+0:70            100000.000000\r
+0:71      Sequence\r
+0:71        move second child to first child (float)\r
+0:71          'g4' (float)\r
+0:71          Constant:\r
+0:71            0.007321\r
+0:72      Sequence\r
+0:72        move second child to first child (float)\r
+0:72          'g5' (float)\r
+0:72          Constant:\r
+0:72            32000.000000\r
+0:73      Sequence\r
+0:73        move second child to first child (float)\r
+0:73          'g6' (float)\r
+0:73          Constant:\r
+0:73            0.000005\r
+0:74      Sequence\r
+0:74        move second child to first child (float)\r
+0:74          'g7' (float)\r
+0:74          Constant:\r
+0:74            0.450000\r
+0:75      Sequence\r
+0:75        move second child to first child (float)\r
+0:75          'g8' (float)\r
+0:75          Constant:\r
+0:75            60000000000.000000\r
+0:77      Sequence\r
+0:77        move second child to first child (double)\r
+0:77          'gf1' (double)\r
+0:77          Constant:\r
+0:77            1.000000\r
+0:78      Sequence\r
+0:78        move second child to first child (double)\r
+0:78          'gf2' (double)\r
+0:78          Constant:\r
+0:78            2.000000\r
+0:79      Sequence\r
+0:79        move second child to first child (double)\r
+0:79          'gf3' (double)\r
+0:79          Constant:\r
+0:79            3.000000\r
+0:80      Sequence\r
+0:80        move second child to first child (double)\r
+0:80          'gf4' (double)\r
+0:80          Constant:\r
+0:80            4.000000\r
+0:81      Sequence\r
+0:81        move second child to first child (float)\r
+0:81          'gf5' (float)\r
+0:81          Constant:\r
+0:81            5.000000\r
+0:82      Sequence\r
+0:82        move second child to first child (float)\r
+0:82          'gf6' (float)\r
+0:82          Constant:\r
+0:82            6.000000\r
+0:88      Sequence\r
+0:88        move second child to first child (float)\r
+0:88          'e5' (float)\r
+0:88          Constant:\r
+0:88            5.000000\r
+0:?   Linker Objects\r
+0:?     'c2' (layout(location=2 ) out 4-component vector of float)\r
+0:?     'c3' (layout(location=3 ) out 4-component vector of float)\r
+0:?     'c4' (layout(location=4 ) out 4-component vector of float)\r
+0:?     'c5' (layout(location=5 ) out 4-component vector of float)\r
+0:?     'c6' (layout(location=6 ) out 4-component vector of float)\r
+0:?     'c7' (layout(location=7 ) out 4-component vector of float)\r
 \r
index 0ad8c83..73a9938 100644 (file)
@@ -37,4 +37,34 @@ Linked fragment stage:
 \r
 \r
 Shader version: 100\r
+0:? Sequence\r
+0:5  Function Definition: main( (void)\r
+0:5    Function Parameters: \r
+0:?     Sequence\r
+0:9      Test condition and select (void)\r
+0:9        Condition\r
+0:9        Compare Less Than (bool)\r
+0:9          length (mediump float)\r
+0:9            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float)\r
+0:9          Constant:\r
+0:9            0.300000\r
+0:9        true case\r
+0:10        move second child to first child (highp 4-component vector of float)\r
+0:10          'color' (highp 4-component vector of float)\r
+0:10          Function Call: texture2D(s21;vf2; (lowp 4-component vector of float)\r
+0:10            'sampler' (uniform lowp sampler2D)\r
+0:10            'gl_PointCoord' (gl_PointCoord mediump 2-component vector of float)\r
+0:9        false case\r
+0:12        move second child to first child (highp 4-component vector of float)\r
+0:12          'color' (highp 4-component vector of float)\r
+0:12          Constant:\r
+0:12            0.000000\r
+0:12            0.000000\r
+0:12            0.000000\r
+0:12            0.000000\r
+0:14      move second child to first child (highp 4-component vector of float)\r
+0:14        'gl_FragColor' (fragColor mediump 4-component vector of float)\r
+0:14        'color' (highp 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform lowp sampler2D)\r
 \r
index 2c961aa..1f0992e 100644 (file)
@@ -129,4 +129,117 @@ Linked fragment stage:
 \r
 \r
 Shader version: 100\r
+ERROR: node is still EOpNull!\r
+0:5  Function Definition: foo(vf3; (lowp 2-component vector of float)\r
+0:5    Function Parameters: \r
+0:5      'mv3' (in mediump 3-component vector of float)\r
+0:?     Sequence\r
+0:8      Branch: Return with expression\r
+0:8        vector swizzle (highp 2-component vector of float)\r
+0:8          'hv4' (highp 4-component vector of float)\r
+0:8          Sequence\r
+0:8            Constant:\r
+0:8              0 (const int)\r
+0:8            Constant:\r
+0:8              1 (const int)\r
+0:25  Function Definition: main( (void)\r
+0:25    Function Parameters: \r
+0:27    Sequence\r
+0:27      Sequence\r
+0:27        move second child to first child (highp int)\r
+0:27          'sum' (lowp int)\r
+0:27          add (highp int)\r
+0:27            'global_medium' (mediump int)\r
+0:27            'global_high' (highp int)\r
+0:29      move second child to first child (mediump 4-component vector of float)\r
+0:29        'gl_FragColor' (fragColor mediump 4-component vector of float)\r
+0:29        Construct vec4 (mediump 4-component vector of float)\r
+0:29          'color' (smooth in mediump 3-component vector of float)\r
+0:29          Constant:\r
+0:29            1.000000\r
+0:32      add second child into first child (highp int)\r
+0:32        'sum' (lowp int)\r
+0:32        'level1_high' (highp int)\r
+0:36      add second child into first child (lowp int)\r
+0:36        'sum' (lowp int)\r
+0:36        'level1_low' (lowp int)\r
+0:41      Sequence\r
+0:41        move second child to first child (mediump float)\r
+0:41          'd' (lowp float)\r
+0:41          distance (mediump float)\r
+0:41            'arg1' (lowp float)\r
+0:41            'arg2' (mediump float)\r
+0:?       Sequence\r
+0:45        add second child into first child (lowp int)\r
+0:45          'sum' (lowp int)\r
+0:45          'level2_low' (lowp int)\r
+0:49        add second child into first child (highp int)\r
+0:49          'sum' (lowp int)\r
+0:49          'level2_high' (highp int)\r
+0:58        Loop with condition not tested first\r
+0:58          Loop Condition\r
+0:58          Constant:\r
+0:58            true (const bool)\r
+0:58          Loop Body\r
+0:51          Sequence\r
+0:51            Test condition and select (void)\r
+0:51              Condition\r
+0:51              Constant:\r
+0:51                true (const bool)\r
+0:51              true case\r
+0:?               Sequence\r
+0:54                add second child into first child (mediump int)\r
+0:54                  'sum' (lowp int)\r
+0:54                  'level4_medium' (mediump int)\r
+0:57            add second child into first child (highp int)\r
+0:57              'sum' (lowp int)\r
+0:57              'level3_high' (highp int)\r
+0:60        add second child into first child (highp int)\r
+0:60          'sum' (lowp int)\r
+0:60          'level2_high2' (highp int)\r
+0:63      add second child into first child (lowp int)\r
+0:63        'sum' (lowp int)\r
+0:63        'level1_low3' (lowp int)\r
+0:65      add second child into first child (lowp int)\r
+0:65        'sum' (lowp int)\r
+0:65        add (lowp int)\r
+0:65          Constant:\r
+0:65            4 (const int)\r
+0:65          direct index (lowp int)\r
+0:65            add (lowp 2-component vector of int)\r
+0:65              component-wise multiply (lowp 2-component vector of int)\r
+0:65                Construct ivec2 (lowp 2-component vector of int)\r
+0:65                  'level1_low3' (lowp int)\r
+0:65                Construct ivec2 (lowp 2-component vector of int)\r
+0:65                  'level1_high' (highp int)\r
+0:65              Construct ivec2 (lowp 2-component vector of int)\r
+0:65                Comma (highp int)\r
+0:65                  'level1_low3' (lowp int)\r
+0:65                  'level1_high' (highp int)\r
+0:65            Constant:\r
+0:65              0 (const int)\r
+0:67      Function Call: texture2D(s21;vf2; (lowp 4-component vector of float)\r
+0:67        'samplerLow' (uniform lowp sampler2D)\r
+0:67        Constant:\r
+0:67          0.100000\r
+0:67          0.200000\r
+0:68      Function Call: texture2D(s21;vf2; (mediump 4-component vector of float)\r
+0:68        'samplerMed' (uniform mediump sampler2D)\r
+0:68        Constant:\r
+0:68          0.100000\r
+0:68          0.200000\r
+0:69      Function Call: texture2D(s21;vf2; (highp 4-component vector of float)\r
+0:69        'samplerHigh' (uniform highp sampler2D)\r
+0:69        Constant:\r
+0:69          0.100000\r
+0:69          0.200000\r
+0:?   Linker Objects\r
+0:?     'color' (smooth in mediump 3-component vector of float)\r
+0:?     'global_medium' (mediump int)\r
+0:?     'samplerLow' (uniform lowp sampler2D)\r
+0:?     'samplerMed' (uniform mediump sampler2D)\r
+0:?     'samplerHigh' (uniform highp sampler2D)\r
+0:?     'uint' (mediump 4-component vector of float)\r
+0:?     'global_high' (highp int)\r
+0:?     'b2' (mediump 2-component vector of bool)\r
 \r
index 0d9600d..cfec17f 100644 (file)
@@ -54,4 +54,46 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:18  Function Definition: main( (void)\r
+0:18    Function Parameters: \r
+0:20    Sequence\r
+0:20      Sequence\r
+0:20        move second child to first child (highp 4-component vector of float)\r
+0:20          't' (highp 4-component vector of float)\r
+0:20          Function Call: texture(s21;vf2; (highp 4-component vector of float)\r
+0:20            's2D' (uniform lowp sampler2D)\r
+0:20            Constant:\r
+0:20              0.100000\r
+0:20              0.200000\r
+0:21      add second child into first child (highp 4-component vector of float)\r
+0:21        't' (highp 4-component vector of float)\r
+0:21        Function Call: texture(s21;vf2; (highp 4-component vector of float)\r
+0:21          's2Dhigh' (uniform highp sampler2D)\r
+0:21          Constant:\r
+0:21            0.100000\r
+0:21            0.200000\r
+0:22      add second child into first child (highp 4-component vector of float)\r
+0:22        't' (highp 4-component vector of float)\r
+0:22        Function Call: texture(sAS21;vf4; (highp float)\r
+0:22          's2dAS' (uniform mediump sampler2DArrayShadow)\r
+0:22          Constant:\r
+0:22            0.500000\r
+0:22            0.500000\r
+0:22            0.500000\r
+0:22            0.500000\r
+0:24      move second child to first child (highp 4-component vector of float)\r
+0:24        'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:24        'pos' (in highp 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'pos' (in highp 4-component vector of float)\r
+0:?     's2D' (uniform lowp sampler2D)\r
+0:?     'sCube' (uniform lowp samplerCube)\r
+0:?     'is2DAbad' (uniform mediump isampler2DArray)\r
+0:?     's2dASbad' (uniform mediump sampler2DArrayShadow)\r
+0:?     's2dAS' (uniform mediump sampler2DArrayShadow)\r
+0:?     'is2DAbad2' (uniform mediump isampler2DArray)\r
+0:?     's2Dhigh' (uniform highp sampler2D)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index 7492a04..a635181 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/prepost.frag\r
-Warning, version 140 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 140\r
 0:? Sequence\r
@@ -139,4 +138,135 @@ Linked fragment stage:
 \r
 \r
 Shader version: 140\r
+0:? Sequence\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:?     Sequence\r
+0:10      Sequence\r
+0:10        move second child to first child (int)\r
+0:10          'index' (int)\r
+0:10          Constant:\r
+0:10            5 (const int)\r
+0:12      move second child to first child (float)\r
+0:12        direct index (float)\r
+0:12          y: direct index for structure (5-element array of float)\r
+0:12            'str' (structure{5-element array of float y})\r
+0:12            Constant:\r
+0:12              0 (const int)\r
+0:12          Constant:\r
+0:12            4 (const int)\r
+0:12        Constant:\r
+0:12          2.000000\r
+0:13      move second child to first child (float)\r
+0:13        't' (float)\r
+0:13        Pre-Increment (float)\r
+0:13          indirect index (float)\r
+0:13            y: direct index for structure (5-element array of float)\r
+0:13              'str' (structure{5-element array of float y})\r
+0:13              Constant:\r
+0:13                0 (const int)\r
+0:13            Pre-Decrement (int)\r
+0:13              'index' (int)\r
+0:14      add second child into first child (float)\r
+0:14        direct index (float)\r
+0:14          y: direct index for structure (5-element array of float)\r
+0:14            'str' (structure{5-element array of float y})\r
+0:14            Constant:\r
+0:14              0 (const int)\r
+0:14          Constant:\r
+0:14            4 (const int)\r
+0:14        't' (float)\r
+0:15      move second child to first child (float)\r
+0:15        't' (float)\r
+0:15        Post-Decrement (float)\r
+0:15          direct index (float)\r
+0:15            y: direct index for structure (5-element array of float)\r
+0:15              'str' (structure{5-element array of float y})\r
+0:15              Constant:\r
+0:15                0 (const int)\r
+0:15            Constant:\r
+0:15              4 (const int)\r
+0:16      add second child into first child (float)\r
+0:16        indirect index (float)\r
+0:16          y: direct index for structure (5-element array of float)\r
+0:16            'str' (structure{5-element array of float y})\r
+0:16            Constant:\r
+0:16              0 (const int)\r
+0:16          Post-Increment (int)\r
+0:16            'index' (int)\r
+0:16        't' (float)\r
+0:17      Pre-Decrement (float)\r
+0:17        indirect index (float)\r
+0:17          y: direct index for structure (5-element array of float)\r
+0:17            'str' (structure{5-element array of float y})\r
+0:17            Constant:\r
+0:17              0 (const int)\r
+0:17          Pre-Decrement (int)\r
+0:17            'index' (int)\r
+0:19      Sequence\r
+0:19        move second child to first child (float)\r
+0:19          'x' (float)\r
+0:19          direct index (float)\r
+0:19            y: direct index for structure (5-element array of float)\r
+0:19              'str' (structure{5-element array of float y})\r
+0:19              Constant:\r
+0:19                0 (const int)\r
+0:19            Constant:\r
+0:19              4 (const int)\r
+0:20      Pre-Increment (float)\r
+0:20        'x' (float)\r
+0:21      Pre-Decrement (float)\r
+0:21        'x' (float)\r
+0:22      Post-Increment (float)\r
+0:22        'x' (float)\r
+0:23      Post-Decrement (float)\r
+0:23        'x' (float)\r
+0:27      Sequence\r
+0:27        move second child to first child (float)\r
+0:27          'y' (float)\r
+0:27          component-wise multiply (float)\r
+0:27            'x' (float)\r
+0:27            Pre-Increment (float)\r
+0:27              'x' (float)\r
+0:28      Sequence\r
+0:28        move second child to first child (float)\r
+0:28          'z' (float)\r
+0:28          component-wise multiply (float)\r
+0:28            'y' (float)\r
+0:28            Post-Decrement (float)\r
+0:28              'x' (float)\r
+0:33      Sequence\r
+0:33        move second child to first child (4-component vector of float)\r
+0:33          'v' (4-component vector of float)\r
+0:33          Constant:\r
+0:33            1.000000\r
+0:33            2.000000\r
+0:33            3.000000\r
+0:33            4.000000\r
+0:34      move second child to first child (float)\r
+0:34        direct index (float)\r
+0:34          'v' (4-component vector of float)\r
+0:34          Constant:\r
+0:34            1 (const int)\r
+0:34        Post-Decrement (float)\r
+0:34          direct index (float)\r
+0:34            'v' (4-component vector of float)\r
+0:34            Constant:\r
+0:34              2 (const int)\r
+0:35      move second child to first child (float)\r
+0:35        direct index (float)\r
+0:35          'v' (4-component vector of float)\r
+0:35          Constant:\r
+0:35            0 (const int)\r
+0:35        Pre-Decrement (float)\r
+0:35          direct index (float)\r
+0:35            'v' (4-component vector of float)\r
+0:35            Constant:\r
+0:35              3 (const int)\r
+0:37      move second child to first child (4-component vector of float)\r
+0:37        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:37        vector-scale (4-component vector of float)\r
+0:37          'z' (float)\r
+0:37          'v' (4-component vector of float)\r
+0:?   Linker Objects\r
 \r
index 3c50053..53e651a 100644 (file)
@@ -1,5 +1,5 @@
 recurse1.vert\r
-Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 330 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 330\r
 0:? Sequence\r
@@ -70,7 +70,7 @@ Shader version: 330
 0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
 recurse1.frag\r
-Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 330 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 330\r
 0:? Sequence\r
@@ -159,7 +159,7 @@ Shader version: 330
 0:?   Linker Objects\r
 \r
 recurse2.frag\r
-Warning, version 330 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 330 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 330\r
 0:? Sequence\r
@@ -221,6 +221,72 @@ ERROR: Linking fragment stage: Recursion detected:
     cfoo(f1; calling cbar(i1;\r
 \r
 Shader version: 330\r
+0:? Sequence\r
+0:3  Function Definition: main( (void)\r
+0:3    Function Parameters: \r
+0:9  Function Definition: self( (void)\r
+0:9    Function Parameters: \r
+0:11    Sequence\r
+0:11      Function Call: self( (void)\r
+0:16  Function Definition: foo(f1; (void)\r
+0:16    Function Parameters: \r
+0:16      '' (in float)\r
+0:18    Sequence\r
+0:18      Function Call: bar(i1; (float)\r
+0:18        Constant:\r
+0:18          2 (const int)\r
+0:21  Function Definition: bar(i1; (float)\r
+0:21    Function Parameters: \r
+0:21      '' (in int)\r
+0:23    Sequence\r
+0:23      Function Call: foo(f1; (void)\r
+0:23        Constant:\r
+0:23          4.200000\r
+0:25      Branch: Return with expression\r
+0:25        Constant:\r
+0:25          3.200000\r
+0:32  Function Definition: A( (void)\r
+0:32    Function Parameters: \r
+0:32    Sequence\r
+0:32      Function Call: B( (void)\r
+0:33  Function Definition: C( (void)\r
+0:33    Function Parameters: \r
+0:33    Sequence\r
+0:33      Function Call: D( (void)\r
+0:34  Function Definition: B( (void)\r
+0:34    Function Parameters: \r
+0:34    Sequence\r
+0:34      Function Call: C( (void)\r
+0:35  Function Definition: D( (void)\r
+0:35    Function Parameters: \r
+0:35    Sequence\r
+0:35      Function Call: A( (void)\r
+0:41  Function Definition: AT( (void)\r
+0:41    Function Parameters: \r
+0:41    Sequence\r
+0:41      Function Call: BT( (void)\r
+0:41      Function Call: BT( (void)\r
+0:41      Function Call: BT( (void)\r
+0:42  Function Definition: CT( (void)\r
+0:42    Function Parameters: \r
+0:42    Sequence\r
+0:42      Function Call: DT( (void)\r
+0:42      Function Call: AT( (void)\r
+0:42      Function Call: DT( (void)\r
+0:42      Function Call: BT( (void)\r
+0:43  Function Definition: BT( (void)\r
+0:43    Function Parameters: \r
+0:43    Sequence\r
+0:43      Function Call: CT( (void)\r
+0:43      Function Call: CT( (void)\r
+0:43      Function Call: CT( (void)\r
+0:44  Function Definition: DT( (void)\r
+0:44    Function Parameters: \r
+0:44    Sequence\r
+0:44      Function Call: AT( (void)\r
+0:?   Linker Objects\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 Shader version: 330\r
 0:? Sequence\r
 0:5  Function Definition: main( (void)\r
index 86f4bf0..0a74c14 100644 (file)
@@ -1,5 +1,5 @@
 reflection.vert\r
-Warning, version 440 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 440 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 \r
 \r
index 2d2bce9..5f4ebdf 100644 (file)
@@ -19,4 +19,16 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:38  Function Definition: main( (void)\r
+0:38    Function Parameters: \r
+0:40    Sequence\r
+0:40      move second child to first child (4-component vector of float)\r
+0:40        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:40        Construct vec4 (4-component vector of float)\r
+0:40          'color' (smooth in 3-component vector of float)\r
+0:40          Constant:\r
+0:40            1.000000\r
+0:?   Linker Objects\r
+0:?     'color' (smooth in 3-component vector of float)\r
 \r
index 4179740..463703b 100644 (file)
@@ -24,4 +24,21 @@ Linked vertex stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:38  Function Definition: main( (void)\r
+0:38    Function Parameters: \r
+0:40    Sequence\r
+0:40      move second child to first child (3-component vector of float)\r
+0:40        'color' (smooth out 3-component vector of float)\r
+0:40        Constant:\r
+0:40          1.000000\r
+0:40          1.000000\r
+0:40          1.000000\r
+0:42      move second child to first child (4-component vector of float)\r
+0:42        'gl_Position' (gl_Position 4-component vector of float)\r
+0:42        matrix-times-vector (4-component vector of float)\r
+0:42          'gl_ModelViewProjectionMatrix' (uniform 4X4 matrix of float)\r
+0:42          'gl_Vertex' (in 4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'color' (smooth out 3-component vector of float)\r
 \r
index 440dc97..fa43269 100644 (file)
@@ -1,5 +1,5 @@
 ../../LunarGLASS/test/simpleFunctionCall.frag\r
-Warning, version 150 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 150 is not yet complete; most version-specific features are present, but some are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 150\r
@@ -25,4 +25,20 @@ Linked fragment stage:
 \r
 \r
 Shader version: 150\r
+0:? Sequence\r
+0:7  Function Definition: foo( (4-component vector of float)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      Branch: Return with expression\r
+0:9        'BaseColor' (smooth in 4-component vector of float)\r
+0:12  Function Definition: main( (void)\r
+0:12    Function Parameters: \r
+0:14    Sequence\r
+0:14      move second child to first child (4-component vector of float)\r
+0:14        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:14        Function Call: foo( (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
 \r
index 50fa102..88b8649 100644 (file)
@@ -1,5 +1,5 @@
 specExamples.frag\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:6: '=' :  cannot convert from 'const uint' to 'int'\r
 ERROR: 0:20: '' : numeric literal too big \r
 ERROR: 0:21: '' : hexidecimal literal too big \r
@@ -288,8 +288,8 @@ ERROR: node is still EOpNull!
 0:?       0.700000\r
 0:?       0.700000\r
 0:?       0.200000\r
-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})\r
-0:?     '__anon__1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})\r
+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})\r
+0:?     'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})\r
 0:?     'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})\r
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
 0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
@@ -297,8 +297,8 @@ ERROR: node is still EOpNull!
 0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)\r
 0:?     'gl_FragDepth' (gl_FragDepth float)\r
 0:?     'gl_FragDepth' (gl_FragDepth float)\r
-0:?     '__anon__2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
-0:?     '__anon__2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     'anon@2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
+0:?     'anon@2' (in block{in float gl_FogFragCoord, in implicitly-sized array of 4-component vector of float gl_TexCoord, flat in 4-component vector of float gl_Color, in 4-component vector of float gl_SecondaryColor})\r
 \r
 \r
 Linked fragment stage:\r
@@ -308,4 +308,247 @@ Shader version: 430
 Requested GL_3DL_array_objects\r
 gl_FragCoord pixel center is integer\r
 gl_FragCoord origin is upper left\r
+ERROR: node is still EOpNull!\r
+0:5  Sequence\r
+0:5    move second child to first child (int)\r
+0:5      'a' (int)\r
+0:5      Constant:\r
+0:5        -1 (const int)\r
+0:7  Sequence\r
+0:7    move second child to first child (uint)\r
+0:7      'c' (uint)\r
+0:7      Constant:\r
+0:7        4294967295 (const uint)\r
+0:8  Sequence\r
+0:8    move second child to first child (uint)\r
+0:8      'd' (uint)\r
+0:8      Constant:\r
+0:8        4294967295 (const uint)\r
+0:9  Sequence\r
+0:9    move second child to first child (int)\r
+0:9      'e' (int)\r
+0:9      Constant:\r
+0:9        -1 (const int)\r
+0:13  Sequence\r
+0:13    move second child to first child (uint)\r
+0:13      'f' (uint)\r
+0:13      Constant:\r
+0:13        4294967295 (const uint)\r
+0:17  Sequence\r
+0:17    move second child to first child (int)\r
+0:17      'g' (int)\r
+0:17      Constant:\r
+0:17        -1294967296 (const int)\r
+0:19  Sequence\r
+0:19    move second child to first child (int)\r
+0:19      'h' (int)\r
+0:19      Constant:\r
+0:19        -1610612736 (const int)\r
+0:20  Sequence\r
+0:20    move second child to first child (int)\r
+0:20      'i' (int)\r
+0:20      Constant:\r
+0:20        -1 (const int)\r
+0:21  Sequence\r
+0:21    move second child to first child (int)\r
+0:21      'j' (int)\r
+0:21      Constant:\r
+0:21        -1 (const int)\r
+0:22  Sequence\r
+0:22    move second child to first child (int)\r
+0:22      'k' (int)\r
+0:22      Constant:\r
+0:22        -2147483648 (const int)\r
+0:23  Sequence\r
+0:23    move second child to first child (int)\r
+0:23      'l' (int)\r
+0:23      Constant:\r
+0:23        -2147483648 (const int)\r
+0:25  Sequence\r
+0:25    move second child to first child (float)\r
+0:25      'fb' (float)\r
+0:25      Constant:\r
+0:25        1.500000\r
+0:26  Sequence\r
+0:26    move second child to first child (double)\r
+0:26      'fd' (double)\r
+0:26      Constant:\r
+0:26        2.000000\r
+0:127  Function Definition: foo(f1[5]; (5-element array of float)\r
+0:127    Function Parameters: \r
+0:127      '' (in 5-element array of float)\r
+0:129    Sequence\r
+0:129      Branch: Return with expression\r
+0:129        Constant:\r
+0:129          3.400000\r
+0:129          4.200000\r
+0:129          5.000000\r
+0:129          5.200000\r
+0:129          1.100000\r
+0:137  Function Definition: main( (void)\r
+0:137    Function Parameters: \r
+0:140    Sequence\r
+0:140      Sequence\r
+0:140        Sequence\r
+0:140          move second child to first child (5-element array of float)\r
+0:140            'a' (5-element array of float)\r
+0:140            Constant:\r
+0:140              3.400000\r
+0:140              4.200000\r
+0:140              5.000000\r
+0:140              5.200000\r
+0:140              1.100000\r
+0:143      Sequence\r
+0:143        Sequence\r
+0:143          move second child to first child (5-element array of float)\r
+0:143            'a' (5-element array of float)\r
+0:143            Constant:\r
+0:143              3.400000\r
+0:143              4.200000\r
+0:143              5.000000\r
+0:143              5.200000\r
+0:143              1.100000\r
+0:?       Sequence\r
+0:149        Sequence\r
+0:149          move second child to first child (2-element array of 4-component vector of float)\r
+0:149            'b' (2-element array of 4-component vector of float)\r
+0:149            Constant:\r
+0:149              0.000000\r
+0:149              0.000000\r
+0:149              0.000000\r
+0:149              0.000000\r
+0:149              0.100000\r
+0:149              0.100000\r
+0:149              0.100000\r
+0:149              0.100000\r
+0:?       Sequence\r
+0:159        Sequence\r
+0:159          Sequence\r
+0:159            move second child to first child (5-element array of float)\r
+0:159              'b' (5-element array of float)\r
+0:159              'a' (5-element array of float)\r
+0:162        Sequence\r
+0:162          Sequence\r
+0:162            move second child to first child (5-element array of float)\r
+0:162              'b' (5-element array of float)\r
+0:162              'a' (5-element array of float)\r
+0:165        Sequence\r
+0:165          Sequence\r
+0:165            move second child to first child (5-element array of float)\r
+0:165              'b' (5-element array of float)\r
+0:165              Constant:\r
+0:165                1.000000\r
+0:165                2.000000\r
+0:165                3.000000\r
+0:165                4.000000\r
+0:165                5.000000\r
+0:167        Constant:\r
+0:167          5 (const int)\r
+0:?       Sequence\r
+0:171        Constant:\r
+0:171          3 (const int)\r
+0:172        Constant:\r
+0:172          0.000000\r
+0:175      Constant:\r
+0:175        0.000000\r
+0:178      Constant:\r
+0:178        0.000000\r
+0:193      Sequence\r
+0:193        move second child to first child (structure{float a, int b})\r
+0:193          'e' (structure{float a, int b})\r
+0:193          Constant:\r
+0:193            1.200000\r
+0:193            2 (const int)\r
+0:216      Sequence\r
+0:216        Sequence\r
+0:216          move second child to first child (5-element array of float)\r
+0:216            'a' (5-element array of float)\r
+0:216            Constant:\r
+0:216              3.400000\r
+0:216              4.200000\r
+0:216              5.000000\r
+0:216              5.200000\r
+0:216              1.100000\r
+0:217        Sequence\r
+0:217          move second child to first child (5-element array of float)\r
+0:217            'b' (5-element array of float)\r
+0:217            Constant:\r
+0:217              3.400000\r
+0:217              4.200000\r
+0:217              5.000000\r
+0:217              5.200000\r
+0:217              1.100000\r
+0:218        Sequence\r
+0:218          move second child to first child (5-element array of float)\r
+0:218            'c' (5-element array of float)\r
+0:218            'a' (5-element array of float)\r
+0:219        Sequence\r
+0:219          move second child to first child (5-element array of float)\r
+0:219            'd' (5-element array of float)\r
+0:219            'b' (5-element array of float)\r
+0:?       Sequence\r
+0:223        Sequence\r
+0:223          move second child to first child (float)\r
+0:223            'ceiling' (const (read only) float)\r
+0:223            Convert int to float (float)\r
+0:223              add (int)\r
+0:223                'a' (int)\r
+0:223                'b' (int)\r
+0:?   Linker Objects\r
+0:?     'a' (int)\r
+0:?     'b' (int)\r
+0:?     'c' (uint)\r
+0:?     'd' (uint)\r
+0:?     'e' (int)\r
+0:?     'f' (uint)\r
+0:?     'g' (int)\r
+0:?     'h' (int)\r
+0:?     'i' (int)\r
+0:?     'j' (int)\r
+0:?     'k' (int)\r
+0:?     'l' (int)\r
+0:?     'fa' (float)\r
+0:?     'fb' (float)\r
+0:?     'fc' (double)\r
+0:?     'fd' (double)\r
+0:?     'texcoord1' (2-component vector of float)\r
+0:?     'texcoord2' (2-component vector of float)\r
+0:?     'position' (3-component vector of float)\r
+0:?     'myRGBA' (4-component vector of float)\r
+0:?     'textureLookup' (2-component vector of int)\r
+0:?     'less' (3-component vector of bool)\r
+0:?     'mat2D' (2X2 matrix of float)\r
+0:?     'optMatrix' (3X3 matrix of float)\r
+0:?     'view' (4X4 matrix of float)\r
+0:?     'projection' (4X4 matrix of float)\r
+0:?     'm' (3X2 matrix of float)\r
+0:?     'highPrecisionMVP' (4X4 matrix of double)\r
+0:?     'dm' (2X4 matrix of double)\r
+0:?     'lightVar' (structure{float intensity, 3-component vector of float position})\r
+0:?     'frequencies' (3-element array of float)\r
+0:?     'lightPosition' (uniform 4-element array of 4-component vector of float)\r
+0:?     'lights' (2-element array of structure{float intensity, 3-component vector of float position})\r
+0:?     'numLights' (const int)\r
+0:?       2 (const int)\r
+0:?     'normal' (smooth in 3-component vector of float)\r
+0:?     'TexCoord' (centroid smooth in 2-component vector of float)\r
+0:?     'Color' (invariant centroid smooth in 4-component vector of float)\r
+0:?     'temperature' (noperspective in float)\r
+0:?     'myColor' (flat in 3-component vector of float)\r
+0:?     'myTexCoord' (centroid noperspective in 2-component vector of float)\r
+0:?     'color' (uniform 3-component vector of float)\r
+0:?       0.700000\r
+0:?       0.700000\r
+0:?       0.200000\r
+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})\r
+0:?     'anon@1' (in block{in 4-component vector of float LightPos, in 3-component vector of float LightColor})\r
+0:?     'Materiala' (in block{in 4-component vector of float Color, in 2-component vector of float TexCoord})\r
+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:?     'gl_FragCoord' (gl_FragCoord 4-component vector of float)\r
+0:?     'factor' (layout(location=3 ) out 4-component vector of float)\r
+0:?     'colors' (layout(location=2 ) out 3-element array of 4-component vector of float)\r
+0:?     'gl_FragDepth' (gl_FragDepth float)\r
+0:?     'gl_FragDepth' (gl_FragDepth float)\r
+0:?     'anon@2' (in block{in float gl_FogFragCoord, in 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})\r
+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})\r
 \r
index 56ca851..95c4126 100644 (file)
@@ -1,5 +1,5 @@
 specExamples.vert\r
-Warning, version 430 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 430 is not yet complete; most version-specific features are present, but some are missing.\r
 ERROR: 0:23: 'transforms' : redeclaration of array with size \r
 ERROR: 0:29: 'location' : can only appy to uniform, buffer, in, or out storage qualifiers \r
 ERROR: 0:31: 'triangles' : unrecognized layout identifier, or qualifier requires assignemnt (e.g., binding = 4) \r
@@ -282,26 +282,26 @@ ERROR: node is still EOpNull!
 0:194          0.000000\r
 0:?   Linker Objects\r
 0:?     'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})\r
-0:?     '__anon__0' (out block{out 4-component vector of float Color})\r
+0:?     'anon@0' (out block{out 4-component vector of float Color})\r
 0:?     'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform implicitly-sized array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})\r
 0:?     'normal' (layout(location=3 ) in 4-component vector of float)\r
 0:?     'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)\r
 0:?     's' (layout(location=3 ) structure{3-component vector of float a1, 2X2 matrix of float b, 2-element array of 4-component vector of float c})\r
 0:?     'var1' (smooth out 4-component vector of float)\r
-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})\r
+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})\r
 0:?     'var5' (smooth out 4-component vector of float)\r
-0:?     '__anon__2' (out block{out 4-component vector of float var6})\r
+0:?     'anon@2' (out block{out 4-component vector of float var6})\r
 0:?     'var7' (smooth out 4-component vector of float)\r
-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})\r
-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})\r
+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})\r
+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})\r
 0:?     's17' (layout(binding=3 ) uniform sampler2D)\r
 0:?     'a2' (layout(binding=2 offset=4 ) uniform int)\r
 0:?     'bar' (layout(binding=2 ) uniform int)\r
 0:?     'b2' (layout(binding=2 ) uniform int)\r
 0:?     'c2' (layout(binding=3 ) uniform int)\r
 0:?     'd2' (layout(binding=2 ) uniform int)\r
-0:?     '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
-0:?     '__anon__5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, flat out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:?     'ColorInv' (smooth out 3-component vector of float)\r
 0:?     'Color4' (invariant centroid smooth out 3-component vector of float)\r
 0:?     'position' (smooth out 4-component vector of float)\r
@@ -311,8 +311,8 @@ ERROR: node is still EOpNull!
 0:?     'c' (in 4-component vector of float)\r
 0:?     'd' (in 4-component vector of float)\r
 0:?     'v' (smooth out 4-component vector of float)\r
-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})\r
-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})\r
+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})\r
+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})\r
 0:?     'shv' (shared 4-component vector of float)\r
 0:?     'img1' (uniform image2D)\r
 0:?     'img2' (coherent uniform image2D)\r
@@ -325,4 +325,273 @@ Linked vertex stage:
 \r
 Shader version: 430\r
 Requested GL_3DL_array_objects\r
+ERROR: node is still EOpNull!\r
+0:134  Function Definition: funcA(I21; (4-component vector of float)\r
+0:134    Function Parameters: \r
+0:134      'a' (in image2D)\r
+0:136  Function Definition: funcB(I21; (4-component vector of float)\r
+0:136    Function Parameters: \r
+0:136      'a' (in image2D)\r
+0:140  Function Definition: func(f1;f1;f1;f1; (float)\r
+0:140    Function Parameters: \r
+0:140      'e' (in float)\r
+0:140      'f' (in float)\r
+0:140      'g' (in float)\r
+0:140      'h' (in float)\r
+0:142    Sequence\r
+0:142      Branch: Return with expression\r
+0:142        add (float)\r
+0:142          component-wise multiply (float)\r
+0:142            'e' (in float)\r
+0:142            'f' (in float)\r
+0:142          component-wise multiply (float)\r
+0:142            'g' (in float)\r
+0:142            'h' (in float)\r
+0:146  Function Definition: func2(f1;f1;f1;f1; (float)\r
+0:146    Function Parameters: \r
+0:146      'e' (in float)\r
+0:146      'f' (in float)\r
+0:146      'g' (in float)\r
+0:146      'h' (in float)\r
+0:148    Sequence\r
+0:148      Sequence\r
+0:148        move second child to first child (float)\r
+0:148          'result' (float)\r
+0:148          add (float)\r
+0:148            component-wise multiply (float)\r
+0:148              'e' (in float)\r
+0:148              'f' (in float)\r
+0:148            component-wise multiply (float)\r
+0:148              'g' (in float)\r
+0:148              'h' (in float)\r
+0:150      Branch: Return with expression\r
+0:150        'result' (float)\r
+0:153  Function Definition: func3(f1;f1;f1; (float)\r
+0:153    Function Parameters: \r
+0:153      'i' (in float)\r
+0:153      'j' (in float)\r
+0:153      'k' (out float)\r
+0:155    Sequence\r
+0:155      move second child to first child (float)\r
+0:155        'k' (out float)\r
+0:155        add (float)\r
+0:155          component-wise multiply (float)\r
+0:155            'i' (in float)\r
+0:155            'i' (in float)\r
+0:155          'j' (in float)\r
+0:158  Function Definition: main( (void)\r
+0:158    Function Parameters: \r
+0:160    Sequence\r
+0:160      Sequence\r
+0:160        move second child to first child (3-component vector of float)\r
+0:160          'r' (3-component vector of float)\r
+0:160          Construct vec3 (3-component vector of float)\r
+0:160            component-wise multiply (4-component vector of float)\r
+0:160              'a' (in 4-component vector of float)\r
+0:160              'b' (in 4-component vector of float)\r
+0:161      Sequence\r
+0:161        move second child to first child (3-component vector of float)\r
+0:161          's' (3-component vector of float)\r
+0:161          Construct vec3 (3-component vector of float)\r
+0:161            component-wise multiply (4-component vector of float)\r
+0:161              'c' (in 4-component vector of float)\r
+0:161              'd' (in 4-component vector of float)\r
+0:162      move second child to first child (3-component vector of float)\r
+0:162        vector swizzle (3-component vector of float)\r
+0:162          'v' (smooth out 4-component vector of float)\r
+0:162          Sequence\r
+0:162            Constant:\r
+0:162              0 (const int)\r
+0:162            Constant:\r
+0:162              1 (const int)\r
+0:162            Constant:\r
+0:162              2 (const int)\r
+0:162        add (3-component vector of float)\r
+0:162          'r' (3-component vector of float)\r
+0:162          's' (3-component vector of float)\r
+0:163      move second child to first child (float)\r
+0:163        direct index (float)\r
+0:163          'v' (smooth out 4-component vector of float)\r
+0:163          Constant:\r
+0:163            3 (const int)\r
+0:163        add (float)\r
+0:163          component-wise multiply (float)\r
+0:163            direct index (float)\r
+0:163              'a' (in 4-component vector of float)\r
+0:163              Constant:\r
+0:163                3 (const int)\r
+0:163            direct index (float)\r
+0:163              'b' (in 4-component vector of float)\r
+0:163              Constant:\r
+0:163                3 (const int)\r
+0:163          component-wise multiply (float)\r
+0:163            direct index (float)\r
+0:163              'c' (in 4-component vector of float)\r
+0:163              Constant:\r
+0:163                3 (const int)\r
+0:163            direct index (float)\r
+0:163              'd' (in 4-component vector of float)\r
+0:163              Constant:\r
+0:163                3 (const int)\r
+0:164      move second child to first child (float)\r
+0:164        direct index (float)\r
+0:164          'v' (smooth out 4-component vector of float)\r
+0:164          Constant:\r
+0:164            0 (const int)\r
+0:164        Function Call: func(f1;f1;f1;f1; (float)\r
+0:164          direct index (float)\r
+0:164            'a' (in 4-component vector of float)\r
+0:164            Constant:\r
+0:164              0 (const int)\r
+0:164          direct index (float)\r
+0:164            'b' (in 4-component vector of float)\r
+0:164            Constant:\r
+0:164              0 (const int)\r
+0:164          direct index (float)\r
+0:164            'c' (in 4-component vector of float)\r
+0:164            Constant:\r
+0:164              0 (const int)\r
+0:164          direct index (float)\r
+0:164            'd' (in 4-component vector of float)\r
+0:164            Constant:\r
+0:164              0 (const int)\r
+0:166      move second child to first child (float)\r
+0:166        direct index (float)\r
+0:166          'v' (smooth out 4-component vector of float)\r
+0:166          Constant:\r
+0:166            0 (const int)\r
+0:166        Function Call: func2(f1;f1;f1;f1; (float)\r
+0:166          direct index (float)\r
+0:166            'a' (in 4-component vector of float)\r
+0:166            Constant:\r
+0:166              0 (const int)\r
+0:166          direct index (float)\r
+0:166            'b' (in 4-component vector of float)\r
+0:166            Constant:\r
+0:166              0 (const int)\r
+0:166          direct index (float)\r
+0:166            'c' (in 4-component vector of float)\r
+0:166            Constant:\r
+0:166              0 (const int)\r
+0:166          direct index (float)\r
+0:166            'd' (in 4-component vector of float)\r
+0:166            Constant:\r
+0:166              0 (const int)\r
+0:167      Function Call: func3(f1;f1;f1; (float)\r
+0:167        component-wise multiply (float)\r
+0:167          direct index (float)\r
+0:167            'a' (in 4-component vector of float)\r
+0:167            Constant:\r
+0:167              0 (const int)\r
+0:167          direct index (float)\r
+0:167            'b' (in 4-component vector of float)\r
+0:167            Constant:\r
+0:167              0 (const int)\r
+0:167        component-wise multiply (float)\r
+0:167          direct index (float)\r
+0:167            'c' (in 4-component vector of float)\r
+0:167            Constant:\r
+0:167              0 (const int)\r
+0:167          direct index (float)\r
+0:167            'd' (in 4-component vector of float)\r
+0:167            Constant:\r
+0:167              0 (const int)\r
+0:167        direct index (float)\r
+0:167          'v' (smooth out 4-component vector of float)\r
+0:167          Constant:\r
+0:167            0 (const int)\r
+0:169      Function Call: funcA(I21; (4-component vector of float)\r
+0:169        'img1' (uniform image2D)\r
+0:170      Function Call: funcB(I21; (4-component vector of float)\r
+0:170        'img2' (coherent uniform image2D)\r
+0:?       Sequence\r
+0:178        Sequence\r
+0:178          move second child to first child (structure{float intensity, 3-component vector of float position})\r
+0:178            'lightVar' (structure{float intensity, 3-component vector of float position})\r
+0:178            Constant:\r
+0:178              3.000000\r
+0:178              1.000000\r
+0:178              2.000000\r
+0:178              3.000000\r
+0:?       Sequence\r
+0:185        Sequence\r
+0:185          move second child to first child (5-element array of float)\r
+0:185            'a' (5-element array of float)\r
+0:185            Construct float (5-element array of float)\r
+0:185              'g' (float)\r
+0:185              Constant:\r
+0:185                1.000000\r
+0:185              'g' (float)\r
+0:185              Constant:\r
+0:185                2.300000\r
+0:185              'g' (float)\r
+0:188        move second child to first child (3-element array of float)\r
+0:188          'b' (3-element array of float)\r
+0:188          Construct float (3-element array of float)\r
+0:188            'g' (float)\r
+0:188            add (float)\r
+0:188              'g' (float)\r
+0:188              Constant:\r
+0:188                1.000000\r
+0:188            add (float)\r
+0:188              'g' (float)\r
+0:188              Constant:\r
+0:188                2.000000\r
+0:191      Sequence\r
+0:191        Sequence\r
+0:191          move second child to first child (2-element array of 4-component vector of float)\r
+0:191            'b' (2-element array of 4-component vector of float)\r
+0:191            Constant:\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:191              1.000000\r
+0:192        Constant:\r
+0:192          0.000000\r
+0:193        Constant:\r
+0:193          0.000000\r
+0:194        Constant:\r
+0:194          0.000000\r
+0:?   Linker Objects\r
+0:?     'Coords' (out block{out 4-component vector of float Position, out 2-component vector of float Texture})\r
+0:?     'anon@0' (out block{out 4-component vector of float Color})\r
+0:?     'transforms' (layout(column_major shared ) uniform 4-element array of block{layout(column_major shared ) uniform 4X4 matrix of float ModelViewMatrix, layout(column_major shared ) uniform 4X4 matrix of float ModelViewProjectionMatrix, layout(column_major shared ) uniform 1-element array of 4-component vector of float a, layout(column_major shared ) uniform float Deformation})\r
+0:?     'normal' (layout(location=3 ) in 4-component vector of float)\r
+0:?     'colors' (layout(location=6 ) in 3-element array of 4-component vector of float)\r
+0:?     's' (layout(location=3 ) structure{3-component vector of float a1, 2X2 matrix of float b, 2-element array of 4-component vector of float c})\r
+0:?     'var1' (smooth out 4-component vector of float)\r
+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})\r
+0:?     'var5' (smooth out 4-component vector of float)\r
+0:?     'anon@2' (out block{out 4-component vector of float var6})\r
+0:?     'var7' (smooth out 4-component vector of float)\r
+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})\r
+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})\r
+0:?     's17' (layout(binding=3 ) uniform sampler2D)\r
+0:?     'a2' (layout(binding=2 offset=4 ) uniform int)\r
+0:?     'bar' (layout(binding=2 ) uniform int)\r
+0:?     'b2' (layout(binding=2 ) uniform int)\r
+0:?     'c2' (layout(binding=3 ) uniform int)\r
+0:?     'd2' (layout(binding=2 ) uniform int)\r
+0:?     'anon@5' (out block{invariant gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 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})\r
+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})\r
+0:?     'ColorInv' (smooth out 3-component vector of float)\r
+0:?     'Color4' (invariant centroid smooth out 3-component vector of float)\r
+0:?     'position' (smooth out 4-component vector of float)\r
+0:?     'Color5' (smooth out 3-component vector of float)\r
+0:?     'a' (in 4-component vector of float)\r
+0:?     'b' (in 4-component vector of float)\r
+0:?     'c' (in 4-component vector of float)\r
+0:?     'd' (in 4-component vector of float)\r
+0:?     'v' (smooth out 4-component vector of float)\r
+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})\r
+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})\r
+0:?     'shv' (shared 4-component vector of float)\r
+0:?     'img1' (uniform image2D)\r
+0:?     'img2' (coherent uniform image2D)\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 32db99d..5792b49 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/structAssignment.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -55,4 +54,50 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:29  Function Definition: main( (void)\r
+0:29    Function Parameters: \r
+0:?     Sequence\r
+0:33      Test condition and select (void)\r
+0:33        Condition\r
+0:33        Compare Greater Than (bool)\r
+0:33          i: direct index for structure (int)\r
+0:33            s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
+0:33              Constant:\r
+0:33                0 (const int)\r
+0:33            Constant:\r
+0:33              0 (const int)\r
+0:33          Constant:\r
+0:33            0 (const int)\r
+0:33        true case\r
+0:34        move second child to first child (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:34          'locals2' (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:34          s2_1: direct index for structure (structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
+0:34            Constant:\r
+0:34              0 (const int)\r
+0:33        false case\r
+0:36        move second child to first child (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:36          'locals2' (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:36          'foo2' (uniform structure{int i, float f, structure{int i, float f} s1_1})\r
+0:38      move second child to first child (4-component vector of float)\r
+0:38        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:38        vector-scale (4-component vector of float)\r
+0:38          f: direct index for structure (float)\r
+0:38            s1_1: direct index for structure (structure{int i, float f})\r
+0:38              'locals2' (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:38              Constant:\r
+0:38                2 (const int)\r
+0:38            Constant:\r
+0:38              1 (const int)\r
+0:38          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:38            'sampler' (uniform sampler2D)\r
+0:38            'coord' (smooth in 2-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
+0:?     'foo' (uniform structure{int i, float f})\r
+0:?     'foo2' (uniform structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
 \r
index 23890a1..4009ed9 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/structDeref.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -176,4 +175,171 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:41  Function Definition: main( (void)\r
+0:41    Function Parameters: \r
+0:?     Sequence\r
+0:51      Test condition and select (void)\r
+0:51        Condition\r
+0:51        Compare Greater Than (bool)\r
+0:51          i: direct index for structure (int)\r
+0:51            direct index (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+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})\r
+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})\r
+0:51                Constant:\r
+0:51                  0 (const int)\r
+0:51              Constant:\r
+0:51                9 (const int)\r
+0:51            Constant:\r
+0:51              0 (const int)\r
+0:51          Constant:\r
+0:51            0 (const int)\r
+0:51        true case\r
+0:52        Sequence\r
+0:52          move second child to first child (float)\r
+0:52            f: direct index for structure (float)\r
+0:52              'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+0:52              Constant:\r
+0:52                1 (const int)\r
+0:52            Constant:\r
+0:52              1.000000\r
+0:53          move second child to first child (structure{int i, float f, structure{int i} s0_1})\r
+0:53            s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1})\r
+0:53              'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+0:53              Constant:\r
+0:53                2 (const int)\r
+0:53            Constant:\r
+0:53              0 (const int)\r
+0:53              1.000000\r
+0:53              0 (const int)\r
+0:54          move second child to first child (6-element array of float)\r
+0:54            'fArray' (6-element array of float)\r
+0:54            Constant:\r
+0:54              0.000000\r
+0:54              0.000000\r
+0:54              0.000000\r
+0:54              0.000000\r
+0:54              0.000000\r
+0:54              0.000000\r
+0:55          move second child to first child (structure{int i, float f, structure{int i} s0_1})\r
+0:55            direct index (structure{int i, float f, structure{int i} s0_1})\r
+0:55              'locals1Array' (10-element array of structure{int i, float f, structure{int i} s0_1})\r
+0:55              Constant:\r
+0:55                6 (const int)\r
+0:55            'foo1' (uniform structure{int i, float f, structure{int i} s0_1})\r
+0:56          move second child to first child (structure{int i})\r
+0:56            'locals0' (structure{int i})\r
+0:56            Constant:\r
+0:56              0 (const int)\r
+0:57          move second child to first child (structure{structure{int i} s0_0})\r
+0:57            'locals00' (structure{structure{int i} s0_0})\r
+0:57            Constant:\r
+0:57              0 (const int)\r
+0:51        false case\r
+0:59        Sequence\r
+0:59          move second child to first child (float)\r
+0:59            f: direct index for structure (float)\r
+0:59              'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+0:59              Constant:\r
+0:59                1 (const int)\r
+0:59            direct index (float)\r
+0:59              'coord' (smooth in 2-component vector of float)\r
+0:59              Constant:\r
+0:59                0 (const int)\r
+0:60          move second child to first child (structure{int i, float f, structure{int i} s0_1})\r
+0:60            s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1})\r
+0:60              'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+0:60              Constant:\r
+0:60                2 (const int)\r
+0:60            Construct structure (structure{int i, float f, structure{int i} s0_1})\r
+0:60              Constant:\r
+0:60                1 (const int)\r
+0:60              direct index (float)\r
+0:60                'coord' (smooth in 2-component vector of float)\r
+0:60                Constant:\r
+0:60                  1 (const int)\r
+0:60              'foo0' (uniform structure{int i})\r
+0:61          move second child to first child (6-element array of float)\r
+0:61            'fArray' (6-element array of float)\r
+0:61            Constant:\r
+0:61              0.000000\r
+0:61              1.000000\r
+0:61              2.000000\r
+0:61              3.000000\r
+0:61              4.000000\r
+0:61              5.000000\r
+0:62          move second child to first child (structure{int i, float f, structure{int i} s0_1})\r
+0:62            direct index (structure{int i, float f, structure{int i} s0_1})\r
+0:62              'locals1Array' (10-element array of structure{int i, float f, structure{int i} s0_1})\r
+0:62              Constant:\r
+0:62                6 (const int)\r
+0:62            s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1})\r
+0:62              'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+0:62              Constant:\r
+0:62                2 (const int)\r
+0:63          move second child to first child (structure{int i})\r
+0:63            'locals0' (structure{int i})\r
+0:63            s0_1: direct index for structure (structure{int i})\r
+0:63              'foo1' (uniform structure{int i, float f, structure{int i} s0_1})\r
+0:63              Constant:\r
+0:63                2 (const int)\r
+0:64          move second child to first child (structure{structure{int i} s0_0})\r
+0:64            'locals00' (structure{structure{int i} s0_0})\r
+0:64            'foo00' (uniform structure{structure{int i} s0_0})\r
+0:67      Test condition and select (void)\r
+0:67        Condition\r
+0:67        Compare Greater Than (bool)\r
+0:67          i: direct index for structure (int)\r
+0:67            'locals0' (structure{int i})\r
+0:67            Constant:\r
+0:67              0 (const int)\r
+0:67          Constant:\r
+0:67            5 (const int)\r
+0:67        true case\r
+0:68        move second child to first child (structure{int i})\r
+0:68          'locals0' (structure{int i})\r
+0:68          s0_0: direct index for structure (structure{int i})\r
+0:68            'locals00' (structure{structure{int i} s0_0})\r
+0:68            Constant:\r
+0:68              0 (const int)\r
+0:70      move second child to first child (4-component vector of float)\r
+0:70        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:70        vector-scale (4-component vector of float)\r
+0:70          add (float)\r
+0:70            add (float)\r
+0:70              add (float)\r
+0:70                Convert int to float (float)\r
+0:70                  i: direct index for structure (int)\r
+0:70                    'locals0' (structure{int i})\r
+0:70                    Constant:\r
+0:70                      0 (const int)\r
+0:70                f: direct index for structure (float)\r
+0:70                  direct index (structure{int i, float f, structure{int i} s0_1})\r
+0:70                    'locals1Array' (10-element array of structure{int i, float f, structure{int i} s0_1})\r
+0:70                    Constant:\r
+0:70                      6 (const int)\r
+0:70                  Constant:\r
+0:70                    1 (const int)\r
+0:70              direct index (float)\r
+0:70                'fArray' (6-element array of float)\r
+0:70                Constant:\r
+0:70                  3 (const int)\r
+0:70            f: direct index for structure (float)\r
+0:70              s1_1: direct index for structure (structure{int i, float f, structure{int i} s0_1})\r
+0:70                'locals2' (structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+0:70                Constant:\r
+0:70                  2 (const int)\r
+0:70              Constant:\r
+0:70                1 (const int)\r
+0:70          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:70            'sampler' (uniform sampler2D)\r
+0:70            'coord' (smooth in 2-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
+0:?     'foo0' (uniform structure{int i})\r
+0:?     'foo1' (uniform structure{int i, float f, structure{int i} s0_1})\r
+0:?     'foo2' (uniform structure{int i, float f, structure{int i, float f, structure{int i} s0_1} s1_1})\r
+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})\r
+0:?     'foo00' (uniform structure{structure{int i} s0_0})\r
 \r
index 90650a5..1b3ec6e 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/structure.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -86,4 +85,81 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:20  Function Definition: main( (void)\r
+0:20    Function Parameters: \r
+0:22    Sequence\r
+0:22      Sequence\r
+0:22        move second child to first child (float)\r
+0:22          'scale' (float)\r
+0:22          Constant:\r
+0:22            0.000000\r
+0:24      Test condition and select (void)\r
+0:24        Condition\r
+0:24        Compare Greater Than (bool)\r
+0:24          direct index (int)\r
+0:24            i: direct index for structure (5-element array of int)\r
+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})\r
+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})\r
+0:24                Constant:\r
+0:24                  3 (const int)\r
+0:24              Constant:\r
+0:24                0 (const int)\r
+0:24            Constant:\r
+0:24              4 (const int)\r
+0:24          Constant:\r
+0:24            0 (const int)\r
+0:24        true case\r
+0:25        move second child to first child (float)\r
+0:25          'scale' (float)\r
+0:25          direct index (float)\r
+0:25            direct index (4-component vector of float)\r
+0:25              color: direct index for structure (5-element array of 4-component vector of float)\r
+0:25                direct index (structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color})\r
+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})\r
+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})\r
+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})\r
+0:25                      Constant:\r
+0:25                        3 (const int)\r
+0:25                    Constant:\r
+0:25                      2 (const int)\r
+0:25                  Constant:\r
+0:25                    2 (const int)\r
+0:25                Constant:\r
+0:25                  2 (const int)\r
+0:25              Constant:\r
+0:25                3 (const int)\r
+0:25            Constant:\r
+0:25              0 (const int)\r
+0:24        false case\r
+0:27        move second child to first child (float)\r
+0:27          'scale' (float)\r
+0:27          direct index (float)\r
+0:27            f: direct index for structure (4-element array of float)\r
+0:27              direct index (structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color})\r
+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})\r
+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})\r
+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})\r
+0:27                    Constant:\r
+0:27                      3 (const int)\r
+0:27                  Constant:\r
+0:27                    2 (const int)\r
+0:27                Constant:\r
+0:27                  2 (const int)\r
+0:27              Constant:\r
+0:27                1 (const int)\r
+0:27            Constant:\r
+0:27              3 (const int)\r
+0:29      move second child to first child (4-component vector of float)\r
+0:29        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:29        vector-scale (4-component vector of float)\r
+0:29          'scale' (float)\r
+0:29          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:29            'sampler' (uniform sampler2D)\r
+0:29            'coord' (smooth in 2-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
+0:?     'foo' (uniform structure{int i, 4-element array of float f, 5-element array of 4-component vector of float color})\r
+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})\r
 \r
index 0f0da26..5061aef 100644 (file)
@@ -339,4 +339,316 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:6  Function Definition: main( (void)\r
+0:6    Function Parameters: \r
+0:?     Sequence\r
+0:11      'f' (highp float)\r
+0:14      'a' (2-element array of mediump int)\r
+0:17      'c' (uniform mediump int)\r
+0:21      'c' (uniform mediump int)\r
+0:26      switch\r
+0:26      condition\r
+0:26        'c' (uniform mediump int)\r
+0:26      body\r
+0:26        Sequence\r
+0:28          Sequence\r
+0:28            move second child to first child (highp float)\r
+0:28              'f' (highp float)\r
+0:28              sine (highp float)\r
+0:28                'x' (smooth in highp float)\r
+0:29          case:  with expression\r
+0:29            Constant:\r
+0:29              2 (const int)\r
+0:?           Sequence\r
+0:30            move second child to first child (highp float)\r
+0:30              'f' (highp float)\r
+0:30              cosine (highp float)\r
+0:30                'x' (smooth in highp float)\r
+0:31            Branch: Break\r
+0:34      switch\r
+0:34      condition\r
+0:34        'c' (uniform mediump int)\r
+0:34      body\r
+0:34        Sequence\r
+0:35          default: \r
+0:?           Sequence\r
+0:36            Branch: Break\r
+0:37          case:  with expression\r
+0:37            Constant:\r
+0:37              1 (const int)\r
+0:?           Sequence\r
+0:38            move second child to first child (highp float)\r
+0:38              'f' (highp float)\r
+0:38              sine (highp float)\r
+0:38                'x' (smooth in highp float)\r
+0:39            Branch: Break\r
+0:40          case:  with expression\r
+0:40            Constant:\r
+0:40              2 (const int)\r
+0:?           Sequence\r
+0:41            move second child to first child (highp float)\r
+0:41              'f' (highp float)\r
+0:41              cosine (highp float)\r
+0:41                'x' (smooth in highp float)\r
+0:42            Branch: Break\r
+0:43          default: \r
+0:?           Sequence\r
+0:44            move second child to first child (highp float)\r
+0:44              'f' (highp float)\r
+0:44              tangent (highp float)\r
+0:44                'x' (smooth in highp float)\r
+0:47      switch\r
+0:47      condition\r
+0:47        'c' (uniform mediump int)\r
+0:47      body\r
+0:47        Sequence\r
+0:48          case:  with expression\r
+0:48            Constant:\r
+0:48              1 (const int)\r
+0:?           Sequence\r
+0:49            move second child to first child (highp float)\r
+0:49              'f' (highp float)\r
+0:49              sine (highp float)\r
+0:49                'x' (smooth in highp float)\r
+0:50            Branch: Break\r
+0:51          case:  with expression\r
+0:51            Constant:\r
+0:51              2 (const int)\r
+0:?           Sequence\r
+0:52            switch\r
+0:52            condition\r
+0:52              'd' (uniform mediump int)\r
+0:52            body\r
+0:52              Sequence\r
+0:53                case:  with expression\r
+0:53                  Constant:\r
+0:53                    1 (const int)\r
+0:?                 Sequence\r
+0:54                  move second child to first child (highp float)\r
+0:54                    'f' (highp float)\r
+0:54                    component-wise multiply (highp float)\r
+0:54                      component-wise multiply (highp float)\r
+0:54                        'x' (smooth in highp float)\r
+0:54                        'x' (smooth in highp float)\r
+0:54                      'x' (smooth in highp float)\r
+0:55                  Branch: Break\r
+0:56                case:  with expression\r
+0:56                  Constant:\r
+0:56                    2 (const int)\r
+0:?                 Sequence\r
+0:57                  move second child to first child (highp float)\r
+0:57                    'f' (highp float)\r
+0:57                    component-wise multiply (highp float)\r
+0:57                      'x' (smooth in highp float)\r
+0:57                      'x' (smooth in highp float)\r
+0:58                  Branch: Break\r
+0:60            Branch: Break\r
+0:61          default: \r
+0:?           Sequence\r
+0:62            move second child to first child (highp float)\r
+0:62              'f' (highp float)\r
+0:62              tangent (highp float)\r
+0:62                'x' (smooth in highp float)\r
+0:63          case:  with expression\r
+0:63            Constant:\r
+0:63              1 (const int)\r
+0:?           Sequence\r
+0:64            Branch: Break\r
+0:65          case:  with expression\r
+0:65            Constant:\r
+0:65              3.800000\r
+0:?           Sequence\r
+0:66            Branch: Break\r
+0:67          case:  with expression\r
+0:67            'c' (uniform mediump int)\r
+0:?           Sequence\r
+0:68            Branch: Break\r
+0:71      switch\r
+0:71      condition\r
+0:71        'c' (uniform mediump int)\r
+0:71      body\r
+0:71        Sequence\r
+0:72          case:  with expression\r
+0:72            Constant:\r
+0:72              1 (const int)\r
+0:?           Sequence\r
+0:73            move second child to first child (highp float)\r
+0:73              'f' (highp float)\r
+0:73              sine (highp float)\r
+0:73                'x' (smooth in highp float)\r
+0:74            Branch: Break\r
+0:75          case:  with expression\r
+0:75            Constant:\r
+0:75              2 (const int)\r
+0:?           Sequence\r
+0:76            switch\r
+0:76            condition\r
+0:76              'd' (uniform mediump int)\r
+0:76            body\r
+0:76              Sequence\r
+0:77                case:  with expression\r
+0:77                  Constant:\r
+0:77                    1 (const int)\r
+0:?                 Sequence\r
+0:78                  move second child to first child (highp float)\r
+0:78                    'f' (highp float)\r
+0:78                    component-wise multiply (highp float)\r
+0:78                      component-wise multiply (highp float)\r
+0:78                        'x' (smooth in highp float)\r
+0:78                        'x' (smooth in highp float)\r
+0:78                      'x' (smooth in highp float)\r
+0:79                  Branch: Break\r
+0:80                case:  with expression\r
+0:80                  Constant:\r
+0:80                    2 (const int)\r
+0:?                 Sequence\r
+0:81                  move second child to first child (highp float)\r
+0:81                    'f' (highp float)\r
+0:81                    component-wise multiply (highp float)\r
+0:81                      'x' (smooth in highp float)\r
+0:81                      'x' (smooth in highp float)\r
+0:82                  Branch: Break\r
+0:84            Branch: Break\r
+0:85          default: \r
+0:?           Sequence\r
+0:86            move second child to first child (highp float)\r
+0:86              'f' (highp float)\r
+0:86              tangent (highp float)\r
+0:86                'x' (smooth in highp float)\r
+0:89      Branch: Break\r
+0:91      switch\r
+0:91      condition\r
+0:91        'c' (uniform mediump int)\r
+0:91      body\r
+0:91        Sequence\r
+0:92          case:  with expression\r
+0:92            Constant:\r
+0:92              1 (const int)\r
+0:?           Sequence\r
+0:93            move second child to first child (highp float)\r
+0:93              'f' (highp float)\r
+0:93              sine (highp float)\r
+0:93                'x' (smooth in highp float)\r
+0:94            Branch: Break\r
+0:95          case:  with expression\r
+0:95            Constant:\r
+0:95              2 (const int)\r
+0:?           Sequence\r
+0:96            switch\r
+0:96            condition\r
+0:96              'd' (uniform mediump int)\r
+0:96            body\r
+0:96              Sequence\r
+0:97                case:  with expression\r
+0:97                  Constant:\r
+0:97                    1 (const int)\r
+0:?                 Sequence\r
+0:?                   Sequence\r
+0:100                    Branch: Break\r
+0:102                  move second child to first child (highp float)\r
+0:102                    'f' (highp float)\r
+0:102                    component-wise multiply (highp float)\r
+0:102                      component-wise multiply (highp float)\r
+0:102                        'x' (smooth in highp float)\r
+0:102                        'x' (smooth in highp float)\r
+0:102                      'x' (smooth in highp float)\r
+0:103                  Test condition and select (void)\r
+0:103                    Condition\r
+0:103                    Compare Less Than (bool)\r
+0:103                      'c' (uniform mediump int)\r
+0:103                      'd' (uniform mediump int)\r
+0:103                    true case\r
+0:?                     Sequence\r
+0:105                      move second child to first child (highp float)\r
+0:105                        'f' (highp float)\r
+0:105                        component-wise multiply (highp float)\r
+0:105                          'x' (smooth in highp float)\r
+0:105                          'x' (smooth in highp float)\r
+0:107                  Test condition and select (void)\r
+0:107                    Condition\r
+0:107                    Compare Less Than (bool)\r
+0:107                      'd' (uniform mediump int)\r
+0:107                      'c' (uniform mediump int)\r
+0:107                    true case is null\r
+0:109                  Branch: Break\r
+0:111            Branch: Break\r
+0:112          case:  with expression\r
+0:112            Constant:\r
+0:112              4 (const int)\r
+0:?           Sequence\r
+0:113            move second child to first child (highp float)\r
+0:113              'f' (highp float)\r
+0:113              tangent (highp float)\r
+0:113                'x' (smooth in highp float)\r
+0:114            Test condition and select (void)\r
+0:114              Condition\r
+0:114              Compare Less Than (bool)\r
+0:114                'f' (highp float)\r
+0:114                Constant:\r
+0:114                  0.000000\r
+0:114              true case is null\r
+0:116            Branch: Break\r
+0:122      switch\r
+0:122      condition\r
+0:122        Constant:\r
+0:122          0 (const int)\r
+0:122      body\r
+0:122        Sequence\r
+0:123          default: \r
+0:?           Sequence\r
+0:124            Sequence\r
+0:124              move second child to first child (mediump int)\r
+0:124                'onlyInSwitch' (mediump int)\r
+0:124                Constant:\r
+0:124                  0 (const int)\r
+0:126      'onlyInSwitch' (float)\r
+0:128      Constant:\r
+0:128        0 (const int)\r
+0:133      switch\r
+0:133      condition\r
+0:133        'c' (uniform mediump int)\r
+0:133      body\r
+0:133        Sequence\r
+0:134          case:  with expression\r
+0:134            Constant:\r
+0:134              1 (const int)\r
+0:?           Sequence\r
+0:?             Sequence\r
+0:137              Branch: Break\r
+0:139          case:  with expression\r
+0:139            Constant:\r
+0:139              2 (const int)\r
+0:?           Sequence\r
+0:140            'nestedX' (float)\r
+0:141            Branch: Break\r
+0:142          case:  with expression\r
+0:142            Constant:\r
+0:142              3 (const int)\r
+0:?           Sequence\r
+0:144            Branch: Break\r
+0:145          case:  with expression\r
+0:145            Constant:\r
+0:145              4 (const int)\r
+0:?           Sequence\r
+0:146            Sequence\r
+0:146              move second child to first child (mediump int)\r
+0:146                'linearY' (mediump int)\r
+0:146                'linearZ' (mediump int)\r
+0:147            Branch: Break\r
+0:148          case:  with expression\r
+0:148            Constant:\r
+0:148              5 (const int)\r
+0:?           Sequence\r
+0:150            Branch: Break\r
+0:151          case:  with expression\r
+0:151            Constant:\r
+0:151              6 (const int)\r
+0:?           Sequence\r
+0:152            Constant:\r
+0:152              4 (const int)\r
+0:?   Linker Objects\r
+0:?     'c' (uniform mediump int)\r
+0:?     'd' (uniform mediump int)\r
+0:?     'x' (smooth in highp float)\r
 \r
index 70806a6..1a53c9a 100644 (file)
@@ -214,4 +214,211 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:9  Function Definition: main( (void)\r
+0:9    Function Parameters: \r
+0:11    Sequence\r
+0:11      Sequence\r
+0:11        move second child to first child (float)\r
+0:11          'blendscale' (float)\r
+0:11          Constant:\r
+0:11            1.789000\r
+0:13      Sequence\r
+0:13        move second child to first child (4-component vector of float)\r
+0:13          'w' (4-component vector of float)\r
+0:13          'u' (uniform 4-component vector of float)\r
+0:15      Sequence\r
+0:15        move second child to first child (4-component vector of float)\r
+0:15          'w_dep' (4-component vector of float)\r
+0:15          'u' (uniform 4-component vector of float)\r
+0:16      Sequence\r
+0:16        move second child to first child (4-component vector of float)\r
+0:16          'w_reorder' (4-component vector of float)\r
+0:16          'u' (uniform 4-component vector of float)\r
+0:17      Sequence\r
+0:17        move second child to first child (4-component vector of float)\r
+0:17          'w2' (4-component vector of float)\r
+0:17          'u' (uniform 4-component vector of float)\r
+0:18      Sequence\r
+0:18        move second child to first child (4-component vector of float)\r
+0:18          'w_flow' (4-component vector of float)\r
+0:18          'u' (uniform 4-component vector of float)\r
+0:20      move second child to first child (float)\r
+0:20        direct index (float)\r
+0:20          'w_reorder' (4-component vector of float)\r
+0:20          Constant:\r
+0:20            2 (const int)\r
+0:20        'blendscale' (float)\r
+0:22      move second child to first child (2-component vector of float)\r
+0:22        vector swizzle (2-component vector of float)\r
+0:22          'w' (4-component vector of float)\r
+0:22          Sequence\r
+0:22            Constant:\r
+0:22              3 (const int)\r
+0:22            Constant:\r
+0:22              1 (const int)\r
+0:22        't' (smooth in 2-component vector of float)\r
+0:24      move second child to first child (float)\r
+0:24        direct index (float)\r
+0:24          'w_reorder' (4-component vector of float)\r
+0:24          Constant:\r
+0:24            0 (const int)\r
+0:24        'blendscale' (float)\r
+0:26      move second child to first child (4-component vector of float)\r
+0:26        vector swizzle (4-component vector of float)\r
+0:26          'w2' (4-component vector of float)\r
+0:26          Sequence\r
+0:26            Constant:\r
+0:26              0 (const int)\r
+0:26            Constant:\r
+0:26              1 (const int)\r
+0:26            Constant:\r
+0:26              2 (const int)\r
+0:26            Constant:\r
+0:26              3 (const int)\r
+0:26        vector swizzle (4-component vector of float)\r
+0:26          'u' (uniform 4-component vector of float)\r
+0:26          Sequence\r
+0:26            Constant:\r
+0:26              2 (const int)\r
+0:26            Constant:\r
+0:26              3 (const int)\r
+0:26            Constant:\r
+0:26              0 (const int)\r
+0:26            Constant:\r
+0:26              1 (const int)\r
+0:28      move second child to first child (float)\r
+0:28        direct index (float)\r
+0:28          'w_reorder' (4-component vector of float)\r
+0:28          Constant:\r
+0:28            1 (const int)\r
+0:28        'blendscale' (float)\r
+0:30      move second child to first child (2-component vector of float)\r
+0:30        vector swizzle (2-component vector of float)\r
+0:30          'w_dep' (4-component vector of float)\r
+0:30          Sequence\r
+0:30            Constant:\r
+0:30              0 (const int)\r
+0:30            Constant:\r
+0:30              1 (const int)\r
+0:30        vector swizzle (2-component vector of float)\r
+0:30          'w2' (4-component vector of float)\r
+0:30          Sequence\r
+0:30            Constant:\r
+0:30              0 (const int)\r
+0:30            Constant:\r
+0:30              2 (const int)\r
+0:31      move second child to first child (2-component vector of float)\r
+0:31        vector swizzle (2-component vector of float)\r
+0:31          'w_dep' (4-component vector of float)\r
+0:31          Sequence\r
+0:31            Constant:\r
+0:31              2 (const int)\r
+0:31            Constant:\r
+0:31              3 (const int)\r
+0:31        't' (smooth in 2-component vector of float)\r
+0:33      move second child to first child (2-component vector of float)\r
+0:33        vector swizzle (2-component vector of float)\r
+0:33          'w_undef' (4-component vector of float)\r
+0:33          Sequence\r
+0:33            Constant:\r
+0:33              0 (const int)\r
+0:33            Constant:\r
+0:33              1 (const int)\r
+0:33        vector swizzle (2-component vector of float)\r
+0:33          'u' (uniform 4-component vector of float)\r
+0:33          Sequence\r
+0:33            Constant:\r
+0:33              2 (const int)\r
+0:33            Constant:\r
+0:33              3 (const int)\r
+0:35      Test condition and select (void)\r
+0:35        Condition\r
+0:35        'p' (uniform bool)\r
+0:35        true case\r
+0:36        move second child to first child (float)\r
+0:36          direct index (float)\r
+0:36            'w_flow' (4-component vector of float)\r
+0:36            Constant:\r
+0:36              0 (const int)\r
+0:36          direct index (float)\r
+0:36            't' (smooth in 2-component vector of float)\r
+0:36            Constant:\r
+0:36              0 (const int)\r
+0:35        false case\r
+0:38        move second child to first child (float)\r
+0:38          direct index (float)\r
+0:38            'w_flow' (4-component vector of float)\r
+0:38            Constant:\r
+0:38              0 (const int)\r
+0:38          direct index (float)\r
+0:38            't' (smooth in 2-component vector of float)\r
+0:38            Constant:\r
+0:38              1 (const int)\r
+0:40      move second child to first child (4-component vector of float)\r
+0:40        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:40        mix (4-component vector of float)\r
+0:40          'w_reorder' (4-component vector of float)\r
+0:40          'w_undef' (4-component vector of float)\r
+0:40          component-wise multiply (4-component vector of float)\r
+0:40            component-wise multiply (4-component vector of float)\r
+0:40              component-wise multiply (4-component vector of float)\r
+0:40                'w' (4-component vector of float)\r
+0:40                'w2' (4-component vector of float)\r
+0:40              'w_dep' (4-component vector of float)\r
+0:40            'w_flow' (4-component vector of float)\r
+0:42      Sequence\r
+0:42        move second child to first child (2-component vector of float)\r
+0:42          'c' (2-component vector of float)\r
+0:42          't' (smooth in 2-component vector of float)\r
+0:43      Sequence\r
+0:43        move second child to first child (4-component vector of float)\r
+0:43          'rep' (4-component vector of float)\r
+0:43          Constant:\r
+0:43            0.000000\r
+0:43            0.000000\r
+0:43            0.000000\r
+0:43            1.000000\r
+0:45      Test condition and select (void)\r
+0:45        Condition\r
+0:45        Compare Less Than (bool)\r
+0:45          direct index (float)\r
+0:45            'c' (2-component vector of float)\r
+0:45            Constant:\r
+0:45              0 (const int)\r
+0:45          Constant:\r
+0:45            0.000000\r
+0:45        true case\r
+0:46        multiply second child into first child (float)\r
+0:46          direct index (float)\r
+0:46            'c' (2-component vector of float)\r
+0:46            Constant:\r
+0:46              0 (const int)\r
+0:46          Constant:\r
+0:46            -1.000000\r
+0:48      Test condition and select (void)\r
+0:48        Condition\r
+0:48        Compare Less Than or Equal (bool)\r
+0:48          direct index (float)\r
+0:48            'c' (2-component vector of float)\r
+0:48            Constant:\r
+0:48              0 (const int)\r
+0:48          Constant:\r
+0:48            1.000000\r
+0:48        true case\r
+0:49        move second child to first child (float)\r
+0:49          direct index (float)\r
+0:49            'rep' (4-component vector of float)\r
+0:49            Constant:\r
+0:49              0 (const int)\r
+0:49          Constant:\r
+0:49            3.400000\r
+0:51      add second child into first child (4-component vector of float)\r
+0:51        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:51        'rep' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'blend' (uniform float)\r
+0:?     'u' (uniform 4-component vector of float)\r
+0:?     'p' (uniform bool)\r
+0:?     't' (smooth in 2-component vector of float)\r
 \r
index 7bdd729..8648f27 100644 (file)
@@ -16,4 +16,9 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+ERROR: node is still EOpNull!\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
 \r
index 9b7c57a..c06adc0 100644 (file)
@@ -60,4 +60,57 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:13  Function Definition: main( (void)\r
+0:13    Function Parameters: \r
+0:15    Sequence\r
+0:15      Sequence\r
+0:15        move second child to first child (float)\r
+0:15          'blendscale' (float)\r
+0:15          Constant:\r
+0:15            1.789000\r
+0:17      Sequence\r
+0:17        move second child to first child (4-component vector of float)\r
+0:17          'v' (4-component vector of float)\r
+0:17          vector swizzle (4-component vector of float)\r
+0:17            Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:17              'texSampler2D' (uniform sampler2D)\r
+0:17              divide (2-component vector of float)\r
+0:17                add (2-component vector of float)\r
+0:17                  't' (smooth in 2-component vector of float)\r
+0:17                  'scale' (uniform 2-component vector of float)\r
+0:17                'scale' (uniform 2-component vector of float)\r
+0:17            Sequence\r
+0:17              Constant:\r
+0:17                3 (const int)\r
+0:17              Constant:\r
+0:17                2 (const int)\r
+0:17              Constant:\r
+0:17                1 (const int)\r
+0:17              Constant:\r
+0:17                0 (const int)\r
+0:19      Sequence\r
+0:19        move second child to first child (4-component vector of float)\r
+0:19          'w' (4-component vector of float)\r
+0:19          add (4-component vector of float)\r
+0:19            Function Call: texture3D(s31;vf3; (4-component vector of float)\r
+0:19              'texSampler3D' (uniform sampler3D)\r
+0:19              'coords' (smooth in 3-component vector of float)\r
+0:19            'v' (4-component vector of float)\r
+0:21      move second child to first child (4-component vector of float)\r
+0:21        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:21        mix (4-component vector of float)\r
+0:21          'w' (4-component vector of float)\r
+0:21          'u' (uniform 4-component vector of float)\r
+0:21          component-wise multiply (float)\r
+0:21            'blend' (uniform float)\r
+0:21            'blendscale' (float)\r
+0:?   Linker Objects\r
+0:?     'texSampler2D' (uniform sampler2D)\r
+0:?     'texSampler3D' (uniform sampler3D)\r
+0:?     'blend' (uniform float)\r
+0:?     'scale' (uniform 2-component vector of float)\r
+0:?     'u' (uniform 4-component vector of float)\r
+0:?     't' (smooth in 2-component vector of float)\r
+0:?     'coords' (smooth in 3-component vector of float)\r
 \r
index d4a44f1..f7d607f 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/texture.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:14: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:15: varying deprecated in version 130; may be removed in future release\r
 \r
@@ -286,4 +285,280 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:17  Function Definition: main( (void)\r
+0:17    Function Parameters: \r
+0:19    Sequence\r
+0:19      Sequence\r
+0:19        move second child to first child (float)\r
+0:19          'blendscale' (float)\r
+0:19          Constant:\r
+0:19            1.789000\r
+0:20      Sequence\r
+0:20        move second child to first child (float)\r
+0:20          'bias' (float)\r
+0:20          Constant:\r
+0:20            2.000000\r
+0:21      Sequence\r
+0:21        move second child to first child (float)\r
+0:21          'lod' (float)\r
+0:21          Constant:\r
+0:21            3.000000\r
+0:22      Sequence\r
+0:22        move second child to first child (float)\r
+0:22          'proj' (float)\r
+0:22          Constant:\r
+0:22            2.000000\r
+0:23      Sequence\r
+0:23        move second child to first child (float)\r
+0:23          'coords1D' (float)\r
+0:23          Constant:\r
+0:23            1.789000\r
+0:24      Sequence\r
+0:24        move second child to first child (3-component vector of float)\r
+0:24          'coords3D' (3-component vector of float)\r
+0:24          Constant:\r
+0:24            1.789000\r
+0:24            2.718000\r
+0:24            3.453000\r
+0:25      Sequence\r
+0:25        move second child to first child (4-component vector of float)\r
+0:25          'coords4D' (4-component vector of float)\r
+0:25          Constant:\r
+0:25            1.789000\r
+0:25            2.718000\r
+0:25            3.453000\r
+0:25            2.000000\r
+0:26      Sequence\r
+0:26        move second child to first child (4-component vector of float)\r
+0:26          'color' (4-component vector of float)\r
+0:26          Constant:\r
+0:26            0.000000\r
+0:26            0.000000\r
+0:26            0.000000\r
+0:26            0.000000\r
+0:28      add second child into first child (4-component vector of float)\r
+0:28        'color' (4-component vector of float)\r
+0:28        Function Call: texture1D(s11;f1; (4-component vector of float)\r
+0:28          'texSampler1D' (uniform sampler1D)\r
+0:28          'coords1D' (float)\r
+0:29      add second child into first child (4-component vector of float)\r
+0:29        'color' (4-component vector of float)\r
+0:29        Function Call: texture1D(s11;f1;f1; (4-component vector of float)\r
+0:29          'texSampler1D' (uniform sampler1D)\r
+0:29          'coords1D' (float)\r
+0:29          'bias' (float)\r
+0:30      add second child into first child (4-component vector of float)\r
+0:30        'color' (4-component vector of float)\r
+0:30        Function Call: texture1DProj(s11;vf2; (4-component vector of float)\r
+0:30          'texSampler1D' (uniform sampler1D)\r
+0:30          'coords2D' (smooth in 2-component vector of float)\r
+0:31      add second child into first child (4-component vector of float)\r
+0:31        'color' (4-component vector of float)\r
+0:31        Function Call: texture1DProj(s11;vf4; (4-component vector of float)\r
+0:31          'texSampler1D' (uniform sampler1D)\r
+0:31          'coords4D' (4-component vector of float)\r
+0:32      add second child into first child (4-component vector of float)\r
+0:32        'color' (4-component vector of float)\r
+0:32        Function Call: texture1DProj(s11;vf2;f1; (4-component vector of float)\r
+0:32          'texSampler1D' (uniform sampler1D)\r
+0:32          'coords2D' (smooth in 2-component vector of float)\r
+0:32          'bias' (float)\r
+0:33      add second child into first child (4-component vector of float)\r
+0:33        'color' (4-component vector of float)\r
+0:33        Function Call: texture1DProj(s11;vf4;f1; (4-component vector of float)\r
+0:33          'texSampler1D' (uniform sampler1D)\r
+0:33          'coords4D' (4-component vector of float)\r
+0:33          'bias' (float)\r
+0:35      add second child into first child (4-component vector of float)\r
+0:35        'color' (4-component vector of float)\r
+0:35        Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:35          'texSampler2D' (uniform sampler2D)\r
+0:35          'coords2D' (smooth in 2-component vector of float)\r
+0:36      add second child into first child (4-component vector of float)\r
+0:36        'color' (4-component vector of float)\r
+0:36        Function Call: texture2D(s21;vf2;f1; (4-component vector of float)\r
+0:36          'texSampler2D' (uniform sampler2D)\r
+0:36          'coords2D' (smooth in 2-component vector of float)\r
+0:36          'bias' (float)\r
+0:37      add second child into first child (4-component vector of float)\r
+0:37        'color' (4-component vector of float)\r
+0:37        Function Call: texture2DProj(s21;vf3; (4-component vector of float)\r
+0:37          'texSampler2D' (uniform sampler2D)\r
+0:37          'coords3D' (3-component vector of float)\r
+0:38      add second child into first child (4-component vector of float)\r
+0:38        'color' (4-component vector of float)\r
+0:38        Function Call: texture2DProj(s21;vf4;f1; (4-component vector of float)\r
+0:38          'texSampler2D' (uniform sampler2D)\r
+0:38          'coords4D' (4-component vector of float)\r
+0:38          'bias' (float)\r
+0:40      add second child into first child (4-component vector of float)\r
+0:40        'color' (4-component vector of float)\r
+0:40        Function Call: texture3D(s31;vf3; (4-component vector of float)\r
+0:40          'texSampler3D' (uniform sampler3D)\r
+0:40          'coords3D' (3-component vector of float)\r
+0:41      add second child into first child (4-component vector of float)\r
+0:41        'color' (4-component vector of float)\r
+0:41        Function Call: texture3D(s31;vf3;f1; (4-component vector of float)\r
+0:41          'texSampler3D' (uniform sampler3D)\r
+0:41          'coords3D' (3-component vector of float)\r
+0:41          'bias' (float)\r
+0:42      add second child into first child (4-component vector of float)\r
+0:42        'color' (4-component vector of float)\r
+0:42        Function Call: texture3DProj(s31;vf4; (4-component vector of float)\r
+0:42          'texSampler3D' (uniform sampler3D)\r
+0:42          'coords4D' (4-component vector of float)\r
+0:43      add second child into first child (4-component vector of float)\r
+0:43        'color' (4-component vector of float)\r
+0:43        Function Call: texture3DProj(s31;vf4;f1; (4-component vector of float)\r
+0:43          'texSampler3D' (uniform sampler3D)\r
+0:43          'coords4D' (4-component vector of float)\r
+0:43          'bias' (float)\r
+0:45      add second child into first child (4-component vector of float)\r
+0:45        'color' (4-component vector of float)\r
+0:45        Function Call: textureCube(sC1;vf3; (4-component vector of float)\r
+0:45          'texSamplerCube' (uniform samplerCube)\r
+0:45          'coords3D' (3-component vector of float)\r
+0:46      add second child into first child (4-component vector of float)\r
+0:46        'color' (4-component vector of float)\r
+0:46        Function Call: textureCube(sC1;vf3;f1; (4-component vector of float)\r
+0:46          'texSamplerCube' (uniform samplerCube)\r
+0:46          'coords3D' (3-component vector of float)\r
+0:46          'bias' (float)\r
+0:48      add second child into first child (4-component vector of float)\r
+0:48        'color' (4-component vector of float)\r
+0:48        Function Call: shadow1D(sS11;vf3; (4-component vector of float)\r
+0:48          'shadowSampler1D' (uniform sampler1DShadow)\r
+0:48          'coords3D' (3-component vector of float)\r
+0:49      add second child into first child (4-component vector of float)\r
+0:49        'color' (4-component vector of float)\r
+0:49        Function Call: shadow1D(sS11;vf3;f1; (4-component vector of float)\r
+0:49          'shadowSampler1D' (uniform sampler1DShadow)\r
+0:49          'coords3D' (3-component vector of float)\r
+0:49          'bias' (float)\r
+0:50      add second child into first child (4-component vector of float)\r
+0:50        'color' (4-component vector of float)\r
+0:50        Function Call: shadow2D(sS21;vf3; (4-component vector of float)\r
+0:50          'shadowSampler2D' (uniform sampler2DShadow)\r
+0:50          'coords3D' (3-component vector of float)\r
+0:51      add second child into first child (4-component vector of float)\r
+0:51        'color' (4-component vector of float)\r
+0:51        Function Call: shadow2D(sS21;vf3;f1; (4-component vector of float)\r
+0:51          'shadowSampler2D' (uniform sampler2DShadow)\r
+0:51          'coords3D' (3-component vector of float)\r
+0:51          'bias' (float)\r
+0:52      add second child into first child (4-component vector of float)\r
+0:52        'color' (4-component vector of float)\r
+0:52        Function Call: shadow1DProj(sS11;vf4; (4-component vector of float)\r
+0:52          'shadowSampler1D' (uniform sampler1DShadow)\r
+0:52          'coords4D' (4-component vector of float)\r
+0:53      add second child into first child (4-component vector of float)\r
+0:53        'color' (4-component vector of float)\r
+0:53        Function Call: shadow1DProj(sS11;vf4;f1; (4-component vector of float)\r
+0:53          'shadowSampler1D' (uniform sampler1DShadow)\r
+0:53          'coords4D' (4-component vector of float)\r
+0:53          'bias' (float)\r
+0:54      add second child into first child (4-component vector of float)\r
+0:54        'color' (4-component vector of float)\r
+0:54        Function Call: shadow2DProj(sS21;vf4; (4-component vector of float)\r
+0:54          'shadowSampler2D' (uniform sampler2DShadow)\r
+0:54          'coords4D' (4-component vector of float)\r
+0:55      add second child into first child (4-component vector of float)\r
+0:55        'color' (4-component vector of float)\r
+0:55        Function Call: shadow2DProj(sS21;vf4;f1; (4-component vector of float)\r
+0:55          'shadowSampler2D' (uniform sampler2DShadow)\r
+0:55          'coords4D' (4-component vector of float)\r
+0:55          'bias' (float)\r
+0:57      Sequence\r
+0:57        move second child to first child (2-component vector of int)\r
+0:57          'iCoords2D' (2-component vector of int)\r
+0:57          Constant:\r
+0:57            0 (const int)\r
+0:57            5 (const int)\r
+0:58      Sequence\r
+0:58        move second child to first child (int)\r
+0:58          'iLod' (int)\r
+0:58          Constant:\r
+0:58            1 (const int)\r
+0:60      add second child into first child (4-component vector of float)\r
+0:60        'color' (4-component vector of float)\r
+0:60        Function Call: texelFetch(s21;vi2;i1; (4-component vector of float)\r
+0:60          'texSampler2D' (uniform sampler2D)\r
+0:60          'iCoords2D' (2-component vector of int)\r
+0:60          'iLod' (int)\r
+0:62      Sequence\r
+0:62        move second child to first child (2-component vector of float)\r
+0:62          'gradX' (2-component vector of float)\r
+0:62          dPdx (2-component vector of float)\r
+0:62            'coords2D' (smooth in 2-component vector of float)\r
+0:63      Sequence\r
+0:63        move second child to first child (2-component vector of float)\r
+0:63          'gradY' (2-component vector of float)\r
+0:63          dPdy (2-component vector of float)\r
+0:63            'coords2D' (smooth in 2-component vector of float)\r
+0:66      add second child into first child (4-component vector of float)\r
+0:66        'color' (4-component vector of float)\r
+0:66        Function Call: textureGrad(s21;vf2;vf2;vf2; (4-component vector of float)\r
+0:66          'texSampler2D' (uniform sampler2D)\r
+0:66          'coords2D' (smooth in 2-component vector of float)\r
+0:66          'gradX' (2-component vector of float)\r
+0:66          'gradY' (2-component vector of float)\r
+0:67      add second child into first child (4-component vector of float)\r
+0:67        'color' (4-component vector of float)\r
+0:67        Function Call: textureProjGrad(s21;vf3;vf2;vf2; (4-component vector of float)\r
+0:67          'texSampler2D' (uniform sampler2D)\r
+0:67          Construct vec3 (3-component vector of float)\r
+0:67            'coords2D' (smooth in 2-component vector of float)\r
+0:67            'proj' (float)\r
+0:67          'gradX' (2-component vector of float)\r
+0:67          'gradY' (2-component vector of float)\r
+0:68      add second child into first child (4-component vector of float)\r
+0:68        'color' (4-component vector of float)\r
+0:68        Function Call: textureGradOffset(s21;vf2;vf2;vf2;vi2; (4-component vector of float)\r
+0:68          'texSampler2D' (uniform sampler2D)\r
+0:68          'coords2D' (smooth in 2-component vector of float)\r
+0:68          'gradX' (2-component vector of float)\r
+0:68          'gradY' (2-component vector of float)\r
+0:68          Constant:\r
+0:68            3 (const int)\r
+0:68            -7 (const int)\r
+0:69      add second child into first child (4-component vector of float)\r
+0:69        'color' (4-component vector of float)\r
+0:69        Function Call: textureProjGradOffset(s21;vf3;vf2;vf2;vi2; (4-component vector of float)\r
+0:69          'texSampler2D' (uniform sampler2D)\r
+0:69          'coords3D' (3-component vector of float)\r
+0:69          'gradX' (2-component vector of float)\r
+0:69          'gradY' (2-component vector of float)\r
+0:69          Constant:\r
+0:69            3 (const int)\r
+0:69            -7 (const int)\r
+0:70      add second child into first child (4-component vector of float)\r
+0:70        'color' (4-component vector of float)\r
+0:70        Function Call: textureGrad(sS21;vf3;vf2;vf2; (float)\r
+0:70          'shadowSampler2D' (uniform sampler2DShadow)\r
+0:70          Construct vec3 (3-component vector of float)\r
+0:70            'coords2D' (smooth in 2-component vector of float)\r
+0:70            'lod' (float)\r
+0:70          'gradX' (2-component vector of float)\r
+0:70          'gradY' (2-component vector of float)\r
+0:72      move second child to first child (4-component vector of float)\r
+0:72        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:72        mix (4-component vector of float)\r
+0:72          'color' (4-component vector of float)\r
+0:72          'u' (uniform 4-component vector of float)\r
+0:72          component-wise multiply (float)\r
+0:72            'blend' (uniform float)\r
+0:72            'blendscale' (float)\r
+0:?   Linker Objects\r
+0:?     'texSampler1D' (uniform sampler1D)\r
+0:?     'texSampler2D' (uniform sampler2D)\r
+0:?     'texSampler3D' (uniform sampler3D)\r
+0:?     'texSamplerCube' (uniform samplerCube)\r
+0:?     'shadowSampler1D' (uniform sampler1DShadow)\r
+0:?     'shadowSampler2D' (uniform sampler2DShadow)\r
+0:?     'blend' (uniform float)\r
+0:?     'scale' (uniform 2-component vector of float)\r
+0:?     'u' (uniform 4-component vector of float)\r
+0:?     't' (smooth in 2-component vector of float)\r
+0:?     'coords2D' (smooth in 2-component vector of float)\r
 \r
index 973df47..8ad75c4 100644 (file)
@@ -113,4 +113,94 @@ Linked vertex stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:9  Sequence\r
+0:9    move second child to first child (highp int)\r
+0:9      'E1' (highp int)\r
+0:9      Constant:\r
+0:9        -1 (const int)\r
+0:10  Sequence\r
+0:10    move second child to first child (highp int)\r
+0:10      'E2' (highp int)\r
+0:10      Constant:\r
+0:10        -1 (const int)\r
+0:11  Sequence\r
+0:11    move second child to first child (highp int)\r
+0:11      'B' (highp int)\r
+0:11      Constant:\r
+0:11        -1 (const int)\r
+0:13  Sequence\r
+0:13    move second child to first child (highp int)\r
+0:13      'OE' (highp int)\r
+0:13      Constant:\r
+0:13        1073741823 (const int)\r
+0:14  Sequence\r
+0:14    move second child to first child (highp int)\r
+0:14      'HE' (highp int)\r
+0:14      Constant:\r
+0:14        -1 (const int)\r
+0:17  Sequence\r
+0:17    move second child to first child (highp float)\r
+0:17      'F' (highp float)\r
+0:17      Constant:\r
+0:17        1.012346\r
+0:20  Sequence\r
+0:20    move second child to first child (highp float)\r
+0:20      'G' (highp float)\r
+0:20      Constant:\r
+0:20        1.012346\r
+0:23  Sequence\r
+0:23    move second child to first child (highp float)\r
+0:23      'E3' (highp float)\r
+0:23      Constant:\r
+0:23        12.000000\r
+0:25  Function Definition: main( (void)\r
+0:25    Function Parameters: \r
+0:27    Sequence\r
+0:27      move second child to first child (highp 4-component vector of float)\r
+0:27        'gl_Position' (gl_Position highp 4-component vector of float)\r
+0:28        Construct vec4 (highp 4-component vector of float)\r
+0:27          'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)\r
+0:28          Convert int to float (highp float)\r
+0:28            'B' (highp int)\r
+0:28          'F' (highp float)\r
+0:28          'G' (highp float)\r
+0:33  Sequence\r
+0:33    move second child to first child (highp int)\r
+0:33      'superH' (highp int)\r
+0:33      Constant:\r
+0:33        -1 (const int)\r
+0:34  Sequence\r
+0:34    move second child to first child (highp int)\r
+0:34      'superO' (highp int)\r
+0:34      Constant:\r
+0:34        1073741823 (const int)\r
+0:35  Sequence\r
+0:35    move second child to first child (highp int)\r
+0:35      'superI' (highp int)\r
+0:35      Constant:\r
+0:35        -1 (const int)\r
+0:36  Sequence\r
+0:36    move second child to first child (highp float)\r
+0:36      'superF' (highp float)\r
+0:36      Constant:\r
+0:36        1.#INF00\r
+0:?   Linker Objects\r
+0:?     'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)\r
+0:?     'ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789' (in highp float)\r
+0:?     'E1' (highp int)\r
+0:?     'E2' (highp int)\r
+0:?     'B' (highp int)\r
+0:?     'OE' (highp int)\r
+0:?     'HE' (highp int)\r
+0:?     'F' (highp float)\r
+0:?     'G' (highp float)\r
+0:?     'E3' (highp float)\r
+0:?     'BCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789B' (highp float)\r
+0:?     'superH' (highp int)\r
+0:?     'superO' (highp int)\r
+0:?     'superI' (highp int)\r
+0:?     'superF' (highp float)\r
+0:?     'gl_VertexID' (gl_VertexId highp int)\r
+0:?     'gl_InstanceID' (gl_InstanceId highp int)\r
 \r
index 793d085..1ac0fd9 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/types.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 130\r
 0:? Sequence\r
@@ -342,4 +341,338 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:33  Function Definition: main( (void)\r
+0:33    Function Parameters: \r
+0:35    Sequence\r
+0:35      Sequence\r
+0:35        move second child to first child (bool)\r
+0:35          'b' (bool)\r
+0:35          logical-and (bool)\r
+0:35            'u_b' (uniform bool)\r
+0:35            'i_b' (uniform bool)\r
+0:36      Sequence\r
+0:36        move second child to first child (2-component vector of bool)\r
+0:36          'b2' (2-component vector of bool)\r
+0:36          Construct bvec2 (2-component vector of bool)\r
+0:36            logical-and (bool)\r
+0:36              logical-and (bool)\r
+0:36                logical-and (bool)\r
+0:36                  direct index (bool)\r
+0:36                    'u_b2' (uniform 2-component vector of bool)\r
+0:36                    Constant:\r
+0:36                      0 (const int)\r
+0:36                  direct index (bool)\r
+0:36                    'i_b2' (uniform 2-component vector of bool)\r
+0:36                    Constant:\r
+0:36                      0 (const int)\r
+0:36                direct index (bool)\r
+0:36                  'u_b2' (uniform 2-component vector of bool)\r
+0:36                  Constant:\r
+0:36                    1 (const int)\r
+0:36              direct index (bool)\r
+0:36                'i_b2' (uniform 2-component vector of bool)\r
+0:36                Constant:\r
+0:36                  1 (const int)\r
+0:37      Sequence\r
+0:37        move second child to first child (3-component vector of bool)\r
+0:37          'b3' (3-component vector of bool)\r
+0:37          Construct bvec3 (3-component vector of bool)\r
+0:37            logical-and (bool)\r
+0:37              logical-and (bool)\r
+0:37                logical-and (bool)\r
+0:37                  logical-and (bool)\r
+0:37                    logical-and (bool)\r
+0:37                      direct index (bool)\r
+0:37                        'u_b3' (uniform 3-component vector of bool)\r
+0:37                        Constant:\r
+0:37                          0 (const int)\r
+0:37                      direct index (bool)\r
+0:37                        'i_b3' (uniform 3-component vector of bool)\r
+0:37                        Constant:\r
+0:37                          0 (const int)\r
+0:37                    direct index (bool)\r
+0:37                      'u_b3' (uniform 3-component vector of bool)\r
+0:37                      Constant:\r
+0:37                        1 (const int)\r
+0:37                  direct index (bool)\r
+0:37                    'i_b3' (uniform 3-component vector of bool)\r
+0:37                    Constant:\r
+0:37                      1 (const int)\r
+0:37                direct index (bool)\r
+0:37                  'u_b3' (uniform 3-component vector of bool)\r
+0:37                  Constant:\r
+0:37                    2 (const int)\r
+0:37              direct index (bool)\r
+0:37                'i_b3' (uniform 3-component vector of bool)\r
+0:37                Constant:\r
+0:37                  2 (const int)\r
+0:38      Sequence\r
+0:38        move second child to first child (4-component vector of bool)\r
+0:38          'b4' (4-component vector of bool)\r
+0:38          Construct bvec4 (4-component vector of bool)\r
+0:38            logical-and (bool)\r
+0:38              logical-and (bool)\r
+0:38                logical-and (bool)\r
+0:38                  logical-and (bool)\r
+0:38                    logical-and (bool)\r
+0:38                      logical-and (bool)\r
+0:38                        logical-and (bool)\r
+0:38                          direct index (bool)\r
+0:38                            'u_b4' (uniform 4-component vector of bool)\r
+0:38                            Constant:\r
+0:38                              0 (const int)\r
+0:38                          direct index (bool)\r
+0:38                            'i_b4' (uniform 4-component vector of bool)\r
+0:38                            Constant:\r
+0:38                              0 (const int)\r
+0:38                        direct index (bool)\r
+0:38                          'u_b4' (uniform 4-component vector of bool)\r
+0:38                          Constant:\r
+0:38                            1 (const int)\r
+0:38                      direct index (bool)\r
+0:38                        'i_b4' (uniform 4-component vector of bool)\r
+0:38                        Constant:\r
+0:38                          1 (const int)\r
+0:38                    direct index (bool)\r
+0:38                      'u_b4' (uniform 4-component vector of bool)\r
+0:38                      Constant:\r
+0:38                        2 (const int)\r
+0:38                  direct index (bool)\r
+0:38                    'i_b4' (uniform 4-component vector of bool)\r
+0:38                    Constant:\r
+0:38                      2 (const int)\r
+0:38                direct index (bool)\r
+0:38                  'u_b4' (uniform 4-component vector of bool)\r
+0:38                  Constant:\r
+0:38                    3 (const int)\r
+0:38              direct index (bool)\r
+0:38                'i_b4' (uniform 4-component vector of bool)\r
+0:38                Constant:\r
+0:38                  3 (const int)\r
+0:40      Sequence\r
+0:40        move second child to first child (int)\r
+0:40          'i' (int)\r
+0:40          add (int)\r
+0:40            'u_i' (uniform int)\r
+0:40            'i_i' (flat in int)\r
+0:41      Sequence\r
+0:41        move second child to first child (2-component vector of int)\r
+0:41          'i2' (2-component vector of int)\r
+0:41          add (2-component vector of int)\r
+0:41            'u_i2' (uniform 2-component vector of int)\r
+0:41            'i_i2' (flat in 2-component vector of int)\r
+0:42      Sequence\r
+0:42        move second child to first child (3-component vector of int)\r
+0:42          'i3' (3-component vector of int)\r
+0:42          add (3-component vector of int)\r
+0:42            'u_i3' (uniform 3-component vector of int)\r
+0:42            'i_i3' (flat in 3-component vector of int)\r
+0:43      Sequence\r
+0:43        move second child to first child (4-component vector of int)\r
+0:43          'i4' (4-component vector of int)\r
+0:43          add (4-component vector of int)\r
+0:43            'u_i4' (uniform 4-component vector of int)\r
+0:43            'i_i4' (flat in 4-component vector of int)\r
+0:45      Sequence\r
+0:45        move second child to first child (float)\r
+0:45          'f' (float)\r
+0:45          add (float)\r
+0:45            'u_f' (uniform float)\r
+0:45            'i_f' (smooth in float)\r
+0:46      Sequence\r
+0:46        move second child to first child (2-component vector of float)\r
+0:46          'f2' (2-component vector of float)\r
+0:46          add (2-component vector of float)\r
+0:46            'u_f2' (uniform 2-component vector of float)\r
+0:46            'i_f2' (smooth in 2-component vector of float)\r
+0:47      Sequence\r
+0:47        move second child to first child (3-component vector of float)\r
+0:47          'f3' (3-component vector of float)\r
+0:47          add (3-component vector of float)\r
+0:47            'u_f3' (uniform 3-component vector of float)\r
+0:47            'i_f3' (smooth in 3-component vector of float)\r
+0:48      Sequence\r
+0:48        move second child to first child (4-component vector of float)\r
+0:48          'f4' (4-component vector of float)\r
+0:48          add (4-component vector of float)\r
+0:48            'u_f4' (uniform 4-component vector of float)\r
+0:48            'i_f4' (smooth in 4-component vector of float)\r
+0:50      move second child to first child (4-component vector of float)\r
+0:50        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:60        Test condition and select (4-component vector of float)\r
+0:60          Condition\r
+0:59          logical-or (bool)\r
+0:58            logical-or (bool)\r
+0:57              logical-or (bool)\r
+0:56                logical-or (bool)\r
+0:55                  logical-or (bool)\r
+0:54                    logical-or (bool)\r
+0:53                      logical-or (bool)\r
+0:52                        logical-or (bool)\r
+0:51                          logical-or (bool)\r
+0:51                            'b' (bool)\r
+0:52                            direct index (bool)\r
+0:52                              'b2' (2-component vector of bool)\r
+0:52                              Constant:\r
+0:52                                0 (const int)\r
+0:53                          direct index (bool)\r
+0:53                            'b2' (2-component vector of bool)\r
+0:53                            Constant:\r
+0:53                              1 (const int)\r
+0:54                        direct index (bool)\r
+0:54                          'b3' (3-component vector of bool)\r
+0:54                          Constant:\r
+0:54                            0 (const int)\r
+0:55                      direct index (bool)\r
+0:55                        'b3' (3-component vector of bool)\r
+0:55                        Constant:\r
+0:55                          1 (const int)\r
+0:56                    direct index (bool)\r
+0:56                      'b3' (3-component vector of bool)\r
+0:56                      Constant:\r
+0:56                        2 (const int)\r
+0:57                  direct index (bool)\r
+0:57                    'b4' (4-component vector of bool)\r
+0:57                    Constant:\r
+0:57                      0 (const int)\r
+0:58                direct index (bool)\r
+0:58                  'b4' (4-component vector of bool)\r
+0:58                  Constant:\r
+0:58                    1 (const int)\r
+0:59              direct index (bool)\r
+0:59                'b4' (4-component vector of bool)\r
+0:59                Constant:\r
+0:59                  2 (const int)\r
+0:60            direct index (bool)\r
+0:60              'b4' (4-component vector of bool)\r
+0:60              Constant:\r
+0:60                3 (const int)\r
+0:60          true case\r
+0:79          Construct vec4 (4-component vector of float)\r
+0:79            add (float)\r
+0:78              add (float)\r
+0:77                add (float)\r
+0:76                  add (float)\r
+0:75                    add (float)\r
+0:74                      add (float)\r
+0:73                        add (float)\r
+0:72                          add (float)\r
+0:71                            add (float)\r
+0:70                              add (float)\r
+0:69                                Convert int to float (float)\r
+0:69                                  add (int)\r
+0:68                                    add (int)\r
+0:67                                      add (int)\r
+0:66                                        add (int)\r
+0:65                                          add (int)\r
+0:64                                            add (int)\r
+0:63                                              add (int)\r
+0:62                                                add (int)\r
+0:61                                                  add (int)\r
+0:61                                                    'i' (int)\r
+0:62                                                    direct index (int)\r
+0:62                                                      'i2' (2-component vector of int)\r
+0:62                                                      Constant:\r
+0:62                                                        0 (const int)\r
+0:63                                                  direct index (int)\r
+0:63                                                    'i2' (2-component vector of int)\r
+0:63                                                    Constant:\r
+0:63                                                      1 (const int)\r
+0:64                                                direct index (int)\r
+0:64                                                  'i3' (3-component vector of int)\r
+0:64                                                  Constant:\r
+0:64                                                    0 (const int)\r
+0:65                                              direct index (int)\r
+0:65                                                'i3' (3-component vector of int)\r
+0:65                                                Constant:\r
+0:65                                                  1 (const int)\r
+0:66                                            direct index (int)\r
+0:66                                              'i3' (3-component vector of int)\r
+0:66                                              Constant:\r
+0:66                                                2 (const int)\r
+0:67                                          direct index (int)\r
+0:67                                            'i4' (4-component vector of int)\r
+0:67                                            Constant:\r
+0:67                                              0 (const int)\r
+0:68                                        direct index (int)\r
+0:68                                          'i4' (4-component vector of int)\r
+0:68                                          Constant:\r
+0:68                                            1 (const int)\r
+0:69                                      direct index (int)\r
+0:69                                        'i4' (4-component vector of int)\r
+0:69                                        Constant:\r
+0:69                                          2 (const int)\r
+0:70                                    direct index (int)\r
+0:70                                      'i4' (4-component vector of int)\r
+0:70                                      Constant:\r
+0:70                                        3 (const int)\r
+0:71                                'f' (float)\r
+0:72                              direct index (float)\r
+0:72                                'f2' (2-component vector of float)\r
+0:72                                Constant:\r
+0:72                                  0 (const int)\r
+0:73                            direct index (float)\r
+0:73                              'f2' (2-component vector of float)\r
+0:73                              Constant:\r
+0:73                                1 (const int)\r
+0:74                          direct index (float)\r
+0:74                            'f3' (3-component vector of float)\r
+0:74                            Constant:\r
+0:74                              0 (const int)\r
+0:75                        direct index (float)\r
+0:75                          'f3' (3-component vector of float)\r
+0:75                          Constant:\r
+0:75                            1 (const int)\r
+0:76                      direct index (float)\r
+0:76                        'f3' (3-component vector of float)\r
+0:76                        Constant:\r
+0:76                          2 (const int)\r
+0:77                    direct index (float)\r
+0:77                      'f4' (4-component vector of float)\r
+0:77                      Constant:\r
+0:77                        0 (const int)\r
+0:78                  direct index (float)\r
+0:78                    'f4' (4-component vector of float)\r
+0:78                    Constant:\r
+0:78                      1 (const int)\r
+0:79                direct index (float)\r
+0:79                  'f4' (4-component vector of float)\r
+0:79                  Constant:\r
+0:79                    2 (const int)\r
+0:80              direct index (float)\r
+0:80                'f4' (4-component vector of float)\r
+0:80                Constant:\r
+0:80                  3 (const int)\r
+0:60          false case\r
+0:80          Constant:\r
+0:80            1.000000\r
+0:80            1.000000\r
+0:80            1.000000\r
+0:80            1.000000\r
+0:?   Linker Objects\r
+0:?     'u_b' (uniform bool)\r
+0:?     'u_b2' (uniform 2-component vector of bool)\r
+0:?     'u_b3' (uniform 3-component vector of bool)\r
+0:?     'u_b4' (uniform 4-component vector of bool)\r
+0:?     'u_i' (uniform int)\r
+0:?     'u_i2' (uniform 2-component vector of int)\r
+0:?     'u_i3' (uniform 3-component vector of int)\r
+0:?     'u_i4' (uniform 4-component vector of int)\r
+0:?     'u_f' (uniform float)\r
+0:?     'u_f2' (uniform 2-component vector of float)\r
+0:?     'u_f3' (uniform 3-component vector of float)\r
+0:?     'u_f4' (uniform 4-component vector of float)\r
+0:?     'i_b' (uniform bool)\r
+0:?     'i_b2' (uniform 2-component vector of bool)\r
+0:?     'i_b3' (uniform 3-component vector of bool)\r
+0:?     'i_b4' (uniform 4-component vector of bool)\r
+0:?     'i_i' (flat in int)\r
+0:?     'i_i2' (flat in 2-component vector of int)\r
+0:?     'i_i3' (flat in 3-component vector of int)\r
+0:?     'i_i4' (flat in 4-component vector of int)\r
+0:?     'i_f' (smooth in float)\r
+0:?     'i_f2' (smooth in 2-component vector of float)\r
+0:?     'i_f3' (smooth in 3-component vector of float)\r
+0:?     'i_f4' (smooth in 4-component vector of float)\r
 \r
index de34477..292d391 100644 (file)
@@ -311,4 +311,297 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:15  Function Definition: main( (void)\r
+0:15    Function Parameters: \r
+0:17    Sequence\r
+0:17      Sequence\r
+0:17        move second child to first child (mediump int)\r
+0:17          'count' (mediump int)\r
+0:17          Constant:\r
+0:17            1 (const int)\r
+0:19      Sequence\r
+0:19        move second child to first child (mediump uint)\r
+0:19          'u' (mediump uint)\r
+0:19          add (mediump uint)\r
+0:19            direct index (mediump uint)\r
+0:19              't' (flat in mediump 2-component vector of uint)\r
+0:19              Constant:\r
+0:19                1 (const int)\r
+0:19            Constant:\r
+0:19              3 (const uint)\r
+0:27      Test condition and select (void)\r
+0:27        Condition\r
+0:27        Constant:\r
+0:27          true (const bool)\r
+0:27        true case\r
+0:28        multiply second child into first child (mediump int)\r
+0:28          'count' (mediump int)\r
+0:28          Constant:\r
+0:28            2 (const int)\r
+0:29      Test condition and select (void)\r
+0:29        Condition\r
+0:29        Constant:\r
+0:29          true (const bool)\r
+0:29        true case\r
+0:30        multiply second child into first child (mediump int)\r
+0:30          'count' (mediump int)\r
+0:30          Constant:\r
+0:30            3 (const int)\r
+0:31      Test condition and select (void)\r
+0:31        Condition\r
+0:31        Constant:\r
+0:31          false (const bool)\r
+0:31        true case\r
+0:32        multiply second child into first child (mediump int)\r
+0:32          'count' (mediump int)\r
+0:32          Constant:\r
+0:32            5 (const int)\r
+0:41      Test condition and select (void)\r
+0:41        Condition\r
+0:41        Constant:\r
+0:41          true (const bool)\r
+0:41        true case\r
+0:42        multiply second child into first child (mediump int)\r
+0:42          'count' (mediump int)\r
+0:42          Constant:\r
+0:42            7 (const int)\r
+0:43      Test condition and select (void)\r
+0:43        Condition\r
+0:43        Constant:\r
+0:43          true (const bool)\r
+0:43        true case\r
+0:44        multiply second child into first child (mediump int)\r
+0:44          'count' (mediump int)\r
+0:44          Constant:\r
+0:44            11 (const int)\r
+0:45      Test condition and select (void)\r
+0:45        Condition\r
+0:45        Constant:\r
+0:45          false (const bool)\r
+0:45        true case\r
+0:46        multiply second child into first child (mediump int)\r
+0:46          'count' (mediump int)\r
+0:46          Constant:\r
+0:46            13 (const int)\r
+0:49      Sequence\r
+0:49        move second child to first child (mediump int)\r
+0:49          'shiftedii' (mediump int)\r
+0:49          Constant:\r
+0:49            -1 (const int)\r
+0:50      Sequence\r
+0:50        move second child to first child (mediump uint)\r
+0:50          'shiftedui' (mediump uint)\r
+0:50          Constant:\r
+0:50            4194303 (const uint)\r
+0:52      Sequence\r
+0:52        move second child to first child (mediump int)\r
+0:52          'shiftediu' (mediump int)\r
+0:52          Constant:\r
+0:52            -1 (const int)\r
+0:53      Sequence\r
+0:53        move second child to first child (mediump uint)\r
+0:53          'shifteduu' (mediump uint)\r
+0:53          Constant:\r
+0:53            4194303 (const uint)\r
+0:55      Test condition and select (void)\r
+0:55        Condition\r
+0:55        Compare Equal (bool)\r
+0:55          'shiftedii' (mediump int)\r
+0:55          'shiftediu' (mediump int)\r
+0:55        true case\r
+0:56        move second child to first child (mediump 4-component vector of uint)\r
+0:56          'c' (out mediump 4-component vector of uint)\r
+0:56          Function Call: texture(us21;vf2; (mediump 4-component vector of uint)\r
+0:56            'usampler' (uniform lowp usampler2D)\r
+0:56            'tc' (smooth in highp 2-component vector of float)\r
+0:57      Test condition and select (void)\r
+0:57        Condition\r
+0:57        Compare Equal (bool)\r
+0:57          'shiftedui' (mediump uint)\r
+0:57          'shifteduu' (mediump uint)\r
+0:57        true case\r
+0:58        move second child to first child (mediump 4-component vector of uint)\r
+0:58          'c' (out mediump 4-component vector of uint)\r
+0:58          Function Call: texture(us21;vf2; (mediump 4-component vector of uint)\r
+0:58            'usampler' (uniform lowp usampler2D)\r
+0:58            add (highp 2-component vector of float)\r
+0:58              'tc' (smooth in highp 2-component vector of float)\r
+0:58              Constant:\r
+0:58                1.000000\r
+0:59      Test condition and select (void)\r
+0:59        Condition\r
+0:59        Compare Equal (bool)\r
+0:59          'shiftedii' (mediump int)\r
+0:59          Convert uint to int (int)\r
+0:59            'shiftedui' (mediump uint)\r
+0:59        true case\r
+0:60        move second child to first child (mediump 4-component vector of uint)\r
+0:60          'c' (out mediump 4-component vector of uint)\r
+0:60          Function Call: texture(us21;vf2; (mediump 4-component vector of uint)\r
+0:60            'usampler' (uniform lowp usampler2D)\r
+0:60            subtract (highp 2-component vector of float)\r
+0:60              'tc' (smooth in highp 2-component vector of float)\r
+0:60              Constant:\r
+0:60                2.000000\r
+0:60                2.000000\r
+0:62      Test condition and select (void)\r
+0:62        Condition\r
+0:62        Compare Greater Than (bool)\r
+0:62          direct index (mediump uint)\r
+0:62            't' (flat in mediump 2-component vector of uint)\r
+0:62            Constant:\r
+0:62              0 (const int)\r
+0:62          Constant:\r
+0:62            4 (const uint)\r
+0:62        true case\r
+0:63        Sequence\r
+0:63          Sequence\r
+0:63            move second child to first child (mediump float)\r
+0:63              'af' (mediump float)\r
+0:63              Convert uint to float (mediump float)\r
+0:63                'u' (mediump uint)\r
+0:64          Sequence\r
+0:64            move second child to first child (bool)\r
+0:64              'ab' (bool)\r
+0:64              Convert uint to bool (bool)\r
+0:64                'u' (mediump uint)\r
+0:65          Sequence\r
+0:65            move second child to first child (mediump int)\r
+0:65              'ai' (mediump int)\r
+0:65              Convert uint to int (mediump int)\r
+0:65                'u' (mediump uint)\r
+0:67          add second child into first child (mediump 4-component vector of uint)\r
+0:67            'c' (out mediump 4-component vector of uint)\r
+0:67            Construct uvec4 (mediump 4-component vector of uint)\r
+0:67              Convert float to uint (mediump uint)\r
+0:67                'af' (mediump float)\r
+0:67              Convert bool to uint (mediump uint)\r
+0:67                'ab' (bool)\r
+0:67              Convert int to uint (mediump uint)\r
+0:67                'ai' (mediump int)\r
+0:67              Convert int to uint (mediump uint)\r
+0:67                'count' (mediump int)\r
+0:75      Test condition and select (void)\r
+0:75        Condition\r
+0:75        Constant:\r
+0:75          true (const bool)\r
+0:75        true case\r
+0:76        multiply second child into first child (mediump int)\r
+0:76          'count' (mediump int)\r
+0:76          Constant:\r
+0:76            17 (const int)\r
+0:78      Test condition and select (void)\r
+0:78        Condition\r
+0:78        Constant:\r
+0:78          false (const bool)\r
+0:78        true case\r
+0:79        multiply second child into first child (mediump int)\r
+0:79          'count' (mediump int)\r
+0:79          Constant:\r
+0:79            19 (const int)\r
+0:81      Test condition and select (void)\r
+0:81        Condition\r
+0:81        Constant:\r
+0:81          true (const bool)\r
+0:81        true case\r
+0:82        multiply second child into first child (mediump int)\r
+0:82          'count' (mediump int)\r
+0:82          Constant:\r
+0:82            23 (const int)\r
+0:84      Test condition and select (void)\r
+0:84        Condition\r
+0:84        Constant:\r
+0:84          true (const bool)\r
+0:84        true case\r
+0:85        multiply second child into first child (mediump int)\r
+0:85          'count' (mediump int)\r
+0:85          Constant:\r
+0:85            27 (const int)\r
+0:87      Sequence\r
+0:87        move second child to first child (mediump uint)\r
+0:87          'mask1' (mediump uint)\r
+0:87          Constant:\r
+0:87            161 (const uint)\r
+0:88      Sequence\r
+0:88        move second child to first child (mediump uint)\r
+0:88          'mask2' (mediump uint)\r
+0:88          Constant:\r
+0:88            2576 (const uint)\r
+0:89      Sequence\r
+0:89        move second child to first child (mediump uint)\r
+0:89          'mask3' (mediump uint)\r
+0:89          left-shift (mediump uint)\r
+0:89            'mask1' (mediump uint)\r
+0:89            Constant:\r
+0:89              4 (const int)\r
+0:90      Sequence\r
+0:90        move second child to first child (mediump uint)\r
+0:90          'mask4' (mediump uint)\r
+0:90          Constant:\r
+0:90            2737 (const uint)\r
+0:92      Test condition and select (void)\r
+0:92        Condition\r
+0:92        Compare Equal (bool)\r
+0:92          'mask3' (mediump uint)\r
+0:92          'mask2' (mediump uint)\r
+0:92        true case\r
+0:93        multiply second child into first child (mediump int)\r
+0:93          'count' (mediump int)\r
+0:93          Constant:\r
+0:93            100 (const int)\r
+0:95      Test condition and select (void)\r
+0:95        Condition\r
+0:95        Compare Not Equal (bool)\r
+0:95          bitwise and (mediump uint)\r
+0:95            'mask3' (mediump uint)\r
+0:95            'mask1' (mediump uint)\r
+0:95          Constant:\r
+0:95            0 (const uint)\r
+0:95        true case\r
+0:96        multiply second child into first child (mediump int)\r
+0:96          'count' (mediump int)\r
+0:96          Constant:\r
+0:96            101 (const int)\r
+0:98      Test condition and select (void)\r
+0:98        Condition\r
+0:98        Compare Equal (bool)\r
+0:98          inclusive-or (mediump uint)\r
+0:98            'mask1' (mediump uint)\r
+0:98            'mask3' (mediump uint)\r
+0:98          'mask4' (mediump uint)\r
+0:98        true case\r
+0:99        multiply second child into first child (mediump int)\r
+0:99          'count' (mediump int)\r
+0:99          Constant:\r
+0:99            102 (const int)\r
+0:101      Test condition and select (void)\r
+0:101        Condition\r
+0:101        Compare Equal (bool)\r
+0:101          exclusive-or (mediump uint)\r
+0:101            'mask1' (mediump uint)\r
+0:101            'mask4' (mediump uint)\r
+0:101          Constant:\r
+0:101            2576 (const uint)\r
+0:101        true case\r
+0:102        multiply second child into first child (mediump int)\r
+0:102          'count' (mediump int)\r
+0:102          Constant:\r
+0:102            103 (const int)\r
+0:104      add second child into first child (mediump 4-component vector of uint)\r
+0:104        'c' (out mediump 4-component vector of uint)\r
+0:104        Construct uvec4 (mediump 4-component vector of uint)\r
+0:104          Convert int to uint (mediump uint)\r
+0:104            'count' (mediump int)\r
+0:?   Linker Objects\r
+0:?     'badu' (smooth in mediump 2-component vector of uint)\r
+0:?     't' (flat in mediump 2-component vector of uint)\r
+0:?     'f' (smooth in highp float)\r
+0:?     'tc' (smooth in highp 2-component vector of float)\r
+0:?     'bad' (smooth in bool)\r
+0:?     'v' (uniform mediump 4-component vector of uint)\r
+0:?     'i' (uniform mediump int)\r
+0:?     'b' (uniform bool)\r
+0:?     'c' (out mediump 4-component vector of uint)\r
+0:?     'usampler' (uniform lowp usampler2D)\r
 \r
index 2d2cce1..f886e06 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/uniformArray.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 \r
 Shader version: 130\r
 0:? Sequence\r
@@ -52,4 +51,48 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      Sequence\r
+0:9        move second child to first child (4-component vector of float)\r
+0:9          'texColor' (4-component vector of float)\r
+0:9          add (4-component vector of float)\r
+0:9            direct index (4-component vector of float)\r
+0:9              'color' (uniform 6-element array of 4-component vector of float)\r
+0:9              Constant:\r
+0:9                1 (const int)\r
+0:9            direct index (4-component vector of float)\r
+0:9              'color' (uniform 6-element array of 4-component vector of float)\r
+0:9              Constant:\r
+0:9                1 (const int)\r
+0:11      add second child into first child (3-component vector of float)\r
+0:11        vector swizzle (3-component vector of float)\r
+0:11          'texColor' (4-component vector of float)\r
+0:11          Sequence\r
+0:11            Constant:\r
+0:11              0 (const int)\r
+0:11            Constant:\r
+0:11              1 (const int)\r
+0:11            Constant:\r
+0:11              2 (const int)\r
+0:11        'inColor' (uniform 3-component vector of float)\r
+0:13      add second child into first child (float)\r
+0:13        direct index (float)\r
+0:13          'texColor' (4-component vector of float)\r
+0:13          Constant:\r
+0:13            3 (const int)\r
+0:13        direct index (float)\r
+0:13          'alpha' (uniform 16-element array of float)\r
+0:13          Constant:\r
+0:13            12 (const int)\r
+0:15      move second child to first child (4-component vector of float)\r
+0:15        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:15        'texColor' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'texSampler2D' (uniform sampler2D)\r
+0:?     'inColor' (uniform 3-component vector of float)\r
+0:?     'color' (uniform 6-element array of 4-component vector of float)\r
+0:?     'alpha' (uniform 16-element array of float)\r
 \r
index eae4a6a..0f09216 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/variableArrayIndex.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 \r
 Shader version: 130\r
@@ -116,4 +115,111 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:29  Function Definition: main( (void)\r
+0:29    Function Parameters: \r
+0:?     Sequence\r
+0:32      Sequence\r
+0:32        move second child to first child (int)\r
+0:32          'iLocal' (int)\r
+0:32          'Count' (uniform int)\r
+0:34      Test condition and select (void)\r
+0:34        Condition\r
+0:34        Compare Greater Than (bool)\r
+0:34          i: direct index for structure (int)\r
+0:34            direct index (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:34              s2_1: direct index for structure (3-element array of structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
+0:34                Constant:\r
+0:34                  0 (const int)\r
+0:34              Constant:\r
+0:34                1 (const int)\r
+0:34            Constant:\r
+0:34              0 (const int)\r
+0:34          Constant:\r
+0:34            0 (const int)\r
+0:34        true case\r
+0:35        move second child to first child (float)\r
+0:35          'scale' (float)\r
+0:35          f: direct index for structure (float)\r
+0:35            s1_1: direct index for structure (structure{int i, float f})\r
+0:35              indirect index (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:35                'foo2' (uniform 5-element array of structure{int i, float f, structure{int i, float f} s1_1})\r
+0:35                add (int)\r
+0:35                  add (int)\r
+0:35                    i: direct index for structure (int)\r
+0:35                      indirect index (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:35                        s2_1: direct index for structure (3-element array of structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
+0:35                          Constant:\r
+0:35                            0 (const int)\r
+0:35                        i: direct index for structure (int)\r
+0:35                          'foo' (uniform structure{int i, float f})\r
+0:35                          Constant:\r
+0:35                            0 (const int)\r
+0:35                      Constant:\r
+0:35                        0 (const int)\r
+0:35                    Constant:\r
+0:35                      2 (const int)\r
+0:35                  Pre-Increment (int)\r
+0:35                    'iLocal' (int)\r
+0:35              Constant:\r
+0:35                2 (const int)\r
+0:35            Constant:\r
+0:35              1 (const int)\r
+0:34        false case\r
+0:37        move second child to first child (float)\r
+0:37          'scale' (float)\r
+0:37          f: direct index for structure (float)\r
+0:37            s1_1: direct index for structure (structure{int i, float f})\r
+0:37              direct index (structure{int i, float f, structure{int i, float f} s1_1})\r
+0:37                s2_1: direct index for structure (3-element array of structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
+0:37                  Constant:\r
+0:37                    0 (const int)\r
+0:37                Constant:\r
+0:37                  0 (const int)\r
+0:37              Constant:\r
+0:37                2 (const int)\r
+0:37            Constant:\r
+0:37              1 (const int)\r
+0:43      move second child to first child (4-component vector of float)\r
+0:43        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:43        vector-scale (4-component vector of float)\r
+0:43          'scale' (float)\r
+0:43          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:43            'sampler' (uniform sampler2D)\r
+0:43            'coord' (smooth in 2-component vector of float)\r
+0:45      Sequence\r
+0:45        move second child to first child (3-element array of 2-component vector of float)\r
+0:45          'constructed' (3-element array of 2-component vector of float)\r
+0:45          Construct vec2 (3-element array of 2-component vector of float)\r
+0:45            'coord' (smooth in 2-component vector of float)\r
+0:45            Construct vec2 (2-component vector of float)\r
+0:45              'scale' (float)\r
+0:45            Constant:\r
+0:45              1.000000\r
+0:45              2.000000\r
+0:46      add second child into first child (4-component vector of float)\r
+0:46        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:46        Construct vec4 (4-component vector of float)\r
+0:46          indirect index (2-component vector of float)\r
+0:46            'constructed' (3-element array of 2-component vector of float)\r
+0:46            i: direct index for structure (int)\r
+0:46              'foo' (uniform structure{int i, float f})\r
+0:46              Constant:\r
+0:46                0 (const int)\r
+0:46          indirect index (2-component vector of float)\r
+0:46            'constructed' (3-element array of 2-component vector of float)\r
+0:46            i: direct index for structure (int)\r
+0:46              'foo' (uniform structure{int i, float f})\r
+0:46              Constant:\r
+0:46                0 (const int)\r
+0:?   Linker Objects\r
+0:?     'sampler' (uniform sampler2D)\r
+0:?     'coord' (smooth in 2-component vector of float)\r
+0:?     'foo' (uniform structure{int i, float f})\r
+0:?     'foo2' (uniform 5-element array of structure{int i, float f, structure{int i, float f} s1_1})\r
+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})\r
+0:?     'Count' (uniform int)\r
 \r
index f6b1089..e4dc52a 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/varyingArray.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
@@ -65,4 +64,57 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:10  Function Definition: main( (void)\r
+0:10    Function Parameters: \r
+0:12    Sequence\r
+0:12      Sequence\r
+0:12        move second child to first child (4-component vector of float)\r
+0:12          'texColor' (4-component vector of float)\r
+0:12          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:12            'texSampler2D' (uniform sampler2D)\r
+0:12            Construct vec2 (2-component vector of float)\r
+0:12              add (4-component vector of float)\r
+0:12                direct index (smooth 4-component vector of float)\r
+0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:12                  Constant:\r
+0:12                    4 (const int)\r
+0:12                direct index (smooth 4-component vector of float)\r
+0:12                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:12                  Constant:\r
+0:12                    5 (const int)\r
+0:14      add second child into first child (4-component vector of float)\r
+0:14        'texColor' (4-component vector of float)\r
+0:14        'color' (smooth in 4-component vector of float)\r
+0:16      move second child to first child (float)\r
+0:16        direct index (float)\r
+0:16          'texColor' (4-component vector of float)\r
+0:16          Constant:\r
+0:16            3 (const int)\r
+0:16        'alpha' (smooth in float)\r
+0:18      move second child to first child (4-component vector of float)\r
+0:18        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:18        add (4-component vector of float)\r
+0:18          add (4-component vector of float)\r
+0:18            add (4-component vector of float)\r
+0:18              direct index (smooth 4-component vector of float)\r
+0:18                'foo' (smooth in 3-element array of 4-component vector of float)\r
+0:18                Constant:\r
+0:18                  1 (const int)\r
+0:18              direct index (smooth 4-component vector of float)\r
+0:18                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:18                Constant:\r
+0:18                  0 (const int)\r
+0:18            direct index (smooth 4-component vector of float)\r
+0:18              'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:18              Constant:\r
+0:18                4 (const int)\r
+0:18          'texColor' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'texSampler2D' (uniform sampler2D)\r
+0:?     'color' (smooth in 4-component vector of float)\r
+0:?     'alpha' (smooth in float)\r
+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:?     'foo' (smooth in 3-element array of 4-component vector of float)\r
 \r
index 6f97318..4c80527 100644 (file)
@@ -1,5 +1,4 @@
 ../../LunarGLASS/test/varyingArrayIndirect.frag\r
-Warning, version 130 is not yet complete; most features are present, but a few are missing.\r
 WARNING: 0:3: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:4: varying deprecated in version 130; may be removed in future release\r
 WARNING: 0:6: varying deprecated in version 130; may be removed in future release\r
@@ -68,4 +67,60 @@ Linked fragment stage:
 \r
 \r
 Shader version: 130\r
+0:? Sequence\r
+0:12  Function Definition: main( (void)\r
+0:12    Function Parameters: \r
+0:14    Sequence\r
+0:14      Sequence\r
+0:14        move second child to first child (4-component vector of float)\r
+0:14          'texColor' (4-component vector of float)\r
+0:14          Function Call: texture2D(s21;vf2; (4-component vector of float)\r
+0:14            'texSampler2D' (uniform sampler2D)\r
+0:14            Construct vec2 (2-component vector of float)\r
+0:14              add (4-component vector of float)\r
+0:14                add (4-component vector of float)\r
+0:14                  indirect index (smooth 4-component vector of float)\r
+0:14                    'userIn' (smooth in 2-element array of 4-component vector of float)\r
+0:14                    'b' (uniform int)\r
+0:14                  indirect index (smooth 4-component vector of float)\r
+0:14                    'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:14                    'a' (uniform int)\r
+0:14                direct index (smooth 4-component vector of float)\r
+0:14                  'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:14                  Constant:\r
+0:14                    5 (const int)\r
+0:16      add second child into first child (4-component vector of float)\r
+0:16        'texColor' (4-component vector of float)\r
+0:16        'color' (smooth in 4-component vector of float)\r
+0:18      move second child to first child (float)\r
+0:18        direct index (float)\r
+0:18          'texColor' (4-component vector of float)\r
+0:18          Constant:\r
+0:18            3 (const int)\r
+0:18        'alpha' (smooth in float)\r
+0:20      move second child to first child (4-component vector of float)\r
+0:20        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:20        add (4-component vector of float)\r
+0:20          add (4-component vector of float)\r
+0:20            add (4-component vector of float)\r
+0:20              direct index (smooth 4-component vector of float)\r
+0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:20                Constant:\r
+0:20                  0 (const int)\r
+0:20              indirect index (smooth 4-component vector of float)\r
+0:20                'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:20                'b' (uniform int)\r
+0:20            'texColor' (4-component vector of float)\r
+0:20          indirect index (smooth 4-component vector of float)\r
+0:20            'userIn' (smooth in 2-element array of 4-component vector of float)\r
+0:20            'a' (uniform int)\r
+0:?   Linker Objects\r
+0:?     'texSampler2D' (uniform sampler2D)\r
+0:?     'color' (smooth in 4-component vector of float)\r
+0:?     'alpha' (smooth in float)\r
+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:?     'gl_TexCoord' (smooth in 6-element array of 4-component vector of float)\r
+0:?     'userIn' (smooth in 2-element array of 4-component vector of float)\r
+0:?     'a' (uniform int)\r
+0:?     'b' (uniform int)\r
 \r
index d66a9f9..2c9a46e 100644 (file)
@@ -26,4 +26,19 @@ Linked fragment stage:
 \r
 \r
 Shader version: 300\r
+ERROR: node is still EOpNull!\r
+0:41  Function Definition: main( (void)\r
+0:41    Function Parameters: \r
+0:43    Sequence\r
+0:43      move second child to first child (highp 4-component vector of float)\r
+0:43        'foo' (out highp 4-component vector of float)\r
+0:43        Construct vec4 (highp 4-component vector of float)\r
+0:43          'color' (smooth in highp 3-component vector of float)\r
+0:43          Constant:\r
+0:43            142.000000\r
+0:44      Branch: Kill\r
+0:?   Linker Objects\r
+0:?     'color' (smooth in highp 3-component vector of float)\r
+0:?     'foo' (out highp 4-component vector of float)\r
+0:?     'bar' (uniform highp sampler2DArrayShadow)\r
 \r
index f190dfa..e19e42a 100644 (file)
@@ -1,5 +1,5 @@
 versionsClean.vert\r
-Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.\r
 \r
 Shader version: 420\r
 0:? Sequence\r
@@ -8,7 +8,7 @@ Shader version: 420
 0:42    Sequence\r
 0:42      move second child to first child (4-component vector of float)\r
 0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:42          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:42          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:42          Constant:\r
 0:42            0 (const uint)\r
 0:42        Construct vec4 (4-component vector of float)\r
@@ -26,4 +26,22 @@ Linked vertex stage:
 \r
 \r
 Shader version: 420\r
+0:? Sequence\r
+0:40  Function Definition: main( (void)\r
+0:40    Function Parameters: \r
+0:42    Sequence\r
+0:42      move second child to first child (4-component vector of float)\r
+0:42        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
+0:42          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 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})\r
+0:42          Constant:\r
+0:42            0 (const uint)\r
+0:42        Construct vec4 (4-component vector of float)\r
+0:42          'color' (in 3-component vector of float)\r
+0:42          Constant:\r
+0:42            142.000000\r
+0:?   Linker Objects\r
+0:?     'color' (in 3-component vector of float)\r
+0:?     'foo' (uniform sampler2DRect)\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 0547d24..e99b491 100644 (file)
@@ -27,4 +27,18 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+ERROR: node is still EOpNull!\r
+0:42  Function Definition: main( (void)\r
+0:42    Function Parameters: \r
+0:44    Sequence\r
+0:44      move second child to first child (4-component vector of float)\r
+0:44        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:44        Construct vec4 (4-component vector of float)\r
+0:44          'color' (smooth in 3-component vector of float)\r
+0:44          Constant:\r
+0:44            142.000000\r
+0:45      Branch: Kill\r
+0:?   Linker Objects\r
+0:?     'color' (smooth in 3-component vector of float)\r
+0:?     'foo' (uniform sampler2DRect)\r
 \r
index bc30725..05ff22c 100644 (file)
@@ -1,5 +1,5 @@
 versionsErrors.vert\r
-Warning, version 420 is not yet complete; some version-specific features are present, but many are missing.\r
+Warning, version 420 is not yet complete; most version-specific features are present, but some are missing.\r
 WARNING: 0:38: attribute deprecated in version 130; may be removed in future release\r
 ERROR: 0:38: 'attribute' : no longer supported in core profile; removed in version 420\r
 ERROR: 0:45: 'discard' : not supported in this stage: vertex\r
@@ -14,7 +14,7 @@ ERROR: node is still EOpNull!
 0:44    Sequence\r
 0:44      move second child to first child (4-component vector of float)\r
 0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
-0:44          '__anon__1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
+0:44          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out implicitly-sized array of float gl_ClipDistance, gl_ClipVertex 4-component vector of float gl_ClipVertex, out 4-component vector of float gl_FrontColor, out 4-component vector of float gl_BackColor, out 4-component vector of float gl_FrontSecondaryColor, out 4-component vector of float gl_BackSecondaryColor, out implicitly-sized array of 4-component vector of float gl_TexCoord, out float gl_FogFragCoord})\r
 0:44          Constant:\r
 0:44            0 (const uint)\r
 0:44        Construct vec4 (4-component vector of float)\r
@@ -34,4 +34,23 @@ Linked vertex stage:
 \r
 Shader version: 420\r
 Requested GL_ARB_texture_rectangle\r
+ERROR: node is still EOpNull!\r
+0:42  Function Definition: main( (void)\r
+0:42    Function Parameters: \r
+0:44    Sequence\r
+0:44      move second child to first child (4-component vector of float)\r
+0:44        gl_Position: direct index for structure (gl_Position 4-component vector of float)\r
+0:44          'anon@1' (out block{gl_Position 4-component vector of float gl_Position, gl_PointSize float gl_PointSize, out 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})\r
+0:44          Constant:\r
+0:44            0 (const uint)\r
+0:44        Construct vec4 (4-component vector of float)\r
+0:44          'color' (in 3-component vector of float)\r
+0:44          Constant:\r
+0:44            142.000000\r
+0:45      Branch: Kill\r
+0:?   Linker Objects\r
+0:?     'color' (in 3-component vector of float)\r
+0:?     'foo' (uniform sampler2DRect)\r
+0:?     'gl_VertexID' (gl_VertexId int)\r
+0:?     'gl_InstanceID' (gl_InstanceId int)\r
 \r
index 8e071fc..1b6ee3b 100644 (file)
@@ -48,4 +48,45 @@ Linked fragment stage:
 \r
 \r
 Shader version: 120\r
+0:? Sequence\r
+0:7  Sequence\r
+0:7    move second child to first child (float)\r
+0:7      'bar' (float)\r
+0:7      Constant:\r
+0:7        2.000000\r
+0:9  Function Definition: foo( (void)\r
+0:9    Function Parameters: \r
+0:11    Sequence\r
+0:11      Post-Increment (float)\r
+0:11        'bar' (float)\r
+0:13      Branch: Return\r
+0:16  Function Definition: foo2( (void)\r
+0:16    Function Parameters: \r
+0:18    Sequence\r
+0:18      Post-Increment (float)\r
+0:18        'bar' (float)\r
+0:21  Function Definition: main( (void)\r
+0:21    Function Parameters: \r
+0:23    Sequence\r
+0:23      Sequence\r
+0:23        move second child to first child (4-component vector of float)\r
+0:23          'outColor' (4-component vector of float)\r
+0:23          'bigColor' (uniform 4-component vector of float)\r
+0:25      Function Call: foo( (void)\r
+0:27      Function Call: foo2( (void)\r
+0:29      add second child into first child (float)\r
+0:29        direct index (float)\r
+0:29          'outColor' (4-component vector of float)\r
+0:29          Constant:\r
+0:29            0 (const int)\r
+0:29        'bar' (float)\r
+0:31      move second child to first child (4-component vector of float)\r
+0:31        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:31        'outColor' (4-component vector of float)\r
+0:33      Branch: Return\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
+0:?     'bar' (float)\r
 \r
index 9539e2c..4ececaf 100644 (file)
@@ -35,4 +35,32 @@ Linked fragment stage:
 \r
 \r
 Shader version: 110\r
+0:? Sequence\r
+0:7  Function Definition: main( (void)\r
+0:7    Function Parameters: \r
+0:9    Sequence\r
+0:9      Sequence\r
+0:9        move second child to first child (4-component vector of float)\r
+0:9          'color' (4-component vector of float)\r
+0:9          'BaseColor' (smooth in 4-component vector of float)\r
+0:11      Loop with condition tested first\r
+0:11        Loop Condition\r
+0:11        Compare Less Than (bool)\r
+0:11          direct index (float)\r
+0:11            'color' (4-component vector of float)\r
+0:11            Constant:\r
+0:11              0 (const int)\r
+0:11          'd' (uniform float)\r
+0:11        Loop Body\r
+0:12        Sequence\r
+0:12          add second child into first child (4-component vector of float)\r
+0:12            'color' (4-component vector of float)\r
+0:12            'bigColor' (uniform 4-component vector of float)\r
+0:15      move second child to first child (4-component vector of float)\r
+0:15        'gl_FragColor' (fragColor 4-component vector of float)\r
+0:15        'color' (4-component vector of float)\r
+0:?   Linker Objects\r
+0:?     'bigColor' (uniform 4-component vector of float)\r
+0:?     'BaseColor' (smooth in 4-component vector of float)\r
+0:?     'd' (uniform float)\r
 \r
index a93444c..73b15a7 100755 (executable)
@@ -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
index 6e686f3..1a203fa 100644 (file)
@@ -10,7 +10,9 @@ versionsErrors.vert
 100.frag
 120.vert
 120.frag
+130.vert
 130.frag
+140.vert
 140.frag
 150.vert
 150.geom
index 49fe4c9..68ab159 100644 (file)
--- 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.
index fc200a6..e307b75 100644 (file)
@@ -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;
     }
 
index 754ca0b..2bbf44c 100644 (file)
@@ -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.
 //
index 1c14dd0..4823b57 100644 (file)
@@ -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);
index eedb478..879031f 100644 (file)
@@ -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;
index ad555fc..56cbbe7 100644 (file)
@@ -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:
index ae00abb..022fc33 100644 (file)
@@ -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 29
+#define CPP_FIRST_USER_TOKEN_SY 292
 
 #endif /* not PARSER_H */